- Game Engine
Work in progress
Game engine as a Service - rebirth from ashes
You may be interested by part one and part two of the project history. If you’re hurry, Mythic forge is an online multi-player game engine, where the game designers use online tools to create and make their game evolve without outage for players.
The answer I found was to return to basics:
I’ll never be a successful game designer, but I love to make tools.
So let’s improve by pushing technologies I’m using daily.
A total rewrite
This was 7 months I was working on an Open Data service, named SmartData, with Node.js, ElasticSearch and MongoDB. This was a really great experience, because SmartData had to handle and adapt to unstructured data, and especially because Node excels in that field.
In Mythic-Forge, the database model used to be generic, to allow game designers to add their own object classes with custom properties. As the game logic is also written by game designers in the rule engine, I put a lot of effort to make Groovy rules aware of Hibernate transactions, and allow a maximum dynamism to avoid compilation and deployment.
I trashed all the Java and Groovy part, and rewrote it in Node.js (named Hyperion), and replaced MySQL with MongoDB. It took me 10 months.
In the same time, I rewrote also the game designer UI (named Rheia), because it was clear that Resthub.js had a little future. I was eager to experience Backbone.js. I kept RequireJS, jQuery, jQueryUI and the ACE editor, so it was not so painful.
Dynamic languages are trendy nowadays, and they might have better productivity. With Node.js, I really experienced that.
In addition to the previous features, Hyperions adds notable novelties:
- In-game animations with sprites
- Simplified rule writing with changes detections on object and auto-save
- Meaningful rules with custom object properties without the use of getter/setter
- Optimized network sharing among WebSockets with Socket.io and Stompy
- External providers authentication (Github, Google, Twitter) thanks to Passport
- Structured objects and types search thanks to MongoDB
Game UI files are still managed within a Git repository thanks to Gift, a git command-line wrapper to which I contributed a lot.
A space crusade with Deep-Hulk
With “Tales of Eethia 2” failure, I did not wanted to put too much efforts on writing a game from scratch. So I created a digital version of “Space Crusade”, an 90’s board game pretty popular in Europe, taking scene in the Warhammer 40K universe.
Up to 4 players are proposed to fight in a space hulk, where one of them (the alien) plays the hulk inhabitants, and the three others are brave space marines squads, in charge of purging the spaceship from the alien foes. It was a perfect example of turned-based game, and fits well to Mythic-forge.
The main improvement was the ability for players to play in any order (instead of waiting for others to move all their characters), and to play asynchronously, by replaying others actions at connection. A chat was also added.
TODO replay screen video
Almost 95% of the original board game was digitized, and the game is alive (but only in french until now). We played a lot with colleages and friends.
TODO another screen shot
Unfortunately, I totally stopped working on Mythic-forge and Deep Hulk since the birth of my lovely daughter on summer 2014. I regularly have new game ideas, but wait a calmer period before diving again !