Races? Umm.. no
I realized after a little bit of time, that having races in Osinia doesn’t help in the over all design. The original goal was to allow people to pick a name and a race when creating a character. Each race will have a perk, whether it is an attribute or skill bonus. However, I realized that having such would encourage min/maxing in Osinia. And I wouldn’t want people to recreate their characters based on a race’s perk.
Therefore… no races! Just pick your name and in the game you go. Players will get to level the skills they want to level and not worry about any race perks/bonuses.
Build 2 is live!
This build is a smallish build. Quit button works, Credits button shows credit screen. Credits are important! App Icon is picked. Same icon used for the Discord Server. This was part of an icon package I purchased. Sometime in the future, I need to commission a custom icon for only Osinia.
This version makes use of TGUI for the UI layer of the client. While, technically I was using it for Build 1 for the background, buttons, etc. This one is an actual… window, the credit window.
You can run this build via the Itch client. It should pick up the current build…
Next build is a big one, infrastructure wise. There is the database and networking to plan out and implement. For the next build, it will just show an (empty) character list, unless I get on a roll, and implement creation and deletion of characters.. hmm..
Whatever build character support shows up in. This game, everyone starts out as a .. uhh.. simpleton. Name… Race… that’s it. Since it’s a skill based game (much like Eve), you get to earn your “classes” by leveling up skills to the proper level to recognize your character as having that class. I’ll get more into “classes” at a later date. Got to get the basics done first!
Build 1 is live
Well…. it’s live. It’s pretty much a nothingburger for players, but it is a milestone for infrastructure work. This is what I will now call The Scooby development method. Release small, release often. Music plays, clicks play, background image shows properly. Client can read itch data (see bottom left). None of the buttons work, the credit window has been delayed until Build 2. You can exit out via the upper-right X button. Credits.txt is distributed to give proper credits. Note on copyright. I’ve own the Osinia name since I am the only person who invented the name back in 2005. Thus why the copyright message spans 2 decades.
I realize this is pretty much nothing for players, however, once you have the key (requested with-in the discord server), at least you will have access to the betas and releases.
Next build should include the credits window, buttons should work, and maybe.. perhaps, a permanent or temporary game icon.
Osinia Devlog #9: Hmm
Well… another weekend has gone by and no Build 1 release :( Ran across an unknown bug in the SFML.Audio library. It just doesn’t play non-music sounds.. it’s very strange. Tracking that down. After that is worked around/fixed, last on the list is the credits window. Why? 99.99% of the work of the first build is infrastructure/framework programming. Meaning, tons of work under the hood that players will not see, but will make all future development faster.
In the case of Build 1, users will only see the client integrated into itch.io, non-in-game graphics engine, UI engine, and sound/music engine. The only other big areas left will be the networking and in-game graphics stuff (tilesets, spritesets, maps), questing, etc, etc, etc. However, those a built on the first stuff.
Itch.io added support for all .net frameworks after 4.8 last night. All the way up to .Net 10. There was no update to the itch.io client, so I am absolutely curious on how they managed that huge update. the itch manifest file will be updated and the game’s executable will be massively reduced.
The game’s integration into itch is being worked on to where it is also compatible with steam for internal testing there. Sometime, in a future build, steam keys will be offered since it’s build path is massively convoluted at the moment, so that will take time.
I have been starting to eye the OSX release at this point as the sooner I can generalize the code and gotchas, the easier later development will be. However, I totally forgot that Apple requires $100/mo for developers. And I have a M1 mac mini, which I do not know if it is still supported. So that will be put on hold until the itch.io and steam version is out.
With the above said. I heard about the steam machine (much like the old Amazon console from back in the day). After I buy the steam handheld, I’ll have to buy the steam machine and test on there. Meaning… I will need to add controller support to the windows version of the game… yay!
More news to come.
Itching fun.
Well, that was an interesting week. Was given a warning from Itch due to a bug in their system. If you log into your itch account from a different machine than when you created the account, they will put a warning on your account. After so many warnings, your account gets banned. They haven’t mentioned anything about fixing that very, very, very, bad bug. In other words, they have a secret/unadvertised rule/policy that you can only use your itch account from one of your machines. That… is very bad.
So, I ended up creating a 2nd itch account to test the itch integration between the server and client. Right after I did that, itch.io went offline for most of the day. Here is another difference between itch and steam. When steam suffer outages for their api servers, they will either notify developers or create a blog post explaining what happened. Itch? Silence. Last update they sent out to developers was 4 months ago at the end of July.
According to the well known satire site, wikipedia, Itch.io is still a one man operation… If one was to trust such a bad wiki site, it would make sense as to why the ticket responses are slow, and the website and api servers aren’t stable. Good for Leaf, though. He has done quite well since Itch.io was released 12 years ago!
My goal was the first public build would come out last weekend, unfortunately, the itch.io downtime delayed that. My current aim is this weekend.
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):
- itch.io / Windows
- steam / Windows
- steam / Steam Machine OR Steam Deck
- steam / (opposite of #3)
- itch.io AND steam / OSX (Macintosh)
- itch.io OR google play / Android (tablet/phone)
- 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.