Skip to content
August 11, 2015 / CoffeeCoder

Revisiting an old project…

I'm baaaack!

I’m baaaack!

So, a little background information first. I have installed Linux Mint on my system and it is now my main OS. Of course I still have Windows, but I am using it less and less and less. Naturally, this means that I can’t use engines like GameMaker, since there is no Linux version available. Thankfully, there exists a wonderful engine, called Stencyl, which just so happens to have a Linux client!
The best part about Stencyl is that it’s like GameMaker, but 10x better. I don’t have to program in a ridiculously limited language like GML; Stencyl has a visual scripting system much like Unreal’s blueprint system, but it is much more user-friendly and you can see the code it generates in the background. You can also, of course, code in a language called Haxe, which is pretty just Java with a different name.

Alright, so now that I’ve said that, what’s this old project?

Back in 2013 I had purchased GameMaker Studio, so that  I could learn a thing or two more about making 2D games. 2013 saw a huge demand for “retro” games that were 2D and making a huge comeback. I decided that since I wasn’t very good at programming, I would do it with the help of GameMaker. I got pretty far, and had created most of the game’s mechanics before I decided to drop the project since it wasn’t gaining interest on the GameMaker forums. I was also having one hell of a time trying to get one-way platforms to work!

But it was the first game that I had actually almost saw to completion. It was the first game I was able to make decent media for, I still wish I had those tilesets but I will have to redraw them, which is fine since I want to go for an SNES-era look.

I still remember the ideas that I had for the story, which is amazing seeing as I never wrote them down anywhere.

The game will consist, as it was originally, of just simple run-n’-jump goodness. Smash enemies. Get points. Collect coins. Rinse and repeat!

I think it’s the perfect way to whet my appetite with Stencyl, too.

August 8, 2015 / CoffeeCoder

10 Things that annoy me about Windows 10

After spending a few days with Windows 10, I have found several things that are pretty fantastic.  I have also discovered a few things that aren’t.

This list will feature the 10 things that annoy me the most about Windows 10, and should definitely annoy you too!

10 – Flat Interface
I know, it’s incredibly nitpicky. But I’m not much a fan of the flat colors in the flat interface. The design itself is alright, but having white windows all around like this?

White window borders? How plain and awful!

White window borders? How plain and awful!

Seriously, just… why? Why not keep the old color schemes and let users pick colors for windows and window borders? Really reminds me of Mac OS X, where you get what you get, and that’s that. The difference, though, is that Apple knows how to make a decent interface that you don’t want to change.

Thankfully, there are workarounds.

9 – Microsoft Can’t Count – Where’s Windows 9?
The confirmed theory as to why Microsoft skip-counted is because of a lot of programs having irreversible legacy code, which checks for the version of Windows you’re running. If – for some awful reason – you’re still running Windows 98, it would check like this:
if (version == “windows 9”)

Since Windows 95 and 98 were so similar, code for one would run on the other just fine, hence why they just have to enclose “windows 9” in the string. While this DOES make sense, it was still confusing for people who honestly thought they missed a Windows version somehow, and that’s fairly annoying.

*sigh* No, Bill, that's not how you count to ten...

*sigh* No, Bill, that’s not how you count to ten…

Not only is it annoying because of that, but it just shows more and more that Microsoft doesn’t think ahead. I mean, thinking ahead may have prevented a ton of disasters. Disasters like Windows 8, for example!

Speaking of Windows 8…

8 – Windows 8’s Presence is Still Felt
Live tiles. Flat interface. Ridiculously huge buttons on window borders. Ribbon interfaces that are awful. I still see remnants of Windows 8, and it’s bringing back some awful memories!

This was total BS, and Microsoft knew it!

This was total BS, and Microsoft knew it!

