Quick Search

Site Networking


Daily Click

The Mod Archive

Beta Login

Username: Password:

Welcome to

Welcome to the Live Development Blog!
The Cool Games are at the Arcade!
Current Development: Rodent Rush
All games were safely grown inside of a special digital incubator
A hobbyist game developer's scrapbook.
Think you can beat the all time worldwide highscores!
Run around and eat cheese, mice love cheese
No Trees were harmed in the making of this website.

Spawning Game Ideas
Someone asked me where I got my game ideas a few days ago, and I made up something to make it sound complicated and interesting. I thought it was funny that such a question would come up because I didn't think that my ideas were that original to began with. I guess years of playing games, reading books, and eating candy just all added together somehow.

Game ideas for me usually involve thinking about old games I used to play and trying to recreate the technical parts of it. Sometimes I'll see a particular type of game mechanic in another game, and I'll challenge myself to code it. "That Snake Game" and "Smart Klik" are good examples of that.

"Rodent Rush" however was built completely off of a technical test. I had noticed that in my attempt to fit more into my web games I was also increasing the file size dramatically. And as we all know most people have more important things to do that to wait for a game to download. SO I had to figure out how to split the resources up it to smaller pieces and download them as I needed them. Music wasn't an option because the Vitalize! Runtime doesn't allow for that. All the resources must be either inside of the game file or loaded into memory later. After thinking about these limitations the solution hit me!

The Basic idea was that all of the level data could be stored on the server inside of files. The files would be accessed by the game and each level would be downloaded into memory as needed. That way there would be no need to download all the levels at once!

After putting together a simple system to achieve this I realized that even though it worked well, it was much too slow for the game to look up each level to find it's location on the server. I had to make something faster. Cue in idea number two. The "Database Method." I would send the level data to a database, and since databases excel at searching for data at high speeds it would be perfect!

( Vitalize! has no way of communicating directly with a database, at least not at the moment, so it talks to php scripts to retrieve the data from a database and then send it to the game. )

I set everything up the way I thought it would work and then tested it. It didn't work. "What could be wrong!" I thought. So I setup a little error reporting code inside of my script and ran it again. "DATA TYPE NOT SUPPORTED ERROR CODE..." blah blah blah. Hmm, what could that mean. I had no idea. I took another look at the data being sent. It was a huge file being broken into strings and sent all at once to the php script. Could it be that I'm sending too much data at once? Initiate Plan C!

So I decided I needed a new way to store the level data. Too much data was being sent and the server was rejecting it. That's when single array level storage was born. Basically it involves taking map data and adding it together then making it easier to send by using compression. To make a long story short the server accepted the data!

But even though I went to all that trouble I still didn't have a game idea yet. After making a few testing maps I realized that it looked a lot like one of those little mazes that scientists make for mice to crawl through. So the first idea I had was to make it a collect all the items game, but I kept adding to it.

So my ideas come from many places. The final outcome may not have been my original goal, but the first idea is always needed as a seed to let the rest of my creativity grow... and um flow.
Posted on 21 Jul 2009 by JacobB
Comments are disabled fam, you have spam bots to thank for that. :P
Page Last Updated on: December 25 2018 17:39:05.