opticfluorine | Sovereign MMORPG Engine
banner
sovereignengine.com
opticfluorine | Sovereign MMORPG Engine
@sovereignengine.com
Developer of Sovereign Engine, an open source 2.5D MMORPG engine. https://sovereignengine.com | https://github.com/opticfluorine/sovereign

#gamedev #mmorpg #programming #software #gaming
Pinned
Are you interested in 2D #MMORPG engines? Ever wanted to make your own #indie MMO? We're building an open source 2D #MMO #engine for indies and hobbyists. Follow me and star our GitHub for more! github.com/opticfluorin...
I've been using Lua coroutines for dynamic entities in Sovereign Engine. They're a very intuitive way to model complex dynamic behaviors. But how well do they scale in memory with large numbers of concurrent entities? opticfluorine.dev/posts/lua-co...
#lua #scripting #gamedev #performance
Memory Overhead of Lua Coroutines
Lately I’ve been working on adding NPCs to Sovereign Engine. Sovereign uses Lua 5.4 for server-side scripting, and after playing around with behavior scripts for a while, I’ve settled on a design I li...
opticfluorine.dev
September 7, 2025 at 10:37 PM
Sovereign Engine's NPC support is now 50% complete! The integrated NPC editor together with Sovereign's powerful scripting engine will allow creators to make rich dynamic game worlds for their ORPG. Stay tuned for some demos in the near future.

#gamedev #rpg #orpg #mmorpg #indie #opensource
June 19, 2025 at 2:39 PM
Sovereign Engine v0.6.0 has been released! This release continues to add fundamental mechanics together with bugfixes and performance improvements.

Highlights include:
* Physics, jumping, and collisions
* Calendar with day/night cycle
* New Windows installer

Check it out at sovereignengine.com!
June 8, 2025 at 5:37 PM
Thinking about procedural generation of large worlds... The Minecraft approach - multiple noises feeding elevation, surface decoration, biome picking, etc - is very interesting. I want to try using wavefunction collapse for tiled noise as input to a higher layer - should be interesting. #gamedev
December 29, 2024 at 2:07 AM
Reposted by opticfluorine | Sovereign MMORPG Engine
December 22, 2024 at 2:40 AM
Reposted by opticfluorine | Sovereign MMORPG Engine
Live now at twitch.tv/SpaceRobotArm

Streaming RPG Maker 2000!
December 20, 2024 at 12:51 AM
Just added to the server-side scripting in Sovereign: entity creation! Pass in a table of components, get back an entity. Doesn't get simpler than that.

My to-do list of how to use this:

* Put starter packs in new players' inventories
* Spawn monsters everywhere

#gamedev #mmorpg #indiedev #lua
December 18, 2024 at 2:25 AM
Today's engine update: players are now identified with their names above their player sprite. It's a small change, but for me it's starting to make the engine feel "real". Excited to keep pushing forward!

#gamedev #mmorpg #indiedev
December 16, 2024 at 3:38 AM
Reposted by opticfluorine | Sovereign MMORPG Engine
All of the Christmas cakes together! Which one would you choose? 🎄

#pixelart
December 15, 2024 at 10:10 PM
I've been enjoying this playlist on Behavior Trees from Petter Ogren. Can anyone recommend some other good materials on behavior trees, especially scalable many-agent models?

youtube.com/playlist?lis...

#gamedev #ai #gameai #compsci
Introduction to Behavior Trees - YouTube
This is a series of lectures on Behavior Trees, a hierarchical modular way of combining control policies for AI and robotics.
youtube.com
December 15, 2024 at 1:52 AM
Added support for high DPI displays to Sovereign Engine! Here's a screenshot of the built-in Resource Editor using the new font and improved scaling.

In the meantime, work continues on the server-side Lua scripting engine, which is 80% complete.

#gamedev #indiedev #mmorpg
December 14, 2024 at 2:45 PM
Great retrospective on the hobbyist 2D MMORPG community from the early 2000s. Lots of creativity and innovation with limited resources - fascinating work.

youtu.be/hgbjhlGDHaw?...