Sure, they brought back the Start Menu, albeit full of live tiles, and they got rid of that awful charms menu, but the damage is done. Windows 8 is still fresh in the mind, and it’s sad that this is the case because Windows 10 could be a great operating system with a great design, if they didn’t have such an obsession with this “flat interface” bullcrap that’s really taken storm in the last four or so years. IT’S NOT THE 1990s ANYMORE YOU GUYS.

But then again I also really hated the appearance of Aero, so I guess I just don’t like Microsoft’s graphic design team. Sorry, guys.

7 – “Runs faster than Windows7!” – So they Claim
The major reason I was excited for Windows 10 was because of it being based on Windows 8’s kernel, which saw VAST improvements in startup time and running in general. I remember when I upgraded to Windows 8, it took literally only 14.3 seconds to boot up from a completely black screen.

So, naturally I assumed it would be just as fast – if not faster – than Windows 8. But, alas, it was not meant to be, as each time I have turned it on, it takes longer to load than Windows 7 ever did. I have a feeling this is thanks to some terrible gremlins living inside of the live tiles themselves, eating up my computer’s resources like the Ravenous Bugblatter Beast of Traal.

They aren't quite as cute as this guy, but I hear they're pretty close.

They aren’t quite as cute as this guy, but I hear they’re pretty close.

Needless to say, it’s very annoying to have upgraded to an operating system that claims to be faster than its predecessor (by two versions), only to have it be slower than what you were previously running. It could just be my hardware. It could be that it just doesn’t like me. Or it could have something to do with quantum mechanics, and observing the particles in my LED monitor. Because they know I want my computer to boot fast, it changes their outcome, and thus it boots slowly. Those cheeky quantum bastards…

6 – Lack of DirectX  9 Support (maybe)
TAKE THIS ONE WITH A GRAIN OF SALT – This appears to have been an error, as the people who were telling me of the compatibility issues didn’t tell me they were running a Tech Preview and the compatibility issues may have been fixed. DX 11 supports DX9 calls, and since Windows 10 still supports DX11, DX9 games should still run ok.

I’m hearing it through the grapevine that a lot of games that use DirectX 9 calls will not function properly under Windows 10. While I know that DirectX 9 is old, and we can’t expect Microsoft to support deprecated APIs forever, you would think that since so many recent games still support 9.0c that they would keep support for it around a little bit longer.

Nothing will ever beat the graphical capabilities of these tables!

Nothing will ever beat the graphical capabilities of these tablets!

5 – Super. Slow. File Transfer Speeds
So, I have two hard drives in my system. One for the OS/games, the other for video footage and other media.

Before I upgraded to Windows 10, just to be safe I copied over my most important files to that other hard drive. It took all of maybe four minutes to do so.

Unfortunately, copying it back to the original drive after the upgrade took almost an entire half hour!

It was slower than a snail travelling through solid molasses. That's slow

It was slower than a snail travelling through solid molasses. That’s slow

Just to make sure I wasn’t crazy, I tried it with some other files. Not only was it super slow, but it completely prevented me from being able to use any other applications because it was eating up all of my resources. VERY ANNOYING!

4 – Telemetry Mode
Now this is something that is quite controversial. Windows 10 has a utility built in which automatically collects data about the apps you use, how you use them, how they perform on Windows 10, and any other “relevant” data, and sends it back to Microsoft. You also can’t disable this mode unless you download apps which can block it, which thankfully exist.

Pay no attention to our paying attention to you!

Pay no attention to our paying attention to you!

It’s something you can truly disable if you buy the Enterprise version of Windows 10, which doesn’t make any sense at all. You ought to be able to opt-out of this mode, but you can’t. So you have to use a workaround much like the one I linked to in the previous paragraph.

3 – The “Last Version” of Windows (i.e., “Time to copy Apple”)
So, Microsoft are getting pretty cheeky lately. By that, I mean they are now definitely trying to copy the business model of one Apple, Inc., by making Windows 10 “the last version”.
Essentially, much in the tradition of Apple, they will perpetually upgrade the OS, and it will always be called Windows 10. There will never be a Windows 11, or Windows 12. It will be Windows 10 version blah blah blah, much like Mac OS X “Mountain Lion”.
apple-microsoft

