So its been a couple weeks since my last post. I took a week off for some beach days with the better half but when I got back I hit that wall that one man army developers get to when they don't have a solid game design plan. The wall that just screams "Now what?!". I had gotten the basics of the combat system running but until I fleshed out what I wanted the end product to be I wasn't going to be able to work on the story or networking, which is the next 2 big systems to complete. So I spent the last week with some good old fashion paper and pen, some more days at the beach, and just laid out exactly how this sucker is going to be. I also fired up photoshop and started working on replacing some of the placeholder graphics. Here is some of the stuff I came up with. Not too shabby for programmer art but then again there is a bunch of great ps tutorials out there to let you create pretty much anything you could think of. I also did a quick pass over the engine trying out different styles and a failed attempt at a cool looking cockpit HUD.
Next up is the networking system. The goal is to get four players synchronized with each other. Networking is one of those pain in the butt things to code because its takes so long to get it just "right". Lots of tweaks and testing but hopefully I'll be able to reuse a lot of the code I have from another project and get something running in a few days.
While I'm doing this I have to continue fleshing out the story. I have the main idea all set up, it's just sitting down and writing all the dialog, making a list of what assets I'll need, and then figuring out which assets I have time to do myself and which ones I need to commission out. Lots to do in the next few weeks but I'm happy that the aforementioned wall got knocked the $%^& down.
I've been working pretty heavily the last few days trying to get enough functioning so I could call my Combat prototype complete. A few of the things implemented:
-Shield graphics. Just a simple sphere mesh whose transparency fades in and out as it gets hit. The only problem I had here was the fact you need to render transparent objects after all other objects so I had to make a small modification to the scenegraph so it renders any transparent objects at the end. Good news is the framework is in place so if I ever need to add other transparent objects I'm good to go.
-Enemy AI. Wrote up a very simple AI that pretty does the basics of what I was looking for in the combat prototype. It actively seeks out targets, defends itself from missiles, fires its own missiles at targets and will try to dodge missiles and missile explosions.
-Some graphical improvements. Updated the ship/missile explosions, missile trails, and also added a very simple post process framework. Currently just running a bloom pass which nicely improves the shield and missile explosion graphics. I can already see I'll be modifying these post process passes extensively.
" target="_self">So anyways, here's the new prototype video. Quite a bit of a jump in only 3 days.
So for the first couple of days I was scrounging around my old projects looking for code that I could reuse. I've built up a suprising amount of code that's useful to have in a game engine so the first few days was just bringing all that in. Some of this code I wrote years ago and it still just works great, others I had to tweak here and there but before I had to write any real new code I had a basic engine set up. Since then I've written a basic damage system with collisions, bullet/missile logic, player ship movement/shooting logic, and a gui console with a neat little targeting reticle that locks on to objects. The last two days or so was spent creating my own particle engine. I didn't expect to take that long doing it since I figured I was just going to base it off the bullet code that I previously wrote but it didn't come out very well the first couple of times.. I ended up doing a little research and spending a little more time than I wanted but I really liked the way it turned. It's lightweight, very simple to use and just drop into existing systems. It's based off of point sprites and all of the position,color,scale,rotation logic is done on the GPU.
So here's a small video showing what is done so far. You'll notice a lot of placeholder graphics from tutorials all over. The planet in the background is from Randomchaos's HLSL series. A few textures from Riemer's Site, and just all over. The video shows the main stuff I've gotten done working together. The bullet/missile logic working with the damage model and the particle system. Just as an aside, the graphics are all pretty much placeholders. I'm really going for a completly different art style. Think more simple than realistic as in this prototype.
So today I figured I'd introduce you all to my project. I've been using XNA for quite while now and I think I've got a pretty good grasp on how it works. I learned XNA through Riemer's XNA tutorials, running a few of the samples found on the XNA creators page, and also quite a bit of HLSL from Randomchaos's xna-uk.net blog. There's just so many resources available for XNA users and it is what I'll be using for my project. You will notice in my updates I use a lot of these resources as placeholder graphics. At least until I find out what I'm going to do to replace them. Still don't know whether I should try to bring an artist on board or just go with what'sfree out there on the internet.
So anyways on to the game! I'll be developing a 2.5D space shooter, with a few interesting twists to set it apart from the rest of the masses out there. Space shooters tend to be done a lot by beginners and rightly so. Everything is simplified in outer space. Throw in a beautiful skybox, a nicely rendered planet, some space dust and you've got something that looks pretty good. Lighting is simple, nocharacter animations to worry about, no AI path finding issues. It's a great way to start off with and since I only have 6 weeks(and being a sci-fi fan is bonus) it's what I'm going with.
Now for the twists. It's going to be multiplayer and it's going to tell a story. I'm very familiar with networking, client/server systems and whatnot from both the university and personal projects and having multiplayer is something I very much want to have in the final product. Of course the combatwill be fun. It has to be or everything else falls apart, but unlike other shooters that just drop you in to run and gun, there's going to be a story. And you're going to get to play it with a few of your friends. Whether or not it's going to be strictly a co-op adventure or maybe with some PvP action hasn't been decided yet.
So that's my project in a nutshell. My first deadline is this Sunday night. Combat prototype 1.0 needs to be complete by then. I'll keep this journal updated on my progress.
Hello all! Welcome to my journal where I'll be documenting my progress on my current project code named Horizons. A little about myself and why I'm here. I just graduated university with a computer engineering degree and one of my hobby's is to to program. Games specifically. I got my first taste of programming way back in middle school using visual basic. Like really basic...I can still remember asking the teacher why when I added 2 + 3 I got 23 instead of 5! Fast forward a few years and I come face to face with the curse of college curriculum.
Java. That's what they teach you. Java and only Java and somehow they expect you to get a job in the real world knowing just Java. So I did what any self respecting engineer does and went out, bought a book, and taught myself C++. I highly recommend Accelerated C++ by Andrew Koenig/Barbara E. Moo if you are getting starting with programming yourself. I used this book along with OGRE 3D to learn about programming games, which I turned out to love doing. Here's a little screenshot of my first foray, a short and sweet skydiving game involving falling through rings and landing on a target. The first and last game that I actually "finished" which brings me to why I'm here.
I've started a lot of projects but have never managed to get one finished. Either the scope was too big, or I lost interest or came up with a better, totally different idea. From reading various forums I can see this is a pretty common problem and one that I aim to fix. So here I am. I've started this journal to give me some motivation to finish, get some feedback from you all, and just generally give me somewhere to set concrete goals other than in my head. So what goals am I setting? Well I'm glad you asked, cause it's actually pretty important.
That's the main goal. In 6 weeks I'm going to have an .exe for you to download. It's going to be complete. It's going to be polished. And it's going to be fun. Or at least fun to someone with similar tastes as me. So what are my tastes? Hmmm kinda personal but ok. I like sci-fi. I think Freespace 2 and Tribes were the greatest games ever made. I read a lot of books and I love games with a great story. If you agree with this, I think my game will be fun for you too. Or at least I hope. So here I go, follow along if you must. It's gonna be a bumpy ride.