Friday, April 27, 2007

Labyrinth

Well, after reading this article about making one's own game, I decided to start with something simple. It really does make sense to start with something small, since I indeed have zero experience in creating a game from scratch. What I decided is to make the game Labyrinth as a computer game. No, not the movie, but the old wooden board game with the marbles.

The possibilities are endless! I could have dynamically generated boards, holes and walls that move around, and add some other obstacles as well. A co-worker suggested I make it pinball-style, with bumpers and things to bounce the marble around, which would be great. I could have so many extra things - ramps, jumps, you name it!

It will be the perfect project to gain some experience with creating my own computer game. If I did it so that I made the boards in Blender, I'd learn to import them with some code into the game. I'll certainly need to put some realistic physics into it, so that the ball moves accordingly depending on how much you are tilting the board. It'll be good experience using the Bullet physics library. Graphics-wise I have free reign, so I'm going to make it look good.

And, I plan on adding a special feature for macbook owners :-)

Thursday, April 26, 2007

Bioshock

Speaking of System Shock 2 it seems that its developer, Irrational Games, has begun work on a new game called Bioshock. It is being created "in the spirit of System Shock 2" and looks absolutely amazing. At last year's E3 conference, Bioshock garnered three Best of Show awards - no small feat I'd say!

I read an interview of a person involved with the creation of the game, and he said some interesting things about it. I was most surprised to hear that there would be no multiplayer mode: the game will be completely single-player and heavily story-based. They are certainly thinking outside the box in terms of first-person shooters with this one, and it will be a game that I plan on following closely! Like System Shock 2, there are superhuman power ups, an inventory, and even an overseer type entity watching your moves.

Omnivore certainly won't be as violent as Bioshock (just check out the videos... wow!), but I plan on my story being just as good and important to the game. I have a lot to figure out in terms of graphics quality, as Bioshock looks incredible. Of course, they are using the Unreal 3 engine, heavily modified (and I'm really interested to see the water effects they added), so they didn't start from scratch like I am. They also have 60 people working on the game and a budget in the millions of dollars, but I digress. I'll certainly be picking up Bioshock when it is released (they say Spring 2007, which is now, but you never know with these things...), and using it for ideas and inspiration. It is as close to the "kind" of game I am creating as can be.

It all just really gets me excited about my own game. I look forward to all that I will learn in creating my own game from scratch. Hey, if John Carmack can do it, so can I!

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.