Twitter  Facebook  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 2018-07-09 12:03:57
Homepage: email:one at onemanmmo dot com
I wish I could get out and do more shows, it's really fun showing Miranda to people. It is a little stressful though. Without fail, Miranda's AI would launch an all-out assault against my base as soon as someone came by and I'd have to try to introduce myself and tell my story while madly clicking to prevent my base from being wiped out. Doing shows is also reassuring. There is a market for this game if I can just get it in front of people.

[What people saw at Full Indie Demo Night]

Other than that, mostly I've been fixing bugs the last few weeks. When you're building new things it's easy to stay enthusiastic and engaged in what you're doing because you're constantly seeing new things and it feels like progress. When you have a bunch of new things that are working except for this weird black blob rendering in the middle of the screen in a few specific spots, it's the opposite.
By Robert Basler on 2018-05-28 11:52:46
Homepage: email:one at onemanmmo dot com
So the last time we talked, I said I was working on new textures for the terrain. So... that's still underway.

I've been starting to think about the things I need to do to get the next build out to everyone. Back in January I fixed one of the bugs players reported which turned out to be in the container file used to store almost all of the data for the game. The container file does compression and encryption, versioning and some other things for game data automagically. At some point in the last couple months I realized that the fixed files were incompatible with the old ones. Old ones like the files that store all the information about player's units on the live server. Whoops. (Don't worry, I always check that new game builds work on the live data before I release them.) So I spent a day reworking the container files to be backwards compatible (and still fixed) and then rebuilding all the game data in the new format.
By Robert Basler on 2018-05-09 15:07:57
Homepage: email:one at onemanmmo dot com
Today marks the one year anniversary of the start of #TheImperialRealmMiranda's Early Access. Woo!

I had some things I wanted to do to mark the occasion, but then my wife was out of commission for several days (she's fine now) so I was trying to do her stuff as well as my stuff, and that's exhausting and wildly disruptive.

So I thought I'd do a little #tweetstorm postmortem of the first year of Early Access.

What Went Right

People are having fun playing with the toys I've built. I check out what people are doing, and I'm constantly amazed by what they've accomplished and the unique things they're doing. Everybody really does play differently!

The feedback I have gotten from everyone has been amazingly supportive and helpful. I really can't thank everyone enough! You have given your time to submit bug reports, pages of written feedback & suggestions, and put up with hundreds of crashes. We are all building this dream.

The tech works. I was worried launching Early Access that it would fail in some spectacular manner I hadn't forseen. Getting hundreds of avatars for thousands of players on one seamless map in real-time is an incredibly challenging technology problem.

The niche works. To my amazement there still isn't another seamless open world massively multiplayer RTS like Miranda. Actually, knowing what it takes to build an MMORTS like this, it's not actually that amazing.

What Went Wrong

PR efforts have been an abject failure. I believed people would value a completely unique and playable game enough that they would overlook shortcomings in appearance. That was delusional thinking. Without great visuals you are at a massive marketing disadvantage.

The plan for Miranda to be a purely PvP game was a disaster. PvP seems a natural fit for RTS, but you know how people say they don't like PvP? It's true! So the focus is now on adding more cooperative and solo play choices.

I have some amazingly talented musicians and artists lined up to help me make Miranda the spectacular world I envision. I had planned to use some of the revenue from Early Access to pay them. So... it's still just me.

And Now...

I'm hard at work on the third major update I've dubbed "Bold New World". It will be done when it's done. There will also be an update for GDPR compliance. I'm not sure yet if they will be one-in-the-same.

The Imperial Realm::Miranda is by far the coolest and most difficult thing I've worked on. And I really don't know how it will work out. But it has given me the opportunity to know my daughter. And there is a huge value in that. I'm optimistic we can fix the rest.

Since I haven't posted any screenshots in a super-long time, here's a teeny preview of the new crystal formations I'm working on.

[Crystal formations - work in progress.]

Read more... (4 comments)
By Robert Basler on 2018-04-25 01:46:27
Homepage: email:one at onemanmmo dot com
I had a nice little squee moment this afternoon. I finished one of the procedural rock formation types with its final material, and seeing it in-game it was better than I could have hoped for. It looks great. I took lots of screenshots.

Ambient Occlusion is also working at last, and it looks fantastic. Ambient Occlusion (AO) is the phenomenon where crevices and indented areas are darkened (their ambient light is obscured.) I felt that AO was critically important for selling the reality of Miranda's new procedural rock formations and it turns out I was right. AO anchors the rocks to the ground and gives them complexity and depth. It really does add the perfect finishing touch they needed.

I also finally solved a longstanding bug which resulted in random bright spots on the terrain. Math is hard.

Oh! And the game has a new icon.


Those are some good upgrades, and there are a whole bunch of other smaller improvements, but I also have a lot more things that are only partially done.
By Robert Basler on 2018-04-12 23:45:12
Homepage: email:one at onemanmmo dot com
I was going to tweet this, but it turned out a bit long.


Programmers like the sizes of things to be powers of 2 (1,2,4,8,16,32,64,128,256...) The reason for this is that computers handle those sizes more efficiently than other sizes.

Miranda's terrain is a height map. Every 2.5 metres on a grid the game stores the height of the terrain. To render the terrain, the game draws rectangles (actually two triangles) between those points. There are lots and lots of points, so to make things manageable, the terrain is split into blocks. When I built the terrain, I decided terrain blocks should be 64 height samples across. My programmer brain was happy with that. The thing though, is that means that each terrain block is actually 63 squares across (because it needs heights on both sides to draw a piece of the terrain) or 157.5 metres.

This weird number has been a nuisance ever since. Just one example is the flowers. Flowers are placed on a one metre grid. (They are randomly shifted so you can't see they're on a grid, but they are nonetheless.) The problem was that there was a visible half metre strip at the sides of each terrain block where flowers didn't cover. So flower coordinates had to be multiplied by 157.5 / 157.0 to get rid of the gap.

This week I finally increased the block size to 65 (64 squares across) or 160 metres and it was astonishingly almost as simple as changing a single number.

The two differences players will notice is that map squares are now 320 metres instead of 315, and that the weird flat spots on the east and south sides of the map are gone.

The funny thing was, about 2 weeks after I settled on 64 as the size of the blocks, I realized that I needed one extra sample around all 4 edges in order to calculate the terrain normals so the blocks have actually always been 66 samples across.
Read more... (0 comments)
By Robert Basler on 2018-03-25 02:03:28
Homepage: email:one at onemanmmo dot com
I coded the shader for ambient occlusion on Friday all hopped up on cold medicine, so I'm really looking forward to seeing what I get on Monday. Ambient occlusion adds dark areas in crevices where the ambient light from the sun has trouble reaching. This helps anchor vehicles to the terrain by making a dark area under them, and I'm hoping it will help sell the new rock formations by enhancing the lighting in crevices. I'm implementing SAO which apparently gives good results and fast performance.

Thursday I finished the micro-prop system which places tiny detail models (rocks, sticks, tires etc.) on the terrain near the camera.
By Robert Basler on 2018-03-05 01:35:44
Homepage: email:one at onemanmmo dot com
I've been working on procedural generation of cliffs and rock formations. Previously Miranda had a heightmap terrain with rock models (made by artists) placed on it by the terrain generation utility. All of these standalone rock models are placed based on a complicated set of rules. To help players identify impassible terrain, rock textures are placed on areas where vehicles can't navigate. I was never very happy with textured cliff faces, particularly at the map limits.

[It's so wrong, but sort of beautiful.]

I started with a bunch of research, looking at all the different types of rock formations in nature. That was wonderful. I saw chalk deserts, volcanic glaciers in Iceland, and sandstone formations in Arizona among many others. Nature is amazing.

When I researched procedural rock generation algorithms, I was rather surprised to discover that nobody else seems to have done this before for games. I found a few articles on modelling individual stones procedurally, but nothing on a larger scale.
By Robert Basler on 2018-02-08 12:02:04
Homepage: email:one at onemanmmo dot com
I got so busy with the graphics upgrade that I forgot to do a test weekend for everyone after the Return of The Fallen update, so it's happening this weekend! Anyone who has purchased any of The Imperial Realm::Miranda Early Access packages will be able to play this weekend from midnight Friday to midnight Sunday GMT. Support the development of this one-of-a-kind RTS and check it out at the same time with Early Access packages starting at just $7.

[Will you encounter the rarely seen Fallen Missile Commander this weekend?]

Read more... (0 comments)
By Robert Basler on 2018-01-27 13:17:57
Homepage: email:one at onemanmmo dot com
Figuring out the day of the week from a date is a frickin' nightmare. Back in 2009 I got an algorithm from Wikipedia, and apparently that algorithm was wrong because they've removed it. Since then, the editors for that page have evidently gone insane, because their new page is a mess of incomprehensible tables, messy algorithm descriptions and magic numbers.
By Robert Basler on 2018-01-21 23:41:22
Homepage: email:one at onemanmmo dot com
Two weeks ago I knew exactly zero about DXT. I was surprised to find a lack of resources on the topic and spent two days researching to get where I am. It's been ten months since I've written anything really technical and I've been missing that.

The goal is to reduce the amount of GPU memory required for textures. The reason for that is that I am going to be drastically increasing the amount of textures in the game in the coming weeks as I do a major overhaul to Miranda's rendering and art, and according to Steam, 14.48% of gamers still have only 1GB of VRAM. The two weeks adding support for DXT texture compression are for those people. For the 2.76% of players with less than 1GB of VRAM, Miranda isn't going to work any longer after the next update.

Up until today, Miranda only supported run-time compression (using GL_COMPRESSED_*) which it turns out isn't really a solution since it can take seconds per-texture for the GPU to compress them on load. The GPU VRAM savings of run-time compression is alright, but not great.

[Miranda with DXT compressed textures - it looks the same!]

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)
The Evolution of a Feature - 2017-08-28 11:47:49 (0 comments)
Return of The Fallen Release Notes - 2017-12-21 15:07:24 (0 comments)
What I CAN Tell You - 2017-10-08 15:00:08 (0 comments)
8 Years of Development - 2017-11-04 15:53:48 (0 comments)

Recent Comments

Bugs are Demoralizing - 2018-07-10 19:26:18 (2 comments)
I'm not a Dropbox user, but I'm guessing you mean "browser style" menus? Miranda's user interface is actually the Chrome browser. Sometimes that was a great decision, other days not so much. At some point I want to hire a graphic designer to do ...
Bugs are Demoralizing - 2018-07-10 11:49:52 (2 comments)
Hey man I've been following your blog for a while and I really admire your work.

Regarding the "unicorn" textures you should definitely check out and Of course the scale is wrong (as in not 40x40m) but maybe with some ...
Anniversary! - 2018-05-12 13:33:26 (4 comments)
Thanks for the feedback Dondergod, I don't think you are alone in that evaluation.

I have extensively considered F2P, but it doesn't foster the type of community and game experience I'm trying to build. It also brings a whole pile of design, ...
Anniversary! - 2018-05-12 04:52:16 (4 comments)
To be honest, it's the reason why I decided not to buy into the game.
While I really like the concept and even the gameplay from the test sessions that I've played, I've already looked at a lot of MMORTS, and they all have the same issue.

No one plays ...
Anniversary! - 2018-05-10 13:33:49 (4 comments)
Thank you. Hopefully people are a little happier with the visuals with the next update. After that, the plan is to work on getting more units into the game, adding more missions, and making The Fallen into a more formidable adversary.
(1)      2      3      4      5      6      7      8      9      10      >>      >|

  Admin Log In

[The Imperial Realm :: Miranda] [Blog] [Gallery] [About]
Terms Of Use & Privacy Policy