ezRPG’s resurrected, rebuilt, and rebranded: lyraEngine

Background

For quite some time, I’ve been involved in an open source project called ezRPG, which envisioned itself as a Modular PHP framework with the sole purpose to be a Text-based MMORPG engine. For those that don’t know or understand the concept of Text-based MMORPG, instead of having a Video Game with an immersive 3D world that allows you to control a player in real time, Text-based Games rely on just text and “static” graphics to narrate the game. A few great examples in mind would be http://KingsOfChaos.com or http://Darkthrone.com . Players log in, they see tasks, and they initiate actions to be done. Instead of seeing or controlling a character visually, they’re controlling their destiny by reading text. “You’ve attacked player Y and stole X amount of Gold!” From here, a graphics designer can build on top of that framework whatever you’d like using any web technologies they so choose. I’ve seen some take it as far as building immersive graphics like 3d Planes using HTML5 and Javascript, all manipulating and expanding on the framework’s own API.

The Rise of ezRPG

I wish I knew where ezRPG began, but I at least know where I joined in. I found ezRPG around the time of release 0.06, when the system wasn’t very modular in any sense of the term, and actions were laid out in individual files in the root directory. A great example of what it looked like would be to look at an ezRPG 0.02 fork called Dynamax “http://sourceforge.net/projects/dynamax/” Dynamax was built to try to add customization missing from the ezRPG source, until they were finally built. At the time, the creator and sole developer was an individual who went by the name of Zeggy. Zeggy had an ambition to really build this framework and as he started opening the doors to more developers to assist, Zeggy’s work was always a welcome to see the “creator” like and combine individual’s additions to the system.

Sometime around 2010, Zeggy then brought us the first start to a new release structure of ezRPG with the 1.0.x series. We started to see a nice modular design come into place as well as the beginnings of some advanced concepts for Plugins like Hooks, Modules, and libraries. Zeggy though started to drift away, leaving to a select few like myself and a buddy, Jake B, to keep the development going. Finally though, after a few months, Zeggy announced to us that he was stepping down and would leave ezRPG to the decisions of Jake, who then also placed me high up in the structure for development and design decisions.

New Beginnings and Internal Struggles

ezRPG 1.0.2 was the last release that Zeggy gave us before Jake and Myself took over the development, and we knew that things were left massively unfinished. Internally, we had a few design differences on the road map for ezRPG. Personally I wanted to keep going with the development and just keep building on the ezRPG 1.0.x. By the time that I created ezRPG1.2.x I had started adding in Smarty hooks, Multiple-Theme support, Menu system, and started work on a Module Management system. Jake and a few others though wanted to start anew with ezRPG and move past 1.x on to ezRPG2.0 with a number of design and fundamental changes. No more would we be based on Zeggy’s framework, but instead a new framework that was complient on a number of PSR concepts, moved away from a Smarty template system to a .phtml system we hand coded, and implemented a number of changes in terms of how Modules/Models/Hooks were to be created. In basic terms, ezRPG 1.x was meant to be backward compatiable as best as possible, whereas ezRPG 2.x was to be the new beginning. Until of course, everything failed. ezRPG 1.2.x had so many hacks and makeshift creations, that it was not stable nor backward compatible to 1.0.x. Modules had to be tweaked in such a way that while upgrading them would be pretty straight forward, the installer/manager was still unstable. ezRPG 2.x had great design concepts, but was overly complicated to get started, unstable, and due to how Models and the DB were connected, every model spun up a new instance leading to undesirable results. We had failed.

From the Ashes of Defeat, Rose a Better Creation

After some time, I believe we ended development on both projects around Nov 2014, we finally decided to reimagine and refocus our efforts that we previously had. As I’ve stated before, ezRPG 2.x had great features for great potential, we just executed it poorly. The base framework that ezRPG 2.x was based off of, Swiftlet, had also grown since we first started. The new Swiftlet releases felt much more cleaner design wise, especially in terms of how they broke down the Application Source and added Composer support. With this rebase, we decided that now was a great time to rebrand. We no longer developed ezRPG, no longer had the support of the original developer or his code, we needed to take off the rags of our founding idea and produce something better. So we decided on a name and listed exactly what we wanted to do, and before we knew it, by Mar2015 lyraEngine was born. lyraEngine (lowercase L and Uppercase E) would combine Swiftlet, Twig Templating, and from there we’d start to build our framework. I personally took to porting any usable code from ezRPG 2.x, and before we knew it, we had a concept that was much more stable and faster than ezRPG could have been.

And that’s where we basically are now, we’re still developing for a public release, currently I serve as lead developer and Jake holds down the webserver for our Support boards. We’re still looking for veterans of the old ezRPG series to want to join our ranks, but thus far, it’s been a quiet and small team.

http://www.lyraengine.com

 

Repos:

https://github.com/ezrpg/ezrpg-2.0.X-discontinued-  ezRPG 2.0 Discontinued

https://github.com/ezrpg/ezRPG-1.2.x   ezRPG 1.2.x Discontinued

https://github.com/ezrpg/ezrpg-1.0.x  ezRPG 1.0.x Discontinued

 

Special Thanks:

Ferdi “Nands” – ezRPG 2.0.x co-developer

“John” – ezRPG 2.0.x co-developer and provided developmental insight during the start of lyraEngine

“Zeggy” – The Original ezRPG 1.0.x Developer

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

One thought on “ezRPG’s resurrected, rebuilt, and rebranded: lyraEngine”