I've been working for a while on an RPG (well, eventually an RPG, currently just an engine) using
Phaser (JS). Slowly nearing the minimum required functionality, but this is all from the ground-up, so it's been kind of slow going. (And will be subject to rewriting as I continue to surprise myself at how bad a coder I am.)
Plan is to keep the engine open-source and develop a commercial game using it / alongside it. But that's a ways in the future. Current features include:
- Tetris-style inventory system
- dialogue system with Handlebars templating (for variables and such)
- dialogue editor (based on Lemma's
Dialogger)
- foundations for actor, quest and scene classes
- Tiled map support
- jailed sandbox scripting (in JS)
A little example of a script.
Code:
// Let's assume this is running as the start (first-time load) script of a scene
var quest = iron.quest.get('testQuest');
quest.start();
// Get the current context (the scene), the player and a character.
var scene = iron.context,
player = iron.player;
character = scene.getActor('testCharacter');
// Using the character, start a conversation with the player. Once it's done,
// give the player a medpack and go to the next stage.
character
.sayTo(player, 'testConversation')
.then(function() {
player.addItem(medpack);
quest.setStage('002');
});
Screenshot of the game right after loading. I'm in the process of re-implementing movement and pathfinding with the Tiled map (was using a different collision map format earlier), but currently Darth Sion just stands around on a map of somebody else's tiles.
I've dragged the load/build time down by about 40% to ~200ms with some pretty aggressive refactoring. 200ms isn't spectacular considering the quality and quantity of assets it's currently pulling, but again, I'm working to optimize that as much as possible.
Here's an older screenshot of the dialogue editor. It's since been updated to use a manhattan router, so it's much cleaner and doesn't have the weird anchoring issues.
As for the RPG itself, it's sort of a sci-fi-Divine-Comedy story.
In the not-so-distant future, Earth is devastated in a massive orbital bombardment. It becomes quickly apparent that the planet is not going to recover soon enough to sustain what remains of the human race, so the player and some companions are sent off to a shitty little planet that a group of colonists had left for on a colony ship a century earlier.
They encounter the remains of the colonies, which have all failed for reasons that mysteriously parallel the player's companions' character flaws. As they try to find the location of a final colony, an encounter with the aliens who nearly succeeded in destroying humanity looms, and the pertinent question becomes not so much
if humanity will survive but if it
should.
I'm a writer by education, a programmer by trade and work on a pen-and-paper RPG as a hobby. I'm much happier writing dialogue trees than I am creating levels or designing endless gauntlets of combat encounters, so I'm planning for this to be a short (6-8 hours) but very densely-written game, where the replay value isn't so much in the combat or exploration but the choices you make in dialogue and how that affects how things turn out in the end.
You start off with a shit-ton of ammo and get a huge, high-quality armory to choose from at the beginning of the game proper, but with the planet's harsh environment and the lack equipment, your guns will only get more broken-down, ammunition will only get scarcer, and the situation will only get more and more desperate.
Anyway, that's the hope. We'll see. I've had the idea kicking around for a few years, but this is the first time my coding skills have been anywhere near good enough to pull something off.
I'll keep you guys posted.