A group of overly optimistic people who wanted to kick off a cool project with a bang.
A multi-tenant game server/admin that allows players to create their own worlds, update art, and script events in Lua.
We went in this year knowing we would not complete our entire project. What we have currently is the proof of concept for a multi tenant 2D RPG game generator which serves the game to players, and the admin area to administrators. Lua scripting is currently limted to a static script, and game content is editable - but does not drive the example game client.
The project is broken in to 3 parts.
The admin allows users to create their own unique world instances. Change the artwork for the terrain as well as any items, NPCs, or fixtures they find while exploring.
The client renders the game in phaser, and receives "actions" from the server to update player positions, and render chat messages. It sends "intents" to move around, interact with the world, and send chat messages. In the future, it will use the same concepts to cast spells, open shops, and interact with NPCs for quests and other events.
The server streams "actions" to players about the map, players, NPCs, items, fixtures, and chat messages. It executes Lua scripts with a provided context. We did not end up connecting the Lua editor with the admin.. but it is executing a static Lua as the user double clicks the map.
How sweet it would have been to make this part available to the admin user :(
this.game.runUserScript(identifier, data, `
js.global:say("hello from lua!! x: " .. data.x .. ' y: ' .. data.y)
js.global:say("You clicked on tile " .. data.index)
The next milestone will allow players to manage their running instance in real time. Edit Lua scripts for all types of events (using an item, using a fixture, equipping an item, spawning an npc, killing an npc, and so on.). You will also be able to edit the attributes of items and NPCs. Create loot tables which will drop as an NPC dies. You'll be able to adjust how frequently these NPCs spawn and how often they drop loot.
visit http://torch-nko-18.herokuapp.com to play with others. Use arrow keys or WASD to move around the map. Press enter to focus chat, and enter again to send. Click and Double click on the map to see the results of the Lua scripts in action.
Tested in Chrome and Firefox.
React Phaser Express Socket.io Bootstrap Lua
No feedback has been posted yet for this entry.