The joys of development. Part 2

MMOs follow a different development pattern than normal (offline) games. For offline games, the development stages are Design -> Alpha Testing (creating your systems and features) -> Beta Testing (Testing your features publicly, or privately) -> Release. I am pretty sure Funding is a step in there somewhere. After all of the above, there will be patches to fix bugs until the game is solid enough to be called complete. After all of that, there might be some DLCs/Expansions to add brand new chunks content to the game but NOT to complete the initial game.

If you are a bad publisher/developer, you will release partial games for a price and release the rest of the core game as “expansions” and “DLCs” to get more money out of your player base. That is evil in all sorts of ways, but I digress.

Now there is something called, Early Access. Some places charges you, others do not. Either way, you are the tester for the company. They should be paying you, not the other way around. Or at least be free during that phase. This could be alpha testing. This could be beta testing. Who knows.

MMOs… are a bit different. They are constantly in development there is no end. Although, some devs get fed up and create a new engine for a version “2.0” instead of upgrading engines in place.. hmmm.. Even though the main stages are the same… normally, after release, the cycle starts again on a chunk of new content. And, ethically and morally, if the chunk of content is big enough, it can warrant charging for it. (( -ahem- unlike Warcraft and Guild Wars 2’s last 2 “Expansions”. ))

Some free MMOs make their money from Microtransactions. Whether they are pay-2-win or glamour/mogs, money is needed to keep the servers up, staff paid, and shareholders happy.

Other MMOs, like mine, are passion projects. Zero microtransactions of any kind. Just play and grind.. play and grind. The upkeep costs are all paid out of pocket (and by donations). And the development progress is often slow as time is valuable and FREE doesn’t pay the bills. The process for mine is to constantly churn features until I am happy where they are at, and content… until I die. (fun, eh?)

My platform release path is as follows (all 64bit):

  1. itch.io / Windows
  2. steam / Windows
  3. steam / Steam Machine OR Steam Deck
  4. steam / (opposite of #3)
  5. itch.io AND steam / OSX (Macintosh)
  6. itch.io OR google play / Android (tablet/phone)
  7. Apple / IOS (iPad / iPhone)

Number 7 is my lucky number, and I love Apple devices, so that should be either lots of fun or total hell. I wonder how many shots were fired in that rant of mine above? Ah well…

The joys of development.

oh! A new post? This is actually a simple post before bed time. RSS2Discord bot is complete. It took a while but Discord is a real PITA when it comes to images. So that is now all setup and running. You can see the results in the discord server.

Github organizations is… quite frankly, a bloody mess. As part of subscribing, you must create yet another account as an “organization”, then attach your account to it. The design was not thought out as it should have been possible to convert your current account into an Org and be done. Bah!

Visual Studio 2026 is also a bloody mess when interacting with organizations. Undocumented, IMPORTANT config changes required that Microsoft decided not to document. Expected, I suppose. When I migrated from Visual Studio 2022 Professional to 2026 Community.. it was due to Microsoft delaying selling of real (not subscription) licenses for… no reason. Don’t even get me started on the Visual Code April Fools joke of a notepad. Yuk. Eventually, I’ll grab a key for 2026 when Microsoft sells them.

I don’t know if I have posted this yet, but the Steamworks SDK has an eye watering, majorly embarrassing bug that prevents you from running your servers on Linux for a game that has not been publicly published. Meaning, if you are testing your MMO server, you must run that server on Windows thanks to this bug. It is well known, but not documented. There are about 3 google results on the bug. So this means this means the server must run on Windows (uuuuhhhhhhhhh) until published, then it can migrate to Linux. W. T. F. ????

Combine the above with the overly complicated deployment requirements means that I will be releasing on Steam a little farther down the development line. Until then, I can release on Itch.io. It contains proper APIs, like Steam, for authentication and proper Ids. I even have a page at alaskandruid.itch.io/osinia I -think- you might need a key to see it. I can hand those out easily enough. Request key in Discord.

The page is simply a place holder and there is nothing to download at the moment. The community features are disabled as that is what Discord is for. My plan is to run some tests right after U.S. Thanksgiving. Please note, the game will be designed to work only when launched from the itch.io client and -not- stand alone.

I develop with two things in mind. Release Early, Release Often (RERO, Scooby???) And… make it work FIRST, then make it pretty. There will be a lot of releases, mostly small changes, some viewable, some not. There will be new features that will look ugly as hell, but will be “prettyfied” in later releases.

On to part 2….

Tech fun!

Today is a technical day. Had to take a bit of a break since my last post, so now I’m back in the groove for today. Unfortunately for some, this is another technical post. Upgraded from Visual Studio 2022 to 2026 for some dev speed. Upgraded to .Net 10 for some optimization speed ups which is critical for server side. Grabbed a dedicated Osinia github account (paid FTW) for a multiple repositories for all things Osinia related. Unfortunately, someone registered my unique name, (Osinia) so mine is OsiniaMMO. Yay?

A public Issues repository was created. This allows bugs and feedback to be recorded there for both internal and public tracking. Any reports via discord, steam forums, reddit (?), will be linked to there based on some criteria. For instance, if a bug is reproducible, then it’ll be recorded. If a feature request is accepted, it will be recorded. If a feature request is -not- accepted, it will be recorded so that can be referenced in the future.

Basically, in order to submit bugs/feature requests, you need to make sure it wasn’t already submitted. This repository is now linked to the discord server’s github channel.

Some time in the near future, I need to wrap up the custom RSS2Discord bot, setup the website, and setup a documentation site. Doc site will most likely be linked to github pages via sub domain so that the public -could- contribute.. AND there is no ads or malware found on various wiki hosts out there.

Finally, after all of the above, I can get back in earnest to coding.

Discord Integrations

This will be a very quick post :)

Been working on Discord and it’s various integrations today. Got the MEE6 bot integrated for moderation, rules, and role management. Got a FeedCord bot setup for integrating this blog into discord so all updates are shown there. Please note that this bot will check hourly. For some reason the MEE6 bot does -not- support all valid RSS feeds.. it’s a bug. So a separate bot is needed for that.

Got the github bot integrated into the OsiniaIssues repository so that all bugs, etc can be tracked there and updates can be provided in discord. This means that any bugs reported on the Steam bugs forum or the discord bug forums will be added as an issue in the git repository ONCE the bug is replicated by the devs (myself and possibly others). Can fix what we can’t replicate. This also means that any upcoming features should be recorded there as well.

I will eventually add roles such as Steam, Itch, Android, and IOS once/if Osinia is released outside of Steam.

Ah, the discord link… discord.gg/9TkXapx2J…

First post!

First post. yay! This blog is to chronicle the development of Osinia, a MMORPG by a single dev. Single dev MMOs have been around since at least 2001. So this is my plan to join in on the fun. I have a design doc, and working through a WBS (work breakdown structure). I am currently working on the toolset (various editors). My plan is to keep the technical aspect of this using the KISS principle.

This is an “old school” 2D mmorpg. Think Final Fantasy 1 - 6 in terms of the technical side. Everything is built in house to reduce the bloat. So no Godot, no Unity, no Unreal, etc. This will initially tightly coupled with Steam for Windows 10 and higher. Minimum resolution will be 1080p. This is developed in a way where it -should- run similar on both Windows 10+ and OSX via Steam. There will be no support for Linux as it is -not- a serious desktop OS. There are plans for Android and iOS releases, but those are in the far future.. as a possibility, not a guarantee.

And… to cut off any confusion, “massively” in mmorpg is defined by it’s actual definition. The ability to have hundreds of players interact with each other. Meaning, I need to test for a minimum of 200 players.

Please note that this is my personal mmorpg. Something I have been wanting to create for a long time. Now that I am getting closer to retirement, I can finally spend time on this. I will post the website when it’s ready. I’ll also post the discord and issue tracker when they are ready.

Well.. I should show a little progress. So.. this is the tileset editor. Since this game is both skill (like EVE online) based AND element based.. each tile can be aligned to an element (or none). This will help with the calculations for healing, damage, etc.

You may notice the “elements” include holy/unholy/arcane/technology. I am putting them in the “elements” category as it’s a bit easier to code for.. and your gear can only contain one element at a time.

I am now working on the Prefab tab. Basically, each tileset can have a set of prefab tiles. Basically a combination of tiles that can be placed and removed as a group. Basically, trees, houses, etc that spans multiple tiles. It’s a QOL for map editors.