Main      Site Guide    
Smash Tutorial

Implementing Your Game In Smash


Plan of Attack

When you have your game mapped out and designed, it's time to implement it in Smash. Write the copts.sma, start.sma, game.txt, and objects files first. Then write one location at a time, probably starting out where the player starts out in the game. Keep track of the variables you use so you do not accidentally reuse them and overwrite your data. Test the code periodically, so that, if you are doing something wrong, you don't continue to make the same errors and wind up with a lot to fix down the road. It wouldn't be too cautious to test after every 1-3 locations you write. This is, of course, a rule of thumb: sometimes multiple locations are heavily interlocked, and it's not practical to test them until you've gotten the whole section coded.

Running Smash

Of course, this brings us to the fundamental question of how one can run and test Smash code. Currently, the available options are limited. I do allow certain developers of Smash games automated access to a test area, where Smash code can be uploaded to my server automatically and tested there. However, because this is a small security risk, I only allow people to do this that I trust and believe are serious and dedicated about seeing a solid Smash game through to completion and which I will be able to use on the Adventure Games Live site when it's done. Obviously these are pretty restrictive criteria and exclude a lot of people.

The good news is that Andrew Walters, the author of The Perils of Akumos and other games, has written a Smash interpreter called Rex, which can be installed on your home system. This tool will allow you to run your Smash code and view debugging information as you go. Download Rex here.

Wrapping Up

If you want your game to be released on Adventure Games Live, then, once it's done, it must undergo some fairly strenuous testing. If you've been developing using Rex rather than the testing area on my server, then I'll install your game onto my server and make it available for testing. Then you and I will both do the most exhaustive start-to-finish testing we can of the game.

It's important that at least the last round of testing occur on my server, just in case there are small, weird incompatibilities between my Smash engine and Andrew's Smash interpreter.

Once the game is released, you'll have access to an administrative area on my server that will allow you to view other players' saved games and track their progress through the game.