4 ms·
In my free time I've been working on a 2D MMORPG engine in C#. I'm working on the networking code right now, working toward being able to connect and move arou
by opticfluorine 7y ago
In my free time I've been working on a 2D MMORPG engine in C#. I'm working on the networking code right now, working toward being able to connect and move around the game world. I'm enjoying the network code, but I'm really looking forward to getting back to shader code and implementing dynamic lighting at some point down the road.
Wanting to build an MMORPG was the main thing that got me interested in software development over a decade ago, so it's been nice to be able to work on this hobby project again.
- jessehorne 7y agoBuilding a MMO was my dream for a long time and it's what kept me learning for several years. I haven't accomplished the goal but I will, one day.
- opticfluorine 7y agoI've been telling myself that I'll finish one day too, and now on my eighth attempt, I think I can pull it off. Learning to manage long-term projects has definitely helped me with that.
- pvinis 7y agoThat must be so fulfilling and a huge thing to be proud of. Good luck :)
- opticfluorine 7y agoThanks! It's very fulfilling. Part of me always feels like I should be working on something else that I could eventually monetize. But this has been my passion project for a long time, and I've learned so much - both now and back when I was just starting out - that I think it's worth it personally.
- bladedtoys 7y agoThis sounds like great fun, especially having a nice front end. I built something similar on google app engine way back when it was new and cheap. It was browser based so more text than cool graphics. And I didn't get to play with shaders. It may sound dry but I was thrilled with the challenges of coding for NoSQL BigTable and its promises of cheap scalability. It was a fun project.
- opticfluorine 7y agoThis really resonates with me. My big motivator has always been the challenge of all the different technical details. Persistence was certainly a fun one, though I stuck with a RDBMS instead of going the NoSQL route. It's why I'm making an open source engine instead of focusing on making a single game - I can work on whatever tech problem I find interesting at the moment, and eventually (I hope) others who are more interested in the creative side will be able to build off of the engine and create their own games. My first run-in with MMOs was back in the day when there were lots of random MMO engines written in Visual Basic 6, and the indie MMO community back in those days was amazing.
- bbbobbb 7y agoNice! I am somewhat surprised how there are no modern 2D MMORPGs. It seems like it should be inherently easier to develop those, but there is nothing. I think it's a pity because simpler engine / graphics should allows for more resources to be spent on other areas regarding the gameplay. Maybe those games just aren't popular enough to justify the development in comparison to bland but flashy 3D games..
- opticfluorine 7y agoI think you might be right about the popularity. Major commercial MMOs are deriving revenue from either subscriptions or microtransactions, with the latter becoming much more common (and requiring a far larger userbase to maintain profitability). The trend toward "bland but flashy 3D" has been around for a long time now, so it makes sense in my mind. About ~ 15 years ago there were quite a few 2D MMO engines freely available, mostly written in VB6. The two big ones were ORE (a very basic FOSS project that didn't support much beyond logging in and walking around) and the Mirage family of engines (closed source, but was licensed and forked quite a few times, most notably into the Playerworlds engine). The various Mirage engines, especially Playerworlds, really lowered the barrier to creating MMOs, and consequently there were quite a few indie "MMOs" with userbases of ~ 50 - 100 regular players. I know of at least one other FOSS engine project out there (Lunar Engine, which is much further along than my own) besides mine. My hope is that if a few easy-to-use engines are made available and promoted well, another community will form around these 2D indie MMOs. So we'll see what happens.
- seventhtiger 7y ago2D MMOs have morphed into casual mobile/web games. Full hardcore MMOs are a smaller market now with a few juggernauts, and they're all 3D.
- seventhtiger 7y agoI like C# as well. What kind of front end are you using? Web or native?
- opticfluorine 7y agoIt's a native frontend, using SDL2 for windowing/audio/input/etc and Direct3D 11 (via SharpDX) for rendering. Backend targets .NET Core and is meant to run in a container on Linux.