A group of overly optimistic people who wanted to kick off a cool project with a bang.

Team Members

Launch Site

Game Genie-rator

A multi-tenant game server/admin that allows players to create their own worlds, update art, and script events in Lua.

V800 default

Description

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.

Admin

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.

Client

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.

Server

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:giveItem("users/30707104", "items/30734116") js.global:say("hello from lua!! x: " .. data.x .. ' y: ' .. data.y) js.global:say("You clicked on tile " .. data.index) `);

Next Milestone

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.

Instructions

To Play

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.

To design your own world

visit http://torch-nko-18.herokuapp.com/admin

Tested in Chrome and Firefox.

Built With

React Phaser Express Socket.io Bootstrap Lua

Feedback / Ratings (0)

All Feedback