Wednesday, December 19, 2007

Reflection is cool.

So another week or so has gone by, and despite the perils of playing too much World Of Warcraft, and being sick for about a week or so, I still managed to get something done. It isn't much however - this week is almost a complete write off :P. I have however managed to implement the Projectile system - marking the first time I made use of reflection in game programming. Gotta say it makes life easier - esp. for the level scripting and garbage collection management.

So now that the game has a working projectile system I can start adding bits and pieces of the AI, as I am the only coder however, progress is going to seem chaotic until near the end of the line as I push out whatever bit of code I feel inspired for that day. Don't worry however - the final product should be seven kinds of cool :)

Tuesday, December 11, 2007

A pseudo-Christmas offering!


So here we have a scene which is basically a good representation of what the games interface will look like. Also, keeping with the season, I repainted the trees with a chrismas motif - merely for testing, but it amuses me :) . There is still a long way to go - even coding wise, from here however. I have Z-Fighting issue with the shadows and the terrain I need to sort out, the objects still need to change orientation to match the slope of the landscape, the AI needs to be implements... it is however getting there :). Anyway - this is the current state of the game, so merry christmas to any readers I may have and I hope to have some more details on line for you soon :)

Tuesday, December 4, 2007

Terrain and Physics!

So I finished the games terrain engine - you can see my crappy example terrain in the picture above. My 3D artist is going to help me rig up something a bit more natural looking, but for testing purposes, this will due. Also, although it's not clear, I have a physics simulator written into the game now. It's my own work - not a 3rd part plug in. It works out pretty well, using a divide and conquer approach I managed to push the number of fully simulated objects up to about 400 objects. Collision detection is the one place where I skimped, the type of game I am making doesn't require super advanced collisions, so I am sticking with the simplest way of doing it. If it turns out later that I need something more advanced, I can replace the detection method with something better.

Now to finish working on the games plot - more details on that next week I hope :).

Wednesday, November 28, 2007

Mount Boob



So I've got the graphics engine up and running. There are a few issues I need to iron out before it's completely ready, but for the moment it does what I need it to do. I've uploaded a simple view of a small mountain that I setup for your amusement - it's been affectionately named "Mount Boob". So, without further Ado, I present Mount Boob and Mount Boob at Night.

Sunday, November 25, 2007

Graphics Engine Testing...

So I spent today testing all the primary shader algorithms for the game. The results weren't what I'd hoped for performance wise - I am going to have cut the number of individual lights allowed in the game, but I have a backup plan which might be just as cool - we shall see.

