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:
- Access to the Chrome browser, with a nice keyboard.
- A working Google Drive, accessible by that Chrome Browser
- Some sort of Google Drive plug-in that supports TEXT files. I use Drive Notepad
- Your mobile device, with current copy of the game installed
- Appropriate network access. Wifi preferred, for both the device and Chrome
- 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 Chrome and the mobile device, and yes,
I probably charged you a couple bucks for the game itself.
Note that Kindle Fire does not come automatically with GDrive access, since that requires a
connection to "Google Play Services". I can only wave my hands as to whether YOUR kindle Fire
is able to open g-drive files. Mine is not, so I use a Nexus tablet for script importing/testing.
YOUR WORK FLOW:
- Read an example file until it makes sense, if ever
- Make a new Google Drive 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 Google Drive)
- Start the game (synSpace: Drone Runners!) on your mobile device.
- Launch a ship and open MENU/STARMAP/IMPORT FROM GOOGLE DRIVE
- Follow google's instructions until you locate your starmap file.
- Use the REFRESH option as needed to make sure you have the latest copy
- I think the button is SELECT to start the import
- The map should then automatically 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 Google Drive but you. The game only uses your Google Drive for the act of importing
the text file. After 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 :-)
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 WoS:Rune Runners
- 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 (easy)
- My goal is for a map to be able to add truly interesting additional things
- Though clearly much of that will just be through a long list of predefined properties
- This is version 0 of the API, and one can expect change probably
- 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.