Welcome to the Achaea Forums! Please be sure to read the Forum Rules
The Sage2 Framework: An Incomplete Parting Gift
Sage is a telnet proxy and application framework written in Python and designed specifically to make writing code for Achaea suck less. Sage is not a curing system. It can, however, be used to create one.
The Whys and my thoughts on developing for Achaea:
- There are huge advantages to be had by decoupling your system with a client/server architecture.
- There are some Achaea-specific logical assumptions that a general client can't handle as well.
- There are advantages to not having the standard curing system.
- HTML5 is a superior platform to build powerful GUIs than Mudlet. We're just scratching the surface.
- Lua is a great language but the features of Python are better suited for larger applications.
- I wanted a modular framework that would allow me to share code with others easily.
- I like the unix toolkit, using the CLI, and text editors or IDEs. Developing inside a MUD client isn't fun. Mixing code in XML might affect your life expectancy.
- Twisted is amazing.
- Everyone loves their own brand.
Things that probably suck:
- Live code reloading in Python is a mysterious black art.
- Windows users probably shouldn't even bother (see Notes on Windows)
- Writing your own system is a ton of fun and will teach you the game like nothing else, but it will consume huge amounts of time.
- It's incomplete and there are bugs. This is alpha-quality software.
Sadly I won't be able to finish the project. I'm no longer at a place in life that leaves much time for games. Every line of code I write for a game is being taken away from something more important. This post will also be my long overdue farewell. My hope is someone else will see the potential of Sage like the rest of us who use it and become the next developer for it. I'm happy to answer questions and help when I can.
Special thanks to Daje, Sothantos, Ovid, Zeon, and everyone else that contributed.
Thanks everyone for all the fun times!