With the number of lights cut down to a reasonable level, everything behaves smoothly on the test cases, including my terrain system. Over the next few days I'll be testing the Water system, then I'll toss some screenshots of the tests (mostly cubes - sorry guys I'm not the artist, just the programmer) and get to work on that physics engine!

Saturday, November 24, 2007

Still Working...

So the working name for this iteration is still "The Probe". This may change, but for the moment I still like the name so I think we will keep it. As for the game itself, I don't have any screen shots yet - unfortunately the graphics engine for the previous prototype was insufficient for the ideas in this one so I had to scrap. That's what I have been working on now. It's nearly ready for testing, (with the exception of the particles - but those will work the same way as they did in the previous game) I only have a few more features to finish up before I can test it. If all goes well, then the game will support a much larger playing field before which loads section on the fly, some very pretty water reflections, and nifty tricks of light, and the ability to switch from full view of day into literally pitch blackness where you won't see anything not illuminated by your flash light.

Once the graphics engine is completed and tested, I'll be working on the Physics engine - nothing fancy will be here, just a simple 3D rigid body physics simulation. More on that when the time comes :). Anyway, back to work for me!

Sunday, November 18, 2007

Cake.

Ok, in the last couple of days I've pretty much used my copious amounts of free time (thank you day job for paying me ridiculous amounts of money to watch flashy lights all day :) ) to come up with a new game concept and a new design document. Thanks to the beauty that is Object Oriented programming I've even got a reasonable amount of code (all canabalized from the original games source code).

I'm not ready to say exactly what the game is just yet, but I do have another coder and an artist on board - so I'm hoping with more assistance I can put together a better overall product. We shall see.

Friday, November 16, 2007

Rejected...Iteration #1 Complete.

Ok, so it looks like what I thought would be a really cool interface for a game really didn't work out quite the way I had hoped. I really don't think their is any improving it, but hey what can you do. So I am left with two choices, toss all my work into the trash bin and pout in my beer, or take everything I've learned, try again, and drink beer anyway.

It's win win really, I get to drink beer either way :) Luckily I am not creativity impaired, regardless of my lack of artistic abilities - and having learned a lot more about what the criteria are and what Microsoft is looking for, my solution is stand up, brush myself off, and reuse what can be reused, scap the rest and start again. Oh - and yes, yes I do have more ideas. Lots :)

This one has to be better than the last of course - more on it when it's ripe. Stay tunned, I may have lost the battle, but I'd haven't lost the war yet :)

Saturday, November 10, 2007

Brief Update...

Ok, so due to a delay on my part, the BDM won't be looking at the game until Monday. After some initial reviews I decided to upgrade the ingame tutorial before showing it off. Anyway, I should know more next week, and don't worry - concept art really is on the way!

Wednesday, November 7, 2007

Artists, and Coders, and Bears - OH MY!

Well, do to some difficulties I've had to replace the games artist - don't worry the new one is good and should be able to provide some usuable concept art soon. I've also got my hands on a 3D artist - so for the art department I have what I need - one person for the 2D stuff (mostly concept art and menu screens) and one person to render it all in 3D. Now all I need is one other coder - I've a couple of people in mind, but we shall see.

In other news, I am still waiting on feedback regarding the current prototype from Microsoft. I imagine there is still a long way before the game is actually approved, but anything that isn't rejection at this point is promising. As always wish me luck :).

Friday, November 2, 2007

Prototype Officially Submitted.

Alright, so I know I haven't posted up much game news lately, but to be honest there hasn't been all that much to report. However I can say that last night I sent officially sent in the current prototype to Microsoft (along with all the documentation that goes with it). Based on what I have been told, I should have some feed back on what they think of the prototype some time next week. So until then, I guess it's just a waiting game....

Tuesday, October 23, 2007

Prototype Complete...really.




Alright, so I've finished the last few outstanding issues that I had listed in my last post on prototypes progress. The Prototype can now be considered finished from a coding stand point, so all that remains is to work with Microsoft and see if I can't get this past into the next level and to whip my artist a bit in order to get the graphics looking a bit better. (i.e. not the ones I drew :) ).

Saturday, October 20, 2007

Play Testing Again...

Ok, so tommorow, on my 24 hours of freedom from work I intend to repair all the outstanding bugs in the Prototype. Now I really do need play testers to find the rest. So here are the requirements:

You must have:

A PC. (The prototype was built for PC to simplify my life).
Shader 3.0 Complient Graphics card.
An XBox 360 Controller.
Preferably a copy of MS GSE, or the XNA redist.
An updated version of DirectX.

OR - failing a desire to obtain, or not actually having the ability to obtain the above, access to my laptop and I. I strongly suspect most of my testers will be in category two.

If you are interested in helping me test the prototype - either post in my Blog, or e-mail me (those who know me should e-mail me).

Thanks.

Friday, October 19, 2007

Nearly Done...For Realz this time!

Ok - so the AI in the game is complete, and because of it I've made a few minor changes to the game play in order to make everything all the more interesting :). Now there are only a few more components I'd like to have in the Prototype before I really can't add anything else to it except better art without a redesign of the game. (Multi-player just isn't feasible the way the code is currently arranged - I have ideas for fixing this - but they will not be in the Prototype).

So - here is the list:

(1) Fix the bugs in the games help system.

(2) Add the difficulty settings and connect them to the Games AI.

(3) Setup the Opening "CutScene" that tells the story of the game.

(4) ????

(5) Profit !!!

After that, I'll drag it around to my happy go lucky play testers and see what M$'s feedback is.

As always, wish me luck.

Still Chugging along...

It must look like I've been working on the AI at this point for pretty much forever, but what can I say - AI is my favourite part of game programming and so it's the place where I will spend the most time :)

