About this blog
Inane ramblings of a programmer
Entries in this blog
Game projects are hard, especially for me. I tend to reinvent the wheel for absolutely everything.
In the later years I have seen the error of my ways and used libraries such as for sound, networking and compression. I did learn alot though.
Most of all I have learned that I'm not a good programmer.. Programming is my creative outlet, I suppose. My track-record on finishing projects is good, not a single one being abandoned in my 15 years. I've simply been using time in my favor. There are a million "half-assed," excuse the term, projects out there, that for better or worse shouldn't have been abandoned. After all this time, I find myself learning the most, understanding the best, and enjoying the most the "other half" of my project development cycles. It's after all in the end that my creation takes form, and some of my ideas put together create interesting forms and combinations of gameplay.
I'm most proud of my "legend of zelda" engine, which had really only the gameplay part from the franchise we all know. I wrote it in a dinosaur language, and decided it was finished after 5 years.
Now, I have steered myself towards C/C++, and I feel confident enough to write just about anything in C. C++ is relatively unknown, although I have no problems coding in Java. I'm sure in time that I will be refactoring pieces into C++ classes. I'm not a big fan of abstracting everything. I suppose I just have that algorithmic bone in me, that I can't get rid of. I'll end this by saying that I think programmers who are more object-oriented in thinking will be more effective programmers than me.
Suffice to say, I should stick to my hobbyist roots. After all, I'm doing this for me, and sometimes at the end, for others to enjoy as well. Although that is only a goalpost you can set when that all-elusive fun-factor is present.
So, what am I doing now? Well, 2 years ago I played minecraft; something my brother forced me to play. We played it quite a while, and it was awe-inspiring. I have been a long-standing LoZ open-world man. So much so, that it's almost keeping me up at night. I just had to write a uniform voxel-block game. It turns out it was a very complicated affair. Some part of it because I never make compromises, other parts because drivers are tuned for connectable terrain (and rightly so). It's almost unfair, how millions of blocks are uploaded _and_ rendered faster as QUADs instead of triangles, which are native to the hardware. It was late until I learned that OpenGL 3.x (forward) had deprecated quads. Oh well.
I have a funny way of making games. I am an engine programmer.
I spent a year writing only an engine, with no gameplay. My trusty band of testers saw to it that I knew full well how much pain they were in; not having good gameplay, not having fluid movement, crafting and other things. It just so happens, that all these things are belong to minecraft. If I were to write "minecraft - just better," then am I not wasting my time? I am only an engine programmer though. And it really is my say, what my time is spent doing. I ended up adding all the minecraft basics in the end. It was a simple affair, and no effort were spent doing it. Without much fanfare the game took shape, simply because it was playable. We added a single-server, and later discarded it for a mesh-network node system, written by my masterful friend remorse.
Yes, I have a few friends who delve into programming. One of them taught me the art, by putting me into the fire. I wrote my first IRCd at age 18, and now im 27. I feel old, but compared to some of my friends, I really am the amateur programmer in the project. Writing the critical part. There's some pressure involved, and many times I have taken breaks. Unfortunately, I am the obsessive kind, and nothing unfinished can be let go of.
I digress. A generator was written by the best programmer I have met; hideki, who wrote the original ProTracker back in the day. He was busy making a stereo-microscope, of all things. He took some books off his shelf, and with his ingrained signal theory knowledge, which is his greatest passion, he put out worlds that made my eyes humid territory. It made me up my game substantially, and by the time I caught up, he had moved on to something that interested him more. If anything, I wish I wasn't obsessive. We worked day and night for half a year, and he never complained. The truth of the matter is, I don't have a right to ask anyone to do that, and especially not complain when they feel like they want to move on. I didn't, thankfully. Later on he has helped me with many small things, simply because he has ideas too. Expectations, ideas and solutions. Wouldn't have it any other way. It would be a lie to say "anything" can be done, but it's close enough with my present company.
3 months into project:
After a year, it would look like this:
http://fbcraft.fwsnet.net/flowers2.png experimenting with voxel objects
And these days it looks something like this:
Here's a video I made in the beginning of December 2012:
Video of me just flying around
Maybe I'll writer more on the project itself later. Maybe.
Most of all it lacks direction, I suppose. Someone to say what the final picture will be like. I tried hiring a game designer. He started writing story and dialogue, and wanted me to add a rope-block (or something). That's not design, as far as I'm concerned.
That's details, that I don't need to know. Anyways, perhaps I wasn't clear on what I wanted him to do. Perhaps he had his own ideas of what a game designer should start out doing. For all I know, he was right.
Truth be told, my LoZ engine (for lack of a better name) had its issues. But I kept on hammering down code, refactoring. It turned out a monster engine, that had so many features that I don't think anyone would have wanted to make a game with it. It used a scripting language with my own API. Unfortunately, that's my kind of endgame.
I guess I need a designer.