Thursday, March 15, 2012

The Gensis of Void Nexus

Before I talk about how the ideas for Void Nexus were spawned, I need to reveal a bit about my background.

Currently, I am a 21 year old male working three part-time jobs simultaneously. I work at a steakhouse as a dishwasher, retail as a sales associate, and a yogurt bar as a cashier. In my spare time at work, I attempt to think of new ideas to add to Void Nexus. When I am not working, I am either trying to code or learning new parts of Lua and LÖVE so that I can be proficient when I need to use the knowledge later.

I've been familiar with video games my whole life. I started off with the simple NES and SNES and then progressed. My parents were often worried while they watched me invest countless hours into many of the games they had purchased. I was the kind of gamer that would be stuck in a dangerous trance while playing. Many times I would forfeit sleep, food, and going to the restroom, as my attention would be completely drawn to completing a level or beating a boss. Needless to say, I managed to rack up a good amount of gameplay in my childhood. As I discovered new games from various systems, I learned what games were unique, exciting, and attention catching, while taking note of the negative attributes (boring, bland, repetitive) which made games bad. Back then, games didn't have the potential that they do now. (nor the amount of entertainment)

I have spent the past few months doing research and testing out things to help me achieve my goal. In the end I decided I would make Void Nexus in 2D, because the length of time needed to make this kind of game in 3D would be daunting. As a person who had no prior coding experience, determining what game engine to use was a project unto itself. I was clueless to the restrictions and freedoms were for any given engine or coding language. The only thing I had to guide me was what people said on forums. I was at first going to attempt to use Java, but then I found out that it consumes so much CPU (Darn you Minecraft!) so I ruled that option out. I was examining some very simple game engines such as Spheriki, GameMaker, and others that I can't recall. Then when I learned about the restrictions of those engines, I continued my search for something that would provide the game structure and environment that I was looking for. And then I found LÖVE.

LÖVE is well... uncanny in it's own right. I was baffled by the homepage when I first came across it. Everything about it seemed so overbearingly cheerful and happy, that it seemed phony. I almost closed the window without giving it a second look, but for some reason I decided to scroll through some of the games made, screenshots, and forums. The more I saw, the better potential I envisioned with using it as the basis for making my game. And so, I started my trek with tutorials in Lua and LÖVE simultaneously to pursue my endeavor for Void Nexus. I began progress roughly three weeks ago and even the small amount I've built so far has shown great promise.

The community on LÖVE has been very helpful and friendly in my attempts with learning. I feel as if I've only learned 5%-10% of all the componets of Lua and LÖVE so far and I seek help on a regular basis. I drop by the LÖVE irc to ask questions related to code or coding and chat about other miscellaneous topics with the folks there. All the cheerful and happy phoniness that I said earlier is not true. The community there is very LÖVE'ing, (get it?) and is a very strong point for using the game engine. Another pro is that the game engine itself is simple enough for a beginner such as myself to learn. :)

Now back to the start of my post as to the ideas and chain of events that lead to this game. I am a big fan of Minecraft. I played it and monitored the progress since the start of classic. I didn't actually buy the game until around the time rail tracks were added. As the game evolved with redstone, I saw a huge potential to build giant powered mechanisms that I fell in love with. Then I thought to myself, "what would be really cool is to make this into some kind of spaceship." The only problem- the ship was static. Thus, I wanted very much to either play a minecraft space mod or make one myself. Time passed, the few mods I was following didn't go far enough to appease my thirst for some kind of block based space game. Then I discovered Blockade Runner.

It was the game I had been waiting for, yet, it was still in early development. (and still is, I might add) So after finding that, I decided to hold off on any game making because what I wanted sounded like it was going to be made already. So I tried to go a different avenue and make a "Minecraft - Space Station 13" server. I learned how to use GIMP to design a texture pack, used MCEdit to build the map, looked at how to use terrain map generators to make planets and asteroids, and even began some beginners tutorials on how to code Java. In the meantime, Blockade Runner had a few updates which added a few things, but nothing that had turned the game into a playable state. They also did a few interviews about the direction they want to shape the game. After reading that, the lack of content, and updates, I became dispirited. :(

From what I gathered and guessed, AI were likely going to be used to crew a players ship, instead of other players. The reason I say this is because with the new updates the ship editor is allowing people to build bigger ships, easier and faster. The size limit was also removed. These two things together mean that players will be able to construct large ships on their own. (which require huge crews to manage) Unless Blockade Runner later has plans to restrict the number of large ships from being built, I foresee most of the players not willing to serve as crew members on others ships when they have the option of building their own. If that's the case then, a huge amount of work needs to be done to code the AI to crew ships. (which will be very time consuming)

Of course, all this is preemptive speculation on my part. I don't really know what their plans are... but this is the direction I see their game going. (of course I could be wrong) Anyway, this all lead to the epiphany for Void Nexus. I envisioned what the space game I wanted should be...

Now I'm here, and passionate about making it as quickly as possible. I think the end results of Void Nexus and Blockade Runner will be vastly different from each other. I have plenty of ideas how I want to shape Void Nexus and am slowly learning to manifest those ideas into code. I'm hoping that I will surpass the progress of blockade runner in a few months (after all 2D games should be faster to code than 3D ones right?) and have a working multiplayer soon. (which is my top goal!)

So that's it. The how, why, and when this game came to be. I've only just started... but the passion has been roaring inside my heart for a long time now to get this project undertaken.

To be fair, a tribute list for the most important games that inspired me to make Void Nexus.

Minecraft - (for the creativity and proof that small scale game developing is possible and can succeed)
King Arthur's Gold - (for showing that team-based coordination is possible on a 2D large scale)
Space Station 13 - (for the sheer amount of crazy mechanics involved)
Blockade Runner - (for being the catalysis that lead me to make Void Nexus)

And for my own personal records, I'm going to be keeping track of the amount of time I spend working on this project every week on this blog. (New programmers have to set benchmarks for themselves right?!)

Time Invested on Void Nexus Past Three Weeks = ~40 Hours
Prior Coding Life Experience = I didn't get very far past "Hello World" on java. That's about it... (sums up to nil )

No comments:

Post a Comment