Wednesday, April 25, 2007

The Game

Well, it's been a long time since I've posted! I've got a moment, so I thought I'd write more about Omnivore. I haven't worked on it in a good while, so this will also get my brain moving again. This time, instead of writing about the story, I think I'll put down a bit about the technical parts of the game.

For inspiration in terms of other games, I'm looking closely at the Final Fantasy games, Anachronox, System Shock 2 (one of the best games ever in my opinion), the Thief games, the Max Payne games, and the Half-Life games. What makes them great? Story, gameplay, characters, and just plain quality. I'm trying to get aspects of all these games into Omnivore, and if anyone has any other games like these that they absolutely love, please tell me about them!

I'm going to write it in C++, using OpenGL for the graphics. I've been regaining my knowledge about OpenGL by moving through the tutorials at NeHe, which is a site I used in the past. Great stuff there. I also need to re-learn quite a bit of C++, since I've been spoiled these past few years by Python and PHP. Also, doing it in C++ and OpenGL will allow the game to be cross-platform, which is something I'm going to work towards from the very beginning. Anyone with Mac OS, Windows, or Linux should be able to play Omnivore.

That said, I will be using as much open source software as I can to put the game together. For physics, I found the incredible Bullet physics library. I was actually able to download the source, compile it, and run it, which is awesome. It even allows you to slow down or speed up time, something that will be featured in the game (for reasons you will soon see!). For sound effects I plan on using free libraries, and also recording my own sounds. The music will all be created from scratch my me, something I'm very much looking forward to!

For cutscenes I will be using Blender (which happens to use the Bullet library in its code for physics simulations). Blender is awesome, and the more I learn about it, the better it gets. I've already begun creating the intro animation, complete with a snowy blizzard! I will put up some renders as soon as I create something that looks really good. For compositing and video editing I'll either just use Blender or try out Jahshaka, which looks like a great project.

I will also use Blender to create all the in-game characters, levels, and objects.

Gameplay will be third-person, a la Max Payne and Tomb Raider. There will not be a huge amount of killing, so, sorry Doom lovers. Much of the game will be exploring, sneaking around, and stun-gunning people. The lion's share of the game will be in the Icebox, and scientists don't exactly carry around much in terms of guns. A large part of the interaction will be somewhat special, but that's for another post.

I plan on having a multiplayer mode, but won't get into the details about it because I don't want to go too much into the background of the game just yet.

Arthur will have an inventory of objects he carries around, like Final Fantasy and System Shock 2. He will gain power as the game goes on, but I won't say what that power is just yet. The game will have multiple endings (I'm thinking three or four), depending on certain decisions you make as you play.

That's a fair amount of the choices I've made so far that I'm going to stick with for the game. If anyone has any suggestions I'd love to hear them. What do you love about certain story-driven games? What do you hate? Should I program it in a certain way? Should I use a certain library?

And as a finish for this post, the name of the computer that is central to the Omnivore project is Soul. Here are a couple lines from my notes about it: Soul is the first computer ever to have the capacity, the processing power, and the software to be able to accurately keep a copy of a human brain running inside of it. It can simulate all the billions of neurons, their connections, and the electrical signals between them.

No comments: