Twitter  YouTube  E-Mail  RSS
The One Man MMO Project
The story of a lone developer's quest to build an online world :: MMO programming, design, and industry commentary
By Robert Basler on 2021-08-17 18:43:24
Homepage: onemanmmo.com email:one at onemanmmo dot com
I have my own String class that manages all strings within Miranda. It supports static buffers for string data (ie on the stack), buffers for string literals (stored in the data segment), as well as heap allocated buffers. Something I've been wanting to do for a while now is to add a new kind of buffer where the string data is stored within the String class itself. This saves an allocation when the string is short.

Originally I was going to add a small static buffer within the String class, but that seems like a deoptimization, so what I did instead was use a union to overlay ShortString right overtop of the pointer, two size members and the padding needed for LongString.
By Robert Basler on 2021-06-05 17:48:59
Homepage: onemanmmo.com email:one at onemanmmo dot com
There is a new build of The Imperial Realm::Miranda available today: 0.0.20.2. Players will need to download and run miranda_setup.exe to update the game.

awsss_Lo.jpg
[40% smaller tanks in the desert.]


This build has a number of changes:

  • Reduced size of 3D model data 40%.
  • Upgrade to Visual Studio 2019 and Universal runtime.
  • Many library upgrades.
  • 56 bugfixes and additions.

By Robert Basler on 2021-05-22 13:35:50
Homepage: onemanmmo.com email:one at onemanmmo dot com
I got a GamePi43 with Recalbox on it for Christmas. Right after I got it, it started prompting me to update. I thought sure, so I pushed start. That was the beginning of my epic journey.


By Robert Basler on 2021-05-11 20:57:53
Homepage: onemanmmo.com email:one at onemanmmo dot com
What a miserable thing. For six months (I started November 11) getting a Skyscale ground out all the fun I normally have playing Guild Wars 2. Don't get me wrong, I love Guild Wars 2, I've played it thousands of hours. Guild Wars 2 has a phenomenal collection of fun and varied activities to entertain and amuse. But the Skyscale Collection is just terrible game design. Don't make your game like this.

gw610_Lo.jpg


People compare getting a Skyscale to crafting a Legendary weapon. I have crafted a legendary weapon - Meteorlogicus. I did all the steps myself, I collected all the things and it took me about a year on-and-off to do it. It was time consuming. It was at times, difficult. But the difference is that to get all the things I needed, I had fun doing all the great activities that Guild Wars 2 has to offer. I admit I did not enjoy having to do PvP for a week, but that was only one step out of many.
By Robert Basler on 2021-04-02 23:07:30
Homepage: onemanmmo.com email:one at onemanmmo dot com
Back in 2012 Collada was a thing. People thought it might actually be an industry standard for 3D models. That lasted about a minute, but while that was true I adopted Collada-DOM as the 3D model format for Miranda. I wrote a nice tool to import Collada models into Miranda's internal model format. Miranda has its own format that supports compression, all the game's features, and it reads Miranda's material definitions so that it can customize the mesh data to be loaded very, very quickly.

prettydesert.jpg
[Pretty desert, courtesy of the new ModelImport]


The model importer also combines meshes and vertex arrays where it can to reduce the number of draw calls and render state updates, based on how the model is used in the game.
By Robert Basler on 2021-02-01 22:30:22
Homepage: onemanmmo.com email:one at onemanmmo dot com
When I bought my Asus laptop I didn't know it had Aura gamer lighting. First time it lit up the desk I was surprised. But so far, none of the games I've played have taken advantage of these cool lights.

Trying to figure out how to program those lights was pretty challenging. The website for the Aura SDK is just a 404. You can find links to a version 2 binary SDK, but that only supports Win32. My games are x64 so that was a non-starter. After reading a lot of forum posts from frustrated people who had given up all hope of programming their Asus lights, I discovered the Aura 3.1 SDK Documentation. Reading over the documentation led me to discover that my laptop had both Win32 and x64 Aura .DLL's in the interestingly named folder /Program Files/ASUS/AuraSDK!!

Then I found the C++ Tutorial which has most of a working example and basically met my requirements. The Aura 3.1 SDK uses the COM API which is nice because it doesn't add any dependencies to your game.
By Robert Basler on 2021-02-01 21:13:28
Homepage: onemanmmo.com email:one at onemanmmo dot com
WM_POWERBROADCAST mysteriously not working anymore in your app? Here's how you fix it.

Windows now has a thing called Modern Standby. The big problem with Modern Standby is that mysteriously Windows doesn't call WM_POWERBROADCAST anymore. To fix this, you now need to tell Windows you want power notifications. If you're running a new Windows SDK, just use RegisterSuspendResumeNotification and you're done. If you're not...
By Robert Basler on 2020-12-31 17:16:32
Homepage: onemanmmo.com email:one at onemanmmo dot com
So I thought over the Christmas break I'd like to learn how to implement character animation (both skeletal for bodies and vertex deformation for faces) into Miranda. To get started I bought a package of positively reviewed animated characters from Infinity PBR in FBX format. The package also included Unity and Unreal files, but FBX is the industry standard and I've used FBX successfully in the past so I figured I should be able to get that to work.