I've implemented the idea I was talking about in my last post - there are few coding errors I need to work out ( I am calculating a directional change incorrectly ) however when you take the error into account the AI pretty works exactly as I imagined it. There are few parameters that will need to be tuned - new AI, new balance between difficulty and fun factor after all, but once those are tuned up and ready to go, the prototype's AI will be ready.

With that done, I'll be adding a few more menu features to control some of the other late additions to the games arsenal, finish polishing up the sound (yay for Audacity) and then - maybe, just maybe - the prototype will be finished. Unless of course I decide to add something else, but at some point that has to end right? I've got to show the game off at some point.

Tuesday, October 16, 2007

Bigger and Badder AI :)

So I just finished working out the main algorithm that will control the games AI behaviour ( this is from the perspective that any new creature I add to the game will use a variation of this algorithm in one form or another ). In order to get the group level behaviour I will need, I worked a way to use a SOM in real time. Basically the creatures will self-organize their overall behavior based on the events they are fed in the game (events having some measure of good or bad of course) - this will produce a final output to which I'll add a little noise in order to get an organized Mob like effect :).

The only creatures this won't work for are the ones that will be working alone - however those ones are special, not fully fleshed out yet, and something you'll have to wait for the full game to see :).

Sunday, October 14, 2007

Shader Problem Solved

I solved the problem below :)

More Shader screenshot


This is my shader on drugs.

Wierd Shader Issue...

This is my Shader working normally...

Short update..

Not to worry, I am not dead - however I have put most of my effort this week into getting the hang of my new and 200x more awesome day/night job then I have for working on the game. Now that I've had a couple of days off I can begin polishing the prototype (and it stills needs polish in my opinion). I won't have much new stuff to show off for a while however, as I am working on a larger feature I've just thought up, reworking the story, and keeping tabs on my artist in regards to getting some concrete concept art together. Most of the actual coding is done however - at least for the prototype. Concept art should be availlable next week, which I may or may not show off - depends on what gets done and of course the opinion of my artist.

Thursday, October 11, 2007

Warning

So after a few...number theoretical delays involving some prime numbers, a power of two, and the candle stick after midnight - I have now received my NDA with Microsoft. This does not mean that I have the contract, but does mean I need to be more careful about what I put on this site. As such I *may* have to remove some aspects, I may not - I haven't finished reading the NDA yet. When I do, I'll make any changes I need to .

Tuesday, October 9, 2007

New Models and "Smarter" AI.


Alright - so two new updates my every so increasingly awesome prototype. First - new models, I wanted to cut down on the triangle count and those aliens were just taking up way more triangles then they justified. Second - although you can't see it, I've finished the update on the aliens AI. It's not exactly what I described trying yesterday, rather a hodge podge of a steering algorithm and the skewed probability heuristic I mentioned. It meets all the requirements and gets results I am happy with for the Aliens behavior. Plus, as an added bonus - I now have a simple way of adjusting the games difficulty level by simply adjusting the parameters that control the AI :).

I'm not exactly sure what else I can add to the prototype, the code base doesn't really extend nicely to all too many more of the full games features (since it was going to have to be redesigned for the XBox anyway) so it's hard to say what to add next. I will however keep my possible non-existent readers posted as I clean up the rough edges for the Concept Submission stage.

Monday, October 8, 2007

On Zombies Swarms...

Todays six million dollar question is: How do we model a crowd of Zombies marching towards a target? Our first consideration should be that our Zombies have no brains - so we can't just shove some simple minded implementation of the A* algorithm and expect to come out on top - last I checked brainless creatures don't come equipped with automated GPS - my former employer not withstanding :) .

