You may have thought I’d given up by now – over a month without an update – but despite seeing such incredible similar indie projects as Infinity Universe (well worth checking out for the crazy scale – over 7 years of dev! and multitude of tech posts), and Salvation Prophecy (also awesome, and actually released), I’m still working on the game. Granted, I haven’t done as much as I would have liked, but then I never do.
Seeing the great projects linked above has filled me with amazement for how much one person can do, as well as depressed me by showing me how much I have left to learn. So I’ll try and keep the scope of this game pretty low, as I don’t want to be working on it forever! I also started watching the first season of Firefly, which I’m loving, but can’t believe how Mr Whedon stole half my ideas before I’d had them! Seriously though, that is almost exactly how I’d pictured the state of civilisation in my far-fetched fantasies about this game.
Ok, here’s some stuff I did in the last month in pretty much chronological order:
- learned some of Zbrush 4R2 and figured out a new, better modelling workflow (along with 3ds max), which I’ll put up a video of in the future. It’ll be useful for any 3d modelling project, really, not just games. Did some spaceships with it.
- Improvised and recorded a sum of around 10 minutes of guitar “music” for the game – who’d have thought your skills degenerate so much after a year of not playing? Tried out FL Studio.
- Messed around a bit with Ogre, read articles/book on game programming, a bit of C++.
- Started a clean framework for the game, using http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Advanced+Ogre+Framework&structure=Tutorials
- Started learning shader programming – all that maths screws with my head. The pain is not alleviated with this complicated (for me anyway) free book GPU Gems 2
A 2-pass planet-y shader. Quite simple, I suppose; the atmosphere pass expands the vertices along their normals, and then colours using a “falloff” like pattern (if you’re used to max’s material system), and there’s a basic blinn shader as pass 2. Unfortunately the way I implemented the atmosphere (writing colour without depth) means it doesn’t work in Ogre when I ported it over. But I knew I’d have to re-write it anyway! I want to figure out a way of doing procedural noise-based planet textures – I’m pretty sure you can do lots of the work on the GPU. It seems everywhere I go for this sort of thing, this guy pops up as being a colleague of the writer: Inigo Quilez. I first came across him about a year ago; he seems to be a total genius having read the majority of his stuff!
Ok that’s enough for now. If you want any detail that I might be able to provide, don’t hesitate to ask.
I’ve been trying to set up the OGRE 3D engine for the last couple of days (you can read more about it here: http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Getting+Started), and finally, after failing to build it from source, and install the Eclipse SDK, had some luck with Visual Studio 2008 – the default solution!
I might actually write most of it in Eclipse because I loved the features such as clever highlighting, version compare when I was writing Python scripts in Maya using it. I guess I’ll have to get used to Visual Studio though, because it is painful going through the Ogre installation process. I don’t want to try it again if I don’t have to!
It was the best feeling getting the sample browser file to compile after hours of failure on many fronts. I spent an hour absorbed in the samples in the engine, which demonstrate all kinds of pretty new features that the best games today have, and some that I’ve never seen (Real-time Julia fractal 3D volumetric textures?). It’s nice that you can switch in-game between OpenGL and DirectX as well.
It’s great being able to see the FPS impact for every feature and effect – I never knew bloom would halve the frame rate. The whole demo has given me the confidence that it’s possible to create a really spectacular game using the engine, so I’m excited. The thing now is putting in the time and effort! I have a lot to learn; as well as the book I mentioned in the first blog post, there’s a brilliant website that feels like exactly what I need: http://www.altdevblogaday.com.
I’ll try and update again soon with some programming tests.