One thing I’m always struggling with is how to make sure I store the content of my games in a way I can make sure it will be easy to change it later (even when it’s procedurally generated). I usually find a quick way that doesn’t look too bad for early testing and next thing you know the game is completed and I’m still stuck with the initial system. Well not this time hopefully.

I’m currently working on a prototype for a stealth space game and since I want to make sure to really find the fun in it before going any further I decided to organize the content right away to make it easier to test various scenarios. As I’m playing with it I’m realizing that the stealth part of it becomes more the story than part of the core. What I mean is that even though it’s still early I can already see someone taking up this framework and creating something totally different with it.

First how do I play?

You can go to http://www.machine22.com/smuggler to check the default version of the current prototype. Left-click to pass the dialogs and then hold the left mouse button to move your spaceship. Check the really ugly minimap to figure out where you are.

Use the mouse wheel to zoom out/in.

Press SPACE to activate the speed booster. Later if you figure how to add turrets to your ship you can press Z to fire them.

How do I mod it?

Click the following link to download a ZIP file containing a SWF file, some .txt files where all the magic happens and some PNG files: http://machine22.com/smuggler/smugglergame.zip

There’s a readme.txt file in there that gives some info on top of the following.

SmugglerGame.swf

This is the game. Right-click on it and select “Open in Chrome/Firefox/…” to see the game as large as possible without messing controls.

data.txt

Don’t bother with this one. In theory it’s where all the missions are stored but the code will really only consider the mission1.txt file. Don’t delete it as it’s still used by the code.

DATA directory

Whatever you add or change it must be located in the data directory. You can create your own directories in there or use the ones already there.

If you wish to share your mod (send them to me to dave@machine22.com) I suggest creating a directory inside data/ and name it after your name or something. Put all your stuff in it.

DATA/MISSIONS/mission1.txt

This is the only mission file being considered by the game right now so if you want to create your own mission you’ll have to modify this file.

The format of the data in this file (and all files) is the following: field = value

There are some tags that identify the following line as a specific entity. Here’s an example:

[ship]
id=1, type=ships/enemy1.txt, team=2, x=600, y=200, route=0|0+100|600+1300|-200, escort=0

This line adds an NPC. Remember that you always have to put the [tag] before adding a new element. You just can’t put the tag once and then put many ships under it. You need the [ship] tag for each ship.

All the paths are from the data/ directory. So let’s say you have a file in the following directory:

c:\smugglergame\data\images\ships\1.png

The path you must type in the .txt files is the following:

images/ships/1.png

From there I’ll let you check the current text files and the readme.txt file. It’s not much info to go with but it’s not too complicated either. When in doubt just make small changes and see how the game reacts.

One important thing to note is that it’s a prototype… really. So if you mess something up then it might just crash or not load at all so if nothing happens you’ll know there’s a problem somewhere. Later I’ll add some logging function to help you track what you did wrong.

Things to try

  • Add turrets to the player’s ship
  • Add a radar to the player’s ship and look at the turrets automatically fire at enemies
  • Change the stats of ships to make them move differently
  • Change the graphics and turn this into something that is NOT a space game

Remember to send me your mods. If I get some really good ones I’ll make another post to show them. Have fun!

Share