So how am I going to solve this latest problem? My best candidate for a solution is a kind of random walk - except in this random walk the probability of moving in a given direction is supplied by heuristic. This heuristic should be such that if we take the HIGHEST probability and set it to one and all other to zero that our algorithm will provide the same path as the A* algorithm. Luckily - my game map has no obstructions (yet) - so creating such a Heuristic is easy - simply divide up the probabilty amongst the different directions. As an added touch (inspired by a response I got from XNA's forums) - when the Zombie reaches some fuzzy threshold switch from the random walk heuristic to the A* itself.

I'll be posting on how good the results of this approach are once I get them implemented into the game.

Sunday, October 7, 2007

More Improvements...



Alright - although this looks like a major change, it really isn't. All I've done here is merged Microsofts billboard pipeline (changed very slightly to suit my needs ) with a new terrain model to add grass to the game. It doesn't look half bad, but I'd like to come up with ways of improving how it looks. That blue sparkly thing in the middle is the star trek like shield static I was talking about last post. I think it looks pretty good, although it's possible that the static could use a little toning down. Now that I have an artist one board, I'd like to find a way to replace those "MSN" dudes with something more along the lines of the Robo-Zombies they are supposed to be.

Saturday, October 6, 2007

I'm really Bad at this Lockdown concept :)

So I wont show any shiny pictures of here today, but I went ahead and made yet another change to the prototype. This time I added cool shader to replace the hack job I was using for the games shield effect. Now that I've got the hang of this whole pixel/vertex shader thing - I can start to make adjustments to games overall look in a more substantial way - graphically, the quality of the prototype is only going to go up :).

Thursday, October 4, 2007

Major Change to Prototype...

Well, if you take a glance at the picture, the change should be obvious. I've completed changed the terrain! Why you ask? Well when I originally imagined the game, there was going to be randomly generated terrain with random boundaries. The problem with this is that it simply makes the game untenable - either you'd be lucky enough to get a map you could navigate, or you stood no chance. This was bad for game play, so I never implemented it. However - I left my prototype terrain generator in. Cost - nearly 60 - 100,00 triangles possibly more. The current terrain is a just a big box - it uses less than 20 triangles - allowing for better performance at higher game levels. So what you see is what happens when you remove the useless fat. I think it kinda looks better this way :D

NDA With Microsoft..

So, my contact at Microsoft has mailed out the NDA for the game today. Based on what's in the NDA I may have to remove some of the stuff that's been put on this blog, so if you are looking for posts that used be there and are now gone in the future this is likely why. Once I have the NDA I'll be filling out the Concept Submission information. To help me with this (and the completion of the game) I've conned (asked really nicely :) ) the help out of an Artist. Once I get past concept submission (if?) - then I'll have to "re-engineer" the games code for the move from Prototype to an actual game of respectable quality. That's the hard part of course - and just making sure I've designed the software correctly could take some time - but like everything else, it's hard work because it's cool.

Wednesday, October 3, 2007

Lockdown.

So it's taken a lot of will power, but I have convinced myself not to make any more changes to the game until people have actually play tested the demo/prototype for me. I've killed all the bugs I know of, balanced the game a bit and made sure all the cool specials that I want in the demo are working correctly. Everything is good in the house of light. Now I need to get my artist on board, and brush on HLSL - which I'll need for the full game. For informational purposes, the prototype demonstrates what would be considered the games "1st level". One alien, standard powers ups, very little AI, and lots of stuff to kill :) . I am not going to say anything more regarding my plans for the other levels, because I pretty much can't right now - but suffice to say that if this works out it's gonna be pretty damned cool!

Tuesday, October 2, 2007

Another Slow Game Day...

Not much to report on game progress today - with the primary functions I was looking to implement in the Prototype complete, most of the changes I've made are small optimizations. I've moved a few matrix mults. to the GPU, removed some extraneous geometry, and reduced the load put on the Garbage Collector. The game should run a bit smoother now, but there are still quite a few more places that could use that optimizing touch :)

Progress on the Publishing front is also slow - I've heard back from Microsoft - they're putting together an NDA for me while we wait for the Account Manager to return with some feedback. If they are anywhere near as busy as I think they are, then I may not hear back from them for a few days.

Monday, October 1, 2007

Prototype Playtesters