Getting Animations into Blender

I use Blender for my 3D work, so the models needed to work there for me to be able to change or fix them. The main thing though is that I need Blender as a basis to debug my own animation pipeline. In the past I'd buy an FBX, import it into Blender, sometimes having to fiddle with Autodesk FBX Converter to get a model Blender would read, fix up the texture paths in the materials and I'd be done.

This is one of the models I bought. Not exactly an encouraging start.

spider1.jpeg
[Spider?]

By Robert Basler on 2020-11-02 21:35:20
Homepage: onemanmmo.com email:one at onemanmmo dot com
I want Space Mines III to look like it is playing on a 24x24 text screen displayed on the ten inch black and white CRT I played on as a kid. That is a little tricky because that CRT is long gone. Finding reference pictures of old CRT's was surprisingly difficult, they were either blurry or modern image editor reproductions. Luckily I found several good photos on vintage-computer.com.

CRT shaders are tricky beasts because LCD's don't really have the resolution to simulate a CRT properly. There are lots of CRT shaders on the internet, but they are designed to simulate visual aberrations and the color masks of various types of color monitors. I couldn't find a single monochrome CRT shader.
By Robert Basler on 2020-09-23 20:55:59
Homepage: onemanmmo.com email:one at onemanmmo dot com
It has been a while since I've written anything on the blog. The things I was working on weren't particularly interesting. Other things were requiring a lot of my attention. The things I do want to talk about still aren't completed.

Occasionally over the years I have done contract work to help fund the development of Miranda. I hoped that Early Access would put an end to that, but in December it came time to do that again, so I accepted a contract with an awesome group of developers who I've been working with these last few months.

Part of the arrangement is that I can continue to work on Miranda. So on January 26 The Combat Update went live.

Then COVID hit, and national economies started to collapse, and there were riots, and I found myself struggling to find the motivation to do anything beyond watch the news and worry, even as things in Canada have actually gone pretty well. That has gone on for a while now.

SpaceMinesIII_Lo.png
[Space Mines III - A vertical space shooter blasting it's way out of the 80's!!!]


In August for a bit of a fun break on my summer vacation I started work on Space Mines III, a remake of a game I made on my Ohio Scientific Superboard II PC when I was a teenager. That has been such fun and a great change of pace for me and proves that the Lair Engine isn't just a one-game game engine. I did the first audio pass this week, and the pew-pew retro sound effects totally bring it to life.

Since The Combat Update I've done five minor releases of Miranda with bugfixes and small improvements nobody is likely to notice. I've also done a bunch of library upgrades, and an x64 port of the server and (most of) the client. Secret Lair Games' non-game servers also got a bunch of improvements, updates and fixes because they were having some problems.

So what's coming up with Miranda? In short, I've been working on some stuff, I'm not really sure yet, but I've been thinking about it a lot.

I hope you are well,

Rob.
Read more... (1 comments)

More Posts

Project Line Counter in Visual Studio 2010 - 2011-06-04 00:01:45 (5 comments)
A Chrome UI - 2011-04-07 10:28:46 (6 comments)
Enabling NVidia GPUs on Optimus Laptops - 2014-12-03 02:31:40 (4 comments)
Looking for a Fast Square Root - 2012-03-29 11:19:56 (4 comments)
What is Taking so Long?!? - 2018-04-25 01:46:27 (0 comments)
Early Access Week One - 2017-05-17 19:42:05 (0 comments)
Trailer Update - 2017-04-03 00:05:02 (0 comments)

Recent Comments

Broken WM_POWERBROADCAST - 2021-02-20 22:45:14 (1 comments)
You'll also need this:

typedef WINUSERAPI PVOID (WINAPI *REGISTERSUSPENDRESUMENOTIFICATION)(HANDLE hRecipient, DWORD Flags);
So What's Going On With Miranda? - 2020-09-24 10:00:32 (1 comments)
Stay strong my friend!
Automation - 2020-09-21 13:10:33 (1 comments)
Are you still developing this game ?
The Combat Update - 2020-02-12 18:13:30 (2 comments)
Thanks! Much of the work in this update was polish and there are indeed more NPC's.
The Combat Update - 2020-02-12 05:03:40 (2 comments)
Looking good m8, just coming back to this after i bought t some time ago, looks more polished and interesting, are there more enemy mobs now ? do you have a constant onlineplayerbase now so world is more active ?
(1)      2      3      4      5      6      7      8      9      10      >>      >|

  Admin Log In



[Home] [Blog] [Video] [Shop] [Press Kit] [About]
Terms Of Use & Privacy Policy