Why does this annoy me? Because it’s clearly copying Apple, and it’s kind of a dumb idea to begin with anyway. Why limit yourself to one name, and tacking on bunches of other names and letting your version numbers get insanely high? What’s the point?

It just doesn’t make sense, much like…

2 – WiFi Sense
What genius at Microsoft decided this was a necessary feature? Who thought it should even EXIST?
WiFi Sense is a little app that will store and share your login credentials for your WiFi, so it can be more easily shared with your friends, cousins, your aunt’s friend’s son Garrett, or your neighbor’s cat who just happens to love using your WiFi.

Quit eating up my limited bandwidth, dammit!

Quit eating up my limited bandwidth, dammit!

It does this not by sharing the actual credentials themselves, so honestly I don’t even know how the damn thing works.  I just know, it’s a stupid feature that WILL be used by hackers to find their way into your router, and change your SSID just to screw with you. Do yourself a favor, and disable this so-called “feature” before it bites you where the sun don’t shine. And always remember, a hardwire connection will be your best friend over WiFi anyway! Especially for…

1 – Automatic Updates
By far the worst offender on this list, and perhaps the stupidest thing Microsoft has ever done, is automatic updates.  While nothing new, automatic updates in Windows 10 have one massive and potentially fatal flaw: you cannot easily disable automatic updates unless you buy the Enterprise version of Windows 10!

This is bad for many reasons, but the main concern I have is that there have been several updates by Microsoft that have bricked computers in the past. There was one that actually disabled my ability to create new folders anywhere on my hard drive on Windows 7 back in 2013. Ever since, I have kept automatic updates disabled by default, because I don’t like my computer becoming an essentially useless toaster.

Kinda felt like sticking a fork in it to fix it. Don't try this at home!

Kinda felt like sticking a fork in it to fix it. Don’t try this at home!

Basically, the reason they want to have automatic updates un-disable-able (it’s a word!) is that they want everyone to stay “updated and secure”, 100% of the time. And, as mentioned in point #3, it’s also because they want to upgrade the OS perpetually, just like Mac OS X. Only instead of being smart like Apple and making it an optional upgrade, they will literally force you to upgrade. Thankfully, there is an article here from How To Geek which details a nice workaround, but it’s a pain and likely not everyone will do it.

So there you have it – the 10 things that annoy me about Windows 10. And they should annoy you too! As everyday computer users, we shouldn’t have to stand for this. But we don’t live in a perfect world, so I guess the average user will probably rate Windows 10 “10/10”, just because DirectX 12 shaders are awful purdy.

Personally, I’ll give Windows 10 7/10, because it is still a huge improvement over Windows 8/8.1, and has a lot of great new features that finally make it more useful to people like software developers, game programmers, and people who like shiny new products.

July 29, 2015 / CoffeeCoder

2D, or not to 2D? 2D!

Goodness gracious it has been a while, hasn’t it?

Life. Likes to get in the way and throw curveballs at us, preventing us from doing the things that we love, such as GAME PROGRAMMING!

I know in my last posts I was raving about using Unity/Unreal for all of my game projects, and how I was saying that I would use it for every project. Well, that’s not exactly the case…

Here’s what’s great about an engine like Unity, or Unreal. They’re great places to start, and the results you can get are pretty stunning – IF you know what you’re doing! They take quite a bit of learning, and you also have to learn to deal with the engine’s way of doing things a certain way. In my opinion? Not very fun.

So, I have decided to program my own games from scratch, at least the next several. One (and my main focus right now) will be a 2D platformer, and feature very pretty sprites. Originally, I wanted this game to be 3D, but I’m pretty much doing this game all on my own, and since I’m much better at drawing and animating 2D things rather than 3D, well, that kind of determined the outcome. Plus, I love the older 2D games, since they had to be really inventive in terms of level design and content! I hope to be at least half as inventive as some of those great older titles!

