Skip to content

Instantly share code, notes, and snippets.

@selfsame
Created February 15, 2018 19:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save selfsame/ede756e8547863c9e3b01da898aed5a7 to your computer and use it in GitHub Desktop.
Save selfsame/ede756e8547863c9e3b01da898aed5a7 to your computer and use it in GitHub Desktop.
tilde.town platformer

Users claim coordinates of a "room", and define the layout with ascii

#location
5,7

#layout
 |  $ _/
_|  _  _=
___/ \___

The game engine turns these charicters into collidable geometry.

Some characters could represent standard entities like spikes, moving platforms, trampolines.

Rooms are a standard size of X by Y dimensions.

When the player leaves the room, the game would load the neighboring room in that direction.

scripting

Users can extend their rooms with special scripts. This involves defining an asci entity region, and associating js script with it.

#entity:portal:4,4:teleport
 ^
<@>
 V

#script:teleport
{
  "trigger": function(player){ load_room(6,8) }
}
@jmdejong
Copy link

This looks like a nice project, but it's not really what I had in mind.

What I had in mind is not making a game engine at all (maybe something for the example game), but letting each game have its own engine (if the users want. Otherwise they can just copy the default game and change the level).

Maybe my idea is just a protocol for linking tildetown user javascript games.

I wrote my design ideas here: https://gist.github.com/jmdejong/8711e9ad760218f5a75ae4015e7739e7

Your idea would make a nice project as well. I don't think I will start it myself, but if you'd work on it I could help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment