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.

Comments

Popular posts from this blog

Empyrion Vrs Space Engineers: A Different Kind Of Space Race

In my quest for more compelling virtual worlds, I have been watching Empyrion: Galactic Survival a lot this bizarro weekend, mostly via the Angry Joe Show twitch stream.  What I have concluded from my observations is Empyrion is following in Space Engineers' shadow, but it is nevertheless threatening the elder game due to a greater feature set (the modding scene notwithstanding).

Empyrion is made in Unity, whereas Space Engineers is built on a custom engine.  While this does put Empyrion at a disadvantage when it comes to conceptual flexibility, its developers nevertheless have a substantial advantage when it comes to adding features due to a savings of time spent that would have gone into developing their own engine.  Examples include:
Planets.  Empyrion already has planets and space to explore between them, whereas in Space Engineers planets are in the works but still awhile away (so you just have asteroid fields to scavenge).Enemies.  Space Engineers' survival mode boasts onl…

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…

Greasing The Grind: Adding Lasting Appeal To Virtual World Sandboxes

Game design, being about entertainment, is not as much science as art.  We're coming up with interesting things that the human mind likes to chew on that "taste" good to it.  Different people find different things, "Fun," and a game designer is tasked with coming up with fun, appealing things.  As pertains to virtual world sandboxes, I identified three of them.

Challenge Appeal.

Dwarf Fortress and Fortresscraft Evolved have the same end game appeal preservation mechanic: wealth equals threat.  The more money your Dwarf Fortress is worth, the bigger the baddies who will come for you, including a bunch of snobby useless nobles who do nothing but push dwarves around and eat.  The more energy you make in Fortresscraft Evolved, the more and bigger bugs come to shut down your base.  Rimworld does something a little different based off of which AI Storyteller you choose, but it generally adds time to your wealth accumulation when deciding what kind of threats to throw a…