For the actual programming, I’m using App Game Kit 2, by The Game Creators. I may eventually use C++ instead of AGK BASIC, but for now AGK BASIC is doing fine for my needs. The great thing about App Game Kit is that The Game Creators are constantly updating it, and it will very soon have full 3D functionality – so in the future I plan to make my own 3D game series with its own custom-built engine, completely made with AGK!

My goal is to really get back into the art of programming. It’s too easy to get caught up in the latest “easy” engines, the ones that all you have to do is drag and drop, or design Blueprint scripts to do all the work for you. Great tools, just not the tools for me currently.

Yes, programming takes a lot more work, and most of the time I will probably wonder to myself “Am I insane? Would using Unity not make this infinitely easier?!”, and indeed that is part of the fun. Yes, doing it that way may make it easier – but where’s the fun in that?

September 17, 2014 / CoffeeCoder

Progress Report on Project Roll-Away!

Although I haven’t done too much since I posted about my project, I have implemented some pretty interesting things.

I added some enemies, one is a repeller that follows the player to continue pushing it until it falls off of the map (or into another enemy), and the other is a magnet which drains your health at 1 point per second until you can break away (which can be done!).

I have a video here demonstrating what I mean!

I plan to add some other enemies, though I’ve yet to figure out what all they’ll be!  I do have an idea for one but I won’t tell you what it is yet!

As you can tell, the geometry of the level is quite unappealing. This is because everything is currently a placeholder, and will be replaced with fully detailed models in the future. I plan to make the repellers have some sort of “force field” around them, which expands as they’re pushing the player away, and the magnets will look like a stack of neodymium magnets.

I’ve also upgraded the central code of the game to rely on a “Game State Manager”, which  means that information such as the score, lives and health are persistent and won’t be wiped when new levels are loaded. There is a save game and a load game function and they both work flawlessly.

That’s really all I have to report for now, stay tuned for more!

September 8, 2014 / CoffeeCoder

Project: Building a Monster Gaming Rig

Despite my love for my iMac that I bought over a year ago, it is in no way, shape or form a gaming machine. It can handle some small things like Minecraft (on light settings), but nothing like the games I want to play, such as Battlefield 4. While it is still a great computer, it just doesn’t have quite the “oomph” I would like for game playing/development. Thus, the solution to my current predicament is quite obvious; I must build a monster gaming machine!

Sadly, it can’t be a “monster” monster gaming rig, I had to limit my budget. I set my MAX budget to $1500, including monitor, mouse and keyboard.

I managed to not only find parts that are pretty inexpensive, but I managed to get everything down to about $1150!

The big way that I did was going with AMD for both the CPU and GPU. For the CPU I chose the Fx-8350, and GPU is the R9 280X (which is basically a GTX 770). That, alone, probably saved me $300, and those parts are more powerful than their Intel/nVidia counterparts.

Anyway, I placed the first half of my order last week, and after my next two paychecks I’ll be able to order the rest! I can’t wait, I’ll finally be able to play some good old PC games that I love, as well as play new ones like Thief, Assassin’s Creed IV, and many, many others!

You can definitely expect a WIP post over the next few weeks as I build it. I also plan to shoot a video of me building the thing! I will also post a parts list as well!

August 29, 2014 / CoffeeCoder

Unity Physics are pretty dang epic!

I have made some pretty good progress with some of the basic game mechanics for “Project: Roll-Away!”, as the project name has been changed.

I have a basic scoring system, as well as collection systems and “death routines” in place. Checkpoints and initial spawnpoints also work flawlessly.

As I sat working yesterday, I realized I wanted a way to make it appear as though things like gems and checkpoint flags were hovering, in order to catch the player’s eye. I initially attempted to “lerp” between two positions, but this didn’t give exactly the effect I was going for. Then I remembered a trick from an old video tutorial, about using triggers and Unity’s physics engine to make objects “hover” by utilizing the “AddForce” function. I tried it, and it gave me EXACTLY what I was looking for!

