Skip to main content

A Certain Unified Purpose

Thanks to the winter downpour this year, I'm sitting at the tail end of having six days off, back to back, relatively guilt-free.  With this deluge of time, I accomplished a lot in terms of taking some steps towards making my own games as a hobby. 

To put the last few entries together:
As of now, I think I've established that I'll be using Unity.

Yet, it takes a poor craftsman to blame his tools.  Take a look at ph00t's 3089, and here's an example of a game that is incredibly open-ended, procedurally generated, first person 3D, with fortress-building elements, and it's developed in the oft-wrongfully-maligned JAVA language (or more precisely, jMonkeyEngine, a 3D engine that runs on JAVA) and does something I didn't think a JAVA game could do: it's released on Steam.  Also released on Steam is Neo Scavenger, which does an excellent job of conveying a gritty, deep, open-world, hexagonal-based RPG (albeit one perhaps a tad too reliant on the mouse) and it was created in Adobe Flash, a notoriously applet-bound platform.  I can only look at these examples and realize it was never completely GameMaker's fault, I was just being skittish, and with enough applied will there would likely be a way to bend my designs to match its methods.

So I wasted a lot of time this week but, for what little consolation it is, I suppose it is a good idea to make sure I had a solid foundation before setting out to create a game.  With Unity, I pretty much am using C# (optionally one can also use scripts made in Javascript or Boo) but instead of having to write an engine in C# first, I have all the engine work done already... and what a powerful engine it is!
I'm not a major 3D graphics proponent - in fact, I think too many developers let 3D technology distract them from making solid gameplay - but, despite Unity being conceived as a 3D game engine, it's actually quite suitable to my needs.  It can do 2D games rather well, I know this because we've got examples in RimWorld, Bionic Dues, and Tiny Keep (a 3D game that uses a cool 2D roguelike generation method).  A nice benefit about developing a 2D game in a 3D engine is, if I suddenly decided to pull the camera back and do an isometric view, I can.

Aside from that, Unity brings me three important advantages over my previous platforms (BYOND and GameMaker):
  1. I've often complained about having to deal with static room sizes in GameMaker.  There were things I could and could not do with rooms while the game was already running, depending on if the room was in scope or not, and combined this made it really hard for me to figure out how to do procedural generation.  Well, the scenes in Unity are of essentially unlimited size

    Speaking technically, a 2D game done in the Unity engine would likely manifest in the form of a polygon with textures drawn on it, essentially a virtual television screen hanging in space.  Unity does limit you to 2048x2048 pixel or smaller textures, and a certain number of triangles per mesh.  However, since scenes have no limit, if you want a really large "screen," you just create several virtual television screens hanging side-by-side, and the players need not see where one ends and the next begins.

    (Alternately, you can do a 3D game with a 2D perspective.  This is perhaps more powerful and conductive with Unity's built-in classes, but will likely cause greater processor overhead, which causes problems in games with many moving parts.)
  2. The Monodevelop IDE that comes bundled with Unity is powerfully integrated and features autocompletion, which makes coding much easier, and has thus far been something I was unable to enjoy when trying to develop in BYOND and GameMaker.  (GameMaker had some autocompletion, but it was not nearly as fully featured... sometimes, for reasons I never quite figured out, it just didn't kick in.) 

    I'm already finding one really nice benefit of auto-completion is that, in many cases, it will start to malfunction if something is wrong, prompting me to immediately correct my broken code instead of moving on and wondering why it's not working later.
  3. Unity has multi-threading if I want it.  Heck, even tablet computers will often have multiple cores these days, so it seems a shame to leave all that processing power sitting unused.
Ultimately, it's not that every game developer needs to use Unity, and indeed there may be some game concepts in which it will be an impediment to them.  However, I currently believe that what Unity can do should be more than enough for my game concepts.

Learning Curve, Here I Come.

I hope you were interested in hearing someone talk about Unity today.
So far, I've followed through the entirety of Qull18's TileMap tutorial and, by the time I was done with that, I was comfortable enough with coding that I was able to modify the code considerably (mostly to change the way it reads to be something I was more comfortable with).  I owe my experiences in BYOND for being able to do that much, because I ended up being quite good at encapsulation of object oriented code after a few months of dabbling with DM, a language that is very similar to C# in many ways, such as its string arithmetic.
I'm still far from being quite ready to make my own Unity game, though.  I think I should probably spend a solid month or two just doing tutorials and picking apart examples, really refining my technique.  Once I can understand how to put things together in Unity like it's second nature, then is when I'll be ready to explore making my own games in it.  Who knows?  It might be quicker than I think, considering I'm arguably at the level of intermediate programming skill.

Though I am typically quite shy to invest my time in pointless endeavors (perhaps an unfortunate consequence of being a repeat MMORPG burnout) I feel am reassured that learning the skills involved in using Unity is not one such endeavor.  With any luck, skills in using Unity may prove useful for many years to come.  Part of me hopes that this will be the last platform I'll never need to learn to use, but such is not the nature of technology.
Post a Comment

Popular posts from this blog

Ancient Warfare - What Is It Good For?

The Ancient Warfare mod for Minecraft threw me for a loop.  I was looking for "villagers" that would perform useful tasks while simultaneously resolving the glut of food with a need to eat, thereby turning Minecraft into a bit of 4X game you can play from the inside.  Millenaire wasn't quite there, partly because recent updates to Forge had broken its compatibility with Minecraft 1.7.10, and Minecolony's development is not quite fast enough to keep up with the state of mods in general (they probably need to make a core API).
In comes Ancient Warfare, which does indeed provide workers and soldiers who need to eat, you can even order around a little army of them to defeat your enemies.  It has working waterwheels and windmills, something I thought was awesome in Resonant Induction.  It has a warehouse with a built-in sorting system, as well as courier NPCs that can move things from building to building, and crafting NPCs that can create things for you automatically - w…

Resonant Induction Really Grinds My Gears... In A Good Way

From about 2pm yesterday until 8pm today, I've been dabbling with my latest custom mod mix for Minecraft 1.6.4, which is this time very much Universal Electricity focused.
Aside from the usual GUI enhancers and Somnia, the primary contenders in this mix were:
Calclavia Core - Of course: this is the base of the Universal Electricity system.Resonant Induction - This seems to be largely focused on increasingly more advanced methods of refining ores divided across 4 ages of technological progression.  It also includes some really cool things such as assembly lines.  I'll primarily be talking about just a few blocks out of this mod today.Atomic Science - A mod dedicated to generating more of those lovely universal electricity volts via the power of splitting the atom.  Build your own nuclear reactor!  Deal with nuclear meltdowns!  You maniac!ICBM - A mod dedicated to generating more destruction using those lovely universal electricity volts (and more than a little gunpowder), it cer…

Not Getting Over It

One of the recent fads to go through YouTube recently is Getting Over It With Bennett Foddy, a game about a man sitting in a cauldron filled with his own sweat dragging himself up a mountain of societal detritus with nothing more than a huge staking hammer.
As can be expected from the creator of QWOP, the game is extremely hard to control, requiring great precision on behalf of the player's mouse skills in order to propel the man up the mountain.  It is known as a "rage game" because it is deliberately engineered to punish the player.

I think I figured out a significant chunk of the source of that rage.  Basically, by investing our time and energy into trying to figure out how to get the little man on the screen up the mountain, we come to care about it.  Even though there's nothing important waiting for us at the top of our trash mountain, even though it's a ridiculous little game about mountain climbing, we care about it because we are trying.

By wanting to win…