#gamedev #mmorpg #mirage #vb6
Mirage Source - A Look Through History [Part 1]
YouTube video by Mirage Gaming
youtu.be
December 8, 2024 at 1:36 AM
Another fun bug: all of the sprites drawn on my GUI kept flickering, but only on AMD GPUs. Never NVIDIA.

I was updating a uniform buffer for the texture offset. The graphics lib missed a barrier for uniforms. Patched library, sent a PR, works now.

And that was my intro to Vulkan.

#gamedev #bugs
November 30, 2024 at 11:51 PM
Favorite bug so far: early on I ran into an issue where the engine reported the mouse was hovering over an object one space down from the cursor. Turned out the mouseover code was fine, the renderer was drawing everything off by one and the whole world needed to shift. Oops!

#gamedev #bugs
November 30, 2024 at 3:30 PM
Modernizing the engine code is off to a great start - just got the server running again, but now with the built-in Dependency Injection and Serilog instead of Castle. Startup times are dramatically faster, and the code is much cleaner!

Next up, getting the client to run again.

#dotnet #gamedev
November 27, 2024 at 4:43 PM
The old way of doing dependency injection: reflection-based containers that compose from the inside out at runtime. Switching to a modern outside-in container is a mental shift, but gives much cleaner architecture and better alignment with .NET source generators. Worth it.

#dotnet #ioc #programming
November 26, 2024 at 2:57 AM
Taking a break from implementing the Lua scripting backend in order to eliminate some technical debt. .NET has changed a lot since I started tinkering with this project, and it's time to catch up with Generic Host and the built-in dependency injection. Big effort, but worth it.

#dotnet #gamedev
November 26, 2024 at 2:18 AM
Reposted by opticfluorine | Sovereign MMORPG Engine
November 24, 2024 at 8:35 PM
Reposted by opticfluorine | Sovereign MMORPG Engine
D&D Combinatorics xkcd.com/3015
November 23, 2024 at 12:59 AM
“What if you just actually modeled another world, in as much detail as possible, and let players loose?” -- Raph Koster, Ultima Online's Influence

This is what inspires me. I think an open source engine, free of any commercial obligations, can achieve this. And it's fun to build a game like this!
November 23, 2024 at 1:35 AM
One of the topics I struggle with while designing an MMORPG engine is accessiblity. One idea I had was allowing chat to be opened in a web browser with aria tags and everything set up correctly.

What would you want to see in an accessible MMORPG?

#gamedev #mmorpg #accessibility
November 22, 2024 at 1:11 AM
Going down the Ultima Online rabbit hole... Here's a great article from @raphkoster.bsky.social that talks about the emergent gameplay in UO and some of the consequences that came with. We need more games that are this dynamic.

www.raphkoster.com/2017/09/28/u...

#mmorpg #ultima #gamedev
Ultima Online’s influence
This is the first question I’m answering from the ones I got for UO’s 20th anniversary. I never played UO, so not knowledgeable. Maybe a routine question, but how do you think #UltimaOn…
www.raphkoster.com
November 21, 2024 at 1:28 PM
This Ultima Online postmortem always gets me extremely motivated to work on my own MMO engine. There's something fascinating about how emergent the entire game is. How can we design systems that embrace this?

youtu.be/lnnsDi7Sxq0?...

#mmorpg #ultima #gamedev #gdc #postmortem
Classic Game Postmortem: Ultima Online
YouTube video by GDC 2025
youtu.be
November 21, 2024 at 3:18 AM
I've been working with C#'s Incremental Source Generators to generate bindings between the engine and the Lua scripting language. I'm really liking it so far - it makes it very easy to apply functional programming to the syntax tree and generate code. It's readable too!

#dotnet #gamedev #lua
November 21, 2024 at 12:52 AM
Reposted by opticfluorine | Sovereign MMORPG Engine
If Balatro proves anything, it’s that less is often more.

You don’t need flashy graphics, a deep story, or a sprawling universe to make something great.

Focus your scope, define your vision, and absolutely crush what you set out to do.
November 20, 2024 at 1:53 AM