Do you wanna be the envy of your peers? That manly man that women simply can't resist! Yes - we thought so - that's why we are offering you this amazing opportunity - become a play tester for Robotic Zen (the code name for Gene's Game Company ) test the awesomest game to hit the arcade for the brilliant salary that is exactly equal to the number of privileged reference frames in this universe! Yes all this can be yours - sign up today!

Partcle Beams for the Win!


The last special effect needed to complete the set of features I wanted to include in my prototype has now been integrated - the all mighty particle beam! Revel in it's pen-ultimate coolness... ok you can stop now.

Now this becomes a waiting game - hopefully I'll get some feed back from Microsoft soon, they e-mailed me saying that would get back as soon as possible. Wish me luck.

Sunday, September 30, 2007

Great Balls of Fire!

Ah yes, nothing smells better than napalm in the morning...unless of course it involves raining fire and brimstone! Although, you have no idea how exhausting mass genocide of this sort is - I mean really! What we see above is of course an example of one the special weapons I've just finished coding into the game - the special weapons are nearly complete, I just need to do some research into another type of particle system for the final effect - once that is added, the Prototype itself will be complete and there will be enough game play to realistic demonstrate what the games single player mode would be like.

(Of course - I don't intend to be the final artist, after all, something tells me sphere went out of style as the primary 3D Model in games years ago :) ).

Saturday, September 29, 2007

Powerups!

Sorry, no pictures yet today - the new content isn't quite ready for my large (read maybe someones cat looks at this from time to time) fan-base. I've got the powerups - whose nature I'm not going to give away right yet - integrated into the main game, I've just got to connect some of the more novel special effects I want to be associated with them up. They definitely do add the much needed extra level of depth that the game needed however - even with only a select few of them actually working the game is far more challenging and requires more thought than before. Hopefully I'll have something really cool ready to show on here in the next few days! (I'm not saying anything - but I always though huge balls of flaming hell dropping from the sky would look cool ;) ).

Friday, September 28, 2007

Highscores !


Now we have a brand spanking new Highscore system - it should be able to store and lookup the games local highscores on both Platforms :) Notice how I am so good that all the highscores are all me :) (Of course we certainly should not consider the fact that I am currently the ONLY one who can actually play the game ;) ) . I don't have much else to report today however - I've started to add a new component for handling the games power-ups. I am not going to say much more about those at the moment, however if things go as planned - they should be rockin' cool.

Thursday, September 27, 2007

Prototype Video 1



Ok - so I may have to take this video off my blog eventually - but I wanted to show people a sample of what the game play looks like at the moment. My motion capture software is kinda primitive, so there is no sound and since it's Shareware there is an annoying nag line at the top of the screen :P . What I am showing here is the bare bones of the game - none of the cooler stuff has been added in yet (can you say Power Ups are Cool and different aliens would be neat? Good, so can I :) ). Anyway - assuming that anyone actually read this (cause you know I only pimp it out daily ) any feed back I can get at this early stage will be appreciated.

The rest of the day will spent hooking in the games high score system so I can finally track my own high scores and maybe a little work on the Design Document.

Wednesday, September 26, 2007

An Explosive Experience

Ok, so technically a cheated a bit on the explosions - I borrowed some code from Microsoft's particle sample (which I can do based on their Permissive License) and modified it to fit into my games framework, still - it's pretty cool looking. I considered writing my own particle system, but this seemed rather pointless when a "plug and play" one was availlable.

I also removed the "special" commands from the Probes - I am considering going in a new direction with this, but I haven't decided exactly how it should work. Maybe I'll say more on this in my next exciting update :)

