synSpace: Drone Runners -- Coding your own StarMaps
Hi, this is quick and dirty for now, sorry about that. Feel free to suggest improvements :-)
The general idea is this page has resources for helping you learn to code starmaps for
the game synSpace: Drone Runners (for android)
At present, the only resources are:
NOTE: The example is the starting tutorial and contains plot spoilers.
It is also a work in progress. I recently split the api code out to a separate
lua library ('lubrary') so your starMap doesn't need to include thousands of lines
of boilerplate. I will try to keep this page pointed to the most up to date versions.
YOU WILL NEED:
- Some sort of PC text editor that you like. Like notepad, for example.
- Your Android mobile device, with current copy of the game app installed.
- Appropriate network access. Wifi preferred, for the device.
- An interest in learning the lua programming language, if you haven't already.
You shouldn't need to spend any money to do this, given you already had the mobile device, and yes,
I probably charged you a couple bucks for the game itself.
Note that I used to recommend using Google Drive. But now I prefer to just use any
text editor and then drag the file to the mobile device using a USB cable.
But you can actually use any android file storing service if you want your work in the cloud.
Once you publish your starmap, people will get a copy as needed peer to peer from other players.
YOUR WORK FLOW:
- Read an example file until it makes sense, if ever
- Make a new TEXT file, starting with the example code
- Make appealing changes
- Add interesting extras
- Remove irrelevant example crap
- Put back in the crap that was not as irrelevant as you thought
- Save your work (to Disk or Cloud)
- If to disk, then drag the file to the device via USB.
- Start the game (synSpace: Drone Runners!) on your mobile device.
- Launch a ship and open MENU/STARMAP/IMPORT FROM FILE
- Follow android's instructions until you locate your starmap file.
- Use the REFRESH option as needed to make sure you have the latest copy
- The starmap should then load with you on it.
- Play with it, debug, and repeat.
Note that you are on a server while playtesting your work, and other people can drop in
and live fetch a copy from you, if they choose to do so. However, no one has access to
your Source Text Files but you. The game only uses your Text File to import the initial copy
into your device. Once you publish that, it is all peer to peer file transfer between players.
These 'live fetch copies' I alluded to above are not actually stored by the game and only
exist in memory until the game is shut off. To make your test game a permanent published
game you have to CLONE it (button on the map chooser panel). Thereafter it will appear
'forever' in your map chooser, and that of anyone else who plays it (they getting their
copies peer to peer, but ultimately from your source copy). And 'forever' ends when you
push the DELETE button :-) (which only deletes your in-game copy)
WHY SHOULD YOU DO THIS AND OTHER RANDOM STATEMENTS
- For kicks, man, for kicks!
- I apologize for typing that. Hopefully it's fun and educational in the process
- My goal is for it to be quick to add small stories with interesting characters
- While the visualization today is little spaceships, I plan to move this to 3D
- The example script is just one way to do it. The API is very basic and its up to you to flesh it out
- My plan is to move much of that example into a game library you can include or not
- The API is message based, since this is all multithreaded to keep the animation smooth
- As such you can write long lazy sections of code that take minutes to play out, without jamming the game
- I am trying to foster a sort of 'screenplay' view, though not literally
- You don't need deep lua knowledge if you just use my template.
- Then you can just use simple commands without having to understand anything :-)
- Of course, any typos at all and you might have difficulty debugging
- And lua has some oddities, like -- for a comment marker, and you'll want to understand lua tables
- My goal is for a map to be able to add truly interesting additional things, not in the engine
- Though clearly much of that will just be through a long list of predefined properties (tweaks)
- This is version 1 of the API, and one can expect further change.
- But then, I work slowly.
I know budding programmers and authors have a zillion free coding opportunities available to them today, so just add this
one to the list. I think it occupies its own niche somewhere :-) And you will definitely need access to other educational
sources anyway, such as the lua.org site. But while the starmap script is entirely lua based, you don't HAVE to do anything
all that complicated if you don't want to. And, a starmap can have no lua at all, and still be fun. You just need lua if
you want NPCs that can interact with the player.