Here is a video showing what I mean!



I also added a limiter, so that the object wouldn’t gain enough force to bounce out of the bounds of the trigger and fly out of the level, because upon initial tests, exactly that happened!

Here’s a screenshot showing some of the behind-the-scenes magic:
Trigger zones everywhere!

And that, my friends, will enable me to quickly get this game… rolling! I just have to finish off the basics of the “Player Control” script, which includes adding “save points” in the game so that the player can save anywhere it’s allowed, and finish writing the Save Game and Load Game routines, and it should be playable sooner rather than later! I won’t make any promises on a demo release, but it will definitely be within a month or two, at most!

Stay tuned!

August 28, 2014 / CoffeeCoder

Resurrecting “Project: Roll-A-Ball”

I have sort of resurrected the project I had been working on earlier in the year.

By that, I mean I have finally come up with some pretty unique ideas for game mechanics, and I have also learned a fair bit more of Unity’s physics engine!

I just started developing today, and I’m surprised by how much I’ve already been able to get done (only been working for about 1.25 hours total, intermittently throughout the day). I have the basics of player control worked out, I have a checkpoint system, soon I’ll add in a scoring system and such like, as well as collectibles.

I’m not going to worry about the polish anytime soon, in fact I’ve come up with a scheme on how I’ll identify objects in the meantime (since the finished game will have a LOT of detail!).

    1. Any floor objects/platforms will be RED for being a REGULAR FLOOR TYPE
    2. Any different types of floor will be colored BLACK to represent UNSAFE FLOORS, and DARK GREEN for different conditions, such as slippery/icy
    3. Checkpoint objects are GREEN for GO
    4. PlayerStart positions are PURPLE, because it looks cool
    5. Player object is BLUE because that’s what I chose

With that system now explained, here’s a screenshot of what I’ve got so far, it’s nothing fancy!

Screen Shot 2014-08-28 at 6.03.41 PM

4×4 Unity View

And here’s a better look at the scene populated with a few checkpoints:

Screen Shot 2014-08-28 at 6.04.27 PM

Better View

My personal goal is to see how far I can get by the end of September – if I can get far enough that I can start work on implementing final textures and detailed world pieces, I’ll shoot for a release for NaGaCreMo ’15, which should be a lot of fun!

August 26, 2014 / CoffeeCoder

Some Random Stuffs

I don’t really have any updates worth sharing on the status of my game I’m making with Unity, because life has gotten in the way and I really haven’t had much time to sit down and develop. I still only have the prototype level built, and barely have the main controller script started. But I’m getting there!

Developing on Mac has proved interesting, to say the least. The graphics chip I have in my system is only a GeForce GTX 660M with 512MB of VRAM – hardly anything, really. In fact, to prove how little power this chip actually has, I went and tried out the Unreal Engine. While that is a great engine and would be my #1 choice to develop games with, it requires a rather monstrous machine to power. Even when I had all of the post-processing effects turned off and everything set to low, I could only get 25-29 fps, and it dipped to 17fps quite frequently. And this was in a world that only had 4 objects and 2 lights!

I tried researching ways to get better performance from Unreal on a Mac, but it is simply too resource-heavy.  Unity is much better, perhaps because it was actually originally developed for Macs anyway. Of course, if you had Unity Pro and turned the graphics settings up to 11 on a Mac, you’d get the same result as with Unreal – it would stutter and display a black screen with “lol wtf m8” and crash, leaving you with a pile of molten aluminum and a sad frowny face.

With all of that said, I do want a proper, powerful  gaming PC again, and I have found no better deal than the iBuyPower Revolt Gaming PC.. With everything upgraded, I was able to customize a PC to have a GeForce GTX 780 3GB graphics card, 16GB of RAM, a great processor, decent harddrive and a good motherboard for around $1650.00, so all in all if I can get that PC, Unity/Unreal would run pretty well for a long time to come, and I would finally be able to produce some amazing results! Not to mention, all of my PC games would run amazingly well.

Of course, I can make that a lot cheaper by substituting the GTX 780 3GB with a GTX 750/760ti 2GB, and save about $300-$400, so I might end up doing that. It would still be a pretty great machine!

In other news, I also have a newer idea for a game, based on several ideas I’ve had for a long while. Imagine a mix of Oblivion, some elements from the original Harry Potter console games, and humor, and you get the new formula for the game I want to make. It might take years, but it’s certainly an idea I want to pursue, and if I could get it launched on something like the Ouya, that’d be pretty great!

That’s really all I have for now. Just wanted to let people know I’m not dead!

January 13, 2014 / CoffeeCoder

New Beginnings?

I have encountered some serious, serious issues with my current game, and how things are handled inside of it.

First, I’ve had some issues with the physics engine, and have done some research which shows the way I’m controlling the player isn’t exactly the best.  While this would be a small change to make, changing it would mean basically re-writing almost 200 lines of code, because of the way I’m storing the player’s information and stats.  I’m just using regular old public(!)* variables that I can set in the Inspector, but what I should do is separate that information from the control input script entirely, and store all of player info (score, lives, hp, mp, whatever else I may need) in what’s called a GameState Manager.

A GameState Manager is a very handy script, written in a Singleton pattern (meaning there’s only ever ONE instance of the object) in which I can do things like set the current game session’s information through a loaded save file,  save the current game state to a save file, set the current level, update the player’s lives, health, and whatever else I may need.  They’re pretty awesome things, and should be talked about more, because I’ve only learned of them through a couple of references people have posted on the TGC forums, and a reference in a lesson on GameInstitute.com.

They’re a way to centrally control specific parts of the game, and accessing parts of it through other scripts would be as easy as this:

if(enemyStrikesPlayer)
{    
    // Update Player's health
    GameManager.Instance.SetHP(-enemy.hitForce);
}

 

The GameManager is the GameObject created by the script at run time, Instance is the instance of that object, and SetHP() is a public function that one could use to then update the player’s health.  And that could be accessed through any script, on any object, just like that.  Cool, eh?

Sadly, I can’t really re-start my project just yet.  This week, I’m going to New Orleans, Louisiana with some friends from Wednesday until early Saturday morning – meaning that I’ll have to wait a few days to start, since I don’t have a laptop to program on.  I wouldn’t want to anyway, except maybe in the car.  This also then affects my deadline for NaGaCreMo, but that’s ok – the project is still alive, and as long as I can complete something for it by the end of January, then all will be well!

*This, as we all know, is very very bad practice, although in some cases this is the only way to do things in Unity (when you want to set variables from the Inspector, for example).

January 10, 2014 / CoffeeCoder

Continuing work on my game

Work is pretty steady on my Unity game.  I’m really not sure what I’m going to call it anymore.  For now, it’s still being called Project “Roll-A-Ball”, but it will be renamed later on.

I’ve done a lot over the past couple of days:

  • Changed the gems to actual 3D models of a Gem, although they need an actual texture to see the effect
  • Changed the tutorial message zones to what will eventually be signposts – when the player approaches the signpost, a message saying “Press “Enter” to read me!” will appear.  When the player does that, that message goes away and is replaced by the sign’s contents, which will use Unity’s dialog boxes, once I figure them out.
  • Added skyboxes.  Helps IMMENSELY!
  • Added scoring system and second stage to game
  • Added “Warp Gate” which unlocks after gathering all of the gems, and is how the player travels to new stages

Although there isn’t a new demo today, I will have one either tomorrow night or Sunday.  In the meantime, here’s a screenshot!

Screen Shot 2014-01-10 at 11.27.55 AM