All my other changes are just quick bug fixes and small improvement to the Zombie attack algorithm (well it's still dead simple and barely deserves the name Algorithm, but it works) - which you can't really see from the image.

Now onwards to decide what to implement in the Prototype next!

Tuesday, September 25, 2007

A Slow Day...

So I have nothing new to report on The Probe, I kinda slacked off today - busy letting all my peers know about my new job I start in a couple of weeks. However I have been perusing Microsofts speakers at Gamefest this year - informative stuff found here:

http://creators.xna.com/Headlines/presentations/default.aspx

Tomorrow we shall experience explosions and smarter Robots - stay tuned!

Monday, September 24, 2007

Playability!


Alright - so I now have all the required functionality to actually play the game! Now it's time to start adding special effect, the individual special powers - you know FLAVOUR! In todays game image we see me near death at the end of Wave #3 of the robots unstoppable onslaught! That little thing in the centre is the miner probe - the ultimate in technology and the very thing which I failed to protect! Of course - I DO have the highest score in the game ever - so that should count for something!

Next on the list to be implemented are the Probes special powers and to make it so the Probes can ... gasp... die! Also - soon to come should be feed back by Microsoft - here's hoping I don't get a standard rejection form letter - although with the way my luck has been ... bah! Stay tuned as the March of gamey awesomeness takes on SPARTAN levels!

Sunday, September 23, 2007

March of Progress - the Interface Advances!

Ok, so this is the games interface so far. Basically what I've added is an indicator telling you which robot you've got selected (sometimes it gets ambiguous -especially when you are zoomed out) and some helper arrows to tell you where you're robot is headed (with out them navigation is just way too hard!). The games still looking like it was drawn by a 10 year old - but the actual features required for game play are starting to fall together.

Probe News

Alright, so Microsoft has at least not outright rejected my game yet, which isn't a bad sign - however the person they've assigned as my contact has been out of the office and won't be back until the 28th so I'm not expecting any new feed back until next Monday. That's ok - because I can use that time to rethink ideas, create magically delicious special effects, drown my sorrows in dangerous amounts of alcohol - you know kids stuff :)

So - where am I in this process, fairly early - I'm at stage "0.5". To get some perspective on how far away I really am from realizing my goal ( one published XBox Live Arcade Game ) - here's the process (taken from Microsoft's Website - see the link in my sidebar)

Step #1 – Submit Concept
Work with the Arcade Portfolio Planning team (arcade@microsoft.com) or your established account manager to determine whether your title is a good fit, and to iron out the business details. This usually includes a first glance brief regarding the game and your company. If the initial concept is approved you will fill out an official Concept Submission Form, which will go through another approval process. Before any game ideas are presented, you must sign a standard, mutual NDA. This protects both yourself and Microsoft. Note: presenting a playable prototype will go a long way in getting your title approved to the next step.

Step #2 – Kickoff
If your title is approved, you will be connected to the Arcade production team to discuss requirements and best practices that are unique to Arcade titles. You will also be lined up with Arcade-specific support materials.

Step #3 – Get Cranking!
Develop an awesome Arcade title that every Xbox 360 owner will need to have! You will work with the Arcade team along the way, to check the progress of your title at various milestones.

Step #4 – Submit to Cert
Arcade titles are certified along with all other Xbox 360 titles.

Step #5 – Release to Market
The title is made available in Marketplace and downloads begin.

I am currently only at the step of convincing them my game could work in their market. It's a long way ahead, luckily I have a steamroller and no actual life - so hard can it be ;)

Saturday, September 22, 2007

The Probe Stage #1


So here we have a zoomed out image of the "The Probe" - it's a bit hard to see, but that's ok - my art sucks right now anyway.

So - what the hades is all this random junk on the screen? Well, basically this is just a prototype, but the game is about a poor lost little group of probes charged with the task of obtaining energy for the great human hegemony.

Unfortunately, having found the penultimate source of energy they looked for, our hapless heroes were quickly assaulted by a troop of mindless zombie alien robots...ok so they need a better description but still, that's what they are. You, the indomitable player are charged with the task of reprogramming the robots to save the day. Only there is small catch (always is) - you can't just send any program, the quantum communicator can only send one of eight programs at any given time - and to make things worse - these program are always changing! Now, armed with only your wits, you must help these probes defend the energy mines from the rampaging aliens and help save the human race from it's energy crises!

Why?

So, other than pure unbridled vanity, or the usual answer of "because I can", the real question is why make a blog about my experience as a currently less than fledgling independent game developer? Two reasons:

(1) Writing about the experience forces me to think about it - and without thinking about it I obviously can't learn from it.

(2) I wanted a quick place to show people the progress on my game - and since I'm not big on building personal websites, a blog was easier.

(3) I want to be able to look back on this recent attempt - success or failure - and remember what kind of wacky, unreasonable, unethical, inane things I came up with before the age of 30 :)

(4) Occasionally I need a place to rant off topic, sure no one will ever read this other than a few friends and myself, but I enjoy the ranting :)