Skip to Content

blog post

Realm Explorer vs Realm Engine


As I’ve mentioned a few times recently we have a code base for our own proprietary multiplayer RPG / sandbox engine called Realm Engine.  We’ve created this as a generic server-side game engine but we’re using it exclusively for Realm Explorer right now.  Our server technology has evolved numerous times throughout the alpha period.  The server code used for the very first release was extremely primitive in comparison to our current code base.  The pre-cursor to Realm Engine was released several versions ago while the code was still tightly integrated for Realm Explorer.  Further refactoring helped us to fully realize the goal of creating Realm Engine as a unique standalone server technology that we could build our games against.  As of right now the current internal build of Realm Explorer is built entirely on Realm Engine.

Early on we had a goal (both philosophically and due to technical considerations) to make our server technology independent of Unity.  We use Unity3D for the client side (rendering, handling user input [keyboard and mouse input], playing sounds, playing music, etc.) but our server technology was developed to exist outside of Unity.  One of the reasons for this was that when we started working on Realm Explorer Unity’s 64bit support was hit or miss (and the Unity editor itself was 32 bit).  This meant that we were limited in how much total memory we could use.  The Marching Cubes algorithm we were using for the terrain would use a lot of memory and was difficult to try and handle situations where multiple players could be in completely different parts of the world.  Having 1 player with terrain loaded around him would already use of a lot of memory – having a dozen players each in different parts of the world all needing their surrounding terrain loaded was essentially impossible!

Don’t get me wrong – Unity is an incredible piece of technology but we knew that we would need a high performance and light weight solution for implementing the server code and all of the RPG/Sandbox rules for a truly huge world with support for a large number of simultaneous players.

The benefit of rolling our own server solution was that we could have complete control over every aspect of it.  We also make extensive use of dynamic data loading/unloading, multithreading, dynamic runtime script compilation, implementation of API endpoints for further third party integrations and support and several other big features. The downsides (aside from having to create such a program from scratch) included not being able to leverage some of Unity’s powerful features (in particular anything related to 3D geometry, physics, collisions and so on).  Over the past 2 weeks we’ve had a fairly major paradigm shift.  Let me elaborate.

Previously we had our game client done entirely in Unity and our server technology as a series of separate C# .NET projects making up the server application.  We had some common code libraries that both the client and server would share but otherwise these two programs were independent.  Since Realm Engine is pretty mature at this point the major goals we set out for it have been mostly accomplished.    The big change that’s recently come about has been that we now host Realm Engine inside of Unity on a separate thread from Unity.

You might be saying to yourself, “Didn’t you just tell us why you created Realm Explorer as a separate program to live outside of Unity???”.  Why yes, that’s correct.  We’re now at a point where Realm Engine is able to do its heavy lifting very efficiently and having worked with it so long we can clearly see where and how we can leverage a direct interface with the Unity engine to further improve several things.  Over the past few weeks I worked through all of the integration work so that we could spawn a dedicated server process inside of Unity.  The next step (which is almost done) will be to create a communication layer between the Unity engine and Realm Engine.  This way they can both run separately but marshal commands and information about objects between each engine.

Aside from being able to now get some useful information that we haven’t been able to have on the server before (such as collision between objects, performing accurate raycasts on the server side and so on) this also gives us a huge leg up on how we’re handling our dynamic infinite terrain and building construction.

Oh no it looks like we’re out of time for today.  We’ll get into the details of terrain generation, biomes, lakes(??), rivers(?!), caves and dungeons(?!?!), AI (!!!) and more in future posts as we work towards another alpha release (speaking of which, the current plan is to only provide new builds [when they are ready] to people who picked up the game during the brief alpha period – Realm Explorer won’t be posted for sale again until it’s ready!).  For now I’ll be continuing with finalizing the Realm Engine -> Unity integration and the engine-to-engine communication layer.

In my next post I’ll likely be taking a look at new building and house construction.  Maybe a new video for this?  That’s all for now!

blog post

100 Programmers or more?


A question that I get fairly often is, “How many people are working on Realm Explorer?”.  Gabriel pointed out to me recently that when I respond to emails like this I usually come across sounding really formal and corporate.  The truth is our team is small.  How small?  Well, Gabriel and I are the only two programmers.  I created most of the game functionality, the majority of Realm Engine (our proprietary moddable multiplayer server engine), most of the game client features, the scripting / mod system and the majority of the networking code, etc.  Gabriel has done an incredible job creating virtually 100% of our UI (including making it skinnable / moddable), tons of user-interaction stuff (all of the special behaviors for drag and drop inventory, smooth transitions for chat messages, beautiful styling and so on).  Gabriel also does all of our web stuff (including RealmSource .NET account creation / account management, game key management, player sessions, password recovery email functionality and all of that good stuff).

We also work with a long-time associate of ours (who I’ve had the pleasure of meeting on several occasions now despite us living on completely different continents) ArmedBee who helps get us the artists we need to do specific projects — everything from 3D modelling, animation, concept art and more.  Without his help the in-game graphics would probably be a couple of 3D blocks moving around the screen (backed by our super powerful multiplayer RPG engine, of course).  ArmedBee has also helped with a lot of technical aspects of setting up art content and working through the workflow of setting up new visual features.

As of right now… that’s everyone!  We’ve had a few others come and go over the years contributing pieces here and there but the majority of artwork and code that we’re using right now has been the result of the continued efforts of the three of us.

Having said that there are a lot of people I would love to work with in the future (on the music side especially!  I’m a huge fan of great game music) but I firmly believe in making sure people get paid for their work.

That’s all for now.  Check back next week for some news on recent work on Realm Engine integration and other technology improvements that are letting us do more great stuff!

blog post

More Environmental Improvements

Lots of stuff is in the works lately including a ton of work on terrain (generation, digging, etc.), new and improved structure building, more art assets (and some work related to animation improvement) and more.  Gabriel has been putting a lot of work into improving the UI framework as well.  Have I even shown the new server browser / server connection UI?  Well, here it is:


The other things I mentioned aren’t ready to show yet (and they’ll best be represented by video anyway) but here’s a little look at some of the further improvements to materials and environment (these look much better in live action instead of just still photos too but these will have to do for now!)

charactercustomization01 charactercustomization02 charactercustomization03 charactercustomization04 environment01 environment02 environment03 environment04

As always we’re still building on our core Realm Engine technology (officially a thing for a few months now) and Realm Explorer is still multiplayer, moddable (C# and VB .NET on the server side), skinnable UI (HTML5-based with support for tons of web technologies like CSS, TypeScript and more [Gabriel will have to fill in the details here]) and with nearly infinite dynamically generated worlds to explore.

There’s more to discuss so keep an eye out for the next post!

blog post

Ongoing Progress

It’s been awhile since my last post but progress is still continuing with Realm Explorer.  The team has been ramping up with tons of new work across all areas of the game — new artwork, new game content, new features, improved performance and more.

One of the areas that hasn’t seen attention for awhile (until now) has been character customization.  We’re up to 29 male hair styles, 20 female hair styles (all with hair physics) as well as the addition of 6 total facial hair styles for male characters.  We also recently added 4 new head styles for the male characters (with 2 more on the way).  This will bring us to a total of 9 different base faces in addition to all of the hair and beard style and color options.  You can also now change your character’s underwear color (yay?).

Character Customization

There’s a lot of new stuff that hasn’t yet been seen (and a lot still in the works) but I’ll leave you with a few screenshots demonstrating the new and improved visuals we’ve been working on (don’t miss the UI details either!):

Character Selection In the woods Running

blog post

2015 Wrap up, and the future.

First a word from our leader Zeruel:

Realm Explorer definitely is still in development.
Our team has been working on it every day. You may not be aware of this but our main distribution platform was Desura. Unfortunately Desura had serious financial problems and hadn’t paid us in over a year — hundreds of other developers weren’t paid either. Desura finally went bankrupt and closed down a few months ago so we have no chance of being paid by them. As you can imagine this has slowed things down for us but we’re still working on the game regardless. Desura also made it very difficult to get new builds of the game released. In fact, right now it’s impossible to release any new updates to Desura at all.

We’ve committed tens of thousands of dollars from our own pockets (as well as thousands of hours programming) this past year alone to help keep development going.

Our goal is to release Realm Explorer on Steam in 2016. If you have a RealmSource .NET account we will send out an email when things are ready in the next few months. Even if you didn’t purchase Realm Explorer during the alpha period you can still sign up for a free RealmSource .NET account at Our target is to have the game as close to “complete” as possible for the Steam release. We’ll continue to support it with patches and new content after the Steam release.

In addition to this we have an incredibly powerful new mod system — nearly every aspect of the game can be modified by C# and VB .NET scripts (your choice of programming language) from the server-side. The client UI can also be skinned and customized using common web-development technologies like HTML and CSS. We support drop-in UI skin packs so that people can create their own User Interface changes to change the look, feel and layout of UI elements (or use packs made by other people should they choose). Users with some programming knowledge will be able to develop their own content – everything from craft recipes and item qualities, NPCs and AI behavior to terrain generation and completely new game systems.

In conclusion Realm Explorer is far from dead — our internal code base and art assets are the best they’ve ever been. Desura is dead and we can no longer support releases on the platform (in addition to not having been paid for any games sold there). In order to do a proper Steam release we really want the game to be the best it can be so that we can ensure a strong release.

Thanks for your continued interest in Realm Explorer!

If you’d like to recover your Realm Explorer key from Desura you can find instructions we made for this here. If you don’t have a RealmSource.NET account, you can register with us here, or if you just need to add it to your pre-existing account. you can do so here,

Since I made the last blog post in May, we’ve completed over 80 features for Realm Explorer as well as continuing to fine-tune existing features, fix bugs, and more.

If you’ve got any questions about our continued development of Realm Explorer, leave a comment!

blog post

May 2015 Wrap-up

May has flown by and we’ve been doing a lot of work that is all coming together nicely.

Here I am going to go through our tracker and summarize the work we’ve been doing.

Over at I added a bit of “two-factor authentication”. When you login to your account there we’ll send you an e-mail if we don’t recognize the device you used. We take your account security seriously, and this is just one of several new safeguards we’ve added to our systems recently.

In the game UI, status bars went on a diet, they’re now about half the size they were. And to give a “hud-less HUD” effect, if any of your status bars are full, they’ll fade out after 5 seconds. With the action bar, it fade outs after you’ve changed the selection of your active item as well, but we still show your items and slots as minimally as possible. I’ll be adding a game option soon to disable this new feature if you’re so inclined.

We bring everything into full view when your inventory is open. You can also see that the equipment slot graphics have been updated with outlines to enhance use-ability.

Completely new is the in-game radar, which shows you nearby objects like npcs, plants, players, containers, corpses, items. You might be able to see a sheep off to my left in the darkness, but you can definitely see the blue dot on the radar for it…

You can customize the radar in the options menu. There’s a lot to configure here, so we now have a “Restore Defaults” button on the general options page.

The container UI has been expanded to support action slots and equipment slots. Here I am inspecting a sheep corpse:

The options UI now offers new video settings for Clouds, Antialiasing, and SSAO which makes the game really shine if your PC can handle it! We also vastly increased the range of the mouse sensitivity slider (by ten times!) for folks with all sorts of input needs.

The multiplayer browser UI has also been changed a bit from what I previewed in an earlier post. It also now remembers your preferences for passworded/full/empty/server sort order, and will let you know when those options are preventing any servers from showing up in the list. You’ll also be able to tab to your single player realms all from this one window.

The server Configuration UI has been revamped and has a whole new look. We also added a new “HTML Log” option which makes the log a lot more readable with pretty colors. Server admins can also disable radar or just specific blips on the radar, coordinates, and other settings:

The server Admin UI now has a “time slider” which allows you to quickly change the time by moving the range knob around. This is great for making videos or for us to see how light and darkness affects materials in game.

We also fixed a handful of bugs that cropped up along the way too. Most importantly we discovered a pretty serious and frequent crash that was occurring and after working with Coherent Labs we have an updated version of the software that displays the UI.

And according to Matt, Hostile NPCs are just a few days away… Dyox says we’ll see a completely overhauled terrain system within a month.

blog post

Last week tonight with our host, Gabriel

Well it’s been a busy 10 days since my last post, tons of work is getting done. It’s all good 🙂

I updated the login process for the game, you’ll now be presented with the login screen when the main menu appears.

The login screen

Everything is now streamlined, the register, license activation, and forgot password functionality is all in the same view. The cleans up a lot of state transfer that we were doing before.

The register screen
The forgot password screen

If you don’t have an internet connection we of course give you the option to play offline up to 30 days after your last login.

The play offline screen

In regards to the login process itself, we were previously using a strong encryption to store and transmit your password, however, now I’ve beefed this up even more. The next version of the game will automatically forget your login information and all you need to do is re-enter your username and login and you’ll be all set.

Once you’ve logged in, you’ll be able to logout (or login, if you’re playing offline) with a button available at the sign post in the main menu.

The main menu scene showing the logout button

With this change, along with the new multiplayer browser, there’s no more login page at the billboard, no more multiplayer mode selection. This means as soon as you click the “Multiplayer” board, you’ll be taken straight to the multiplayer browser.

Another initiative that was part of this whole login re-work was to remove the reliance on a .NET networking technology we were using. This removal will benefit us in the future when it comes to porting to other platforms. We’ve moved to a more standard system that enables us to be a lot more flexible when it comes to how we handle requests coming from the client as well.

In game, we now have a new progress indicator for interacting with objects. Here you can see I have picked some cotton from this plant already and am now gathering more. In the lower right, we now have icons indicating the icon for the item you acquired. You can also see the compass I mentioned in my last post in action.

The new progress bar, compass, and item acquisition messages

Also, with no more sites to display in the community panel on the in-game esc menu, I’ve simplified the menu-ing there as well. We could display this blog but who actually reads this stuff?

The new esc menu screen

That’s all for now, see you around.

blog post

Commit log review

Well, what the heck have I been up to…? Oh I know! Let’s check the commit log…

We were using WCF for calls to our login and other services, however these would only work on Windows game clients. WCF in Unity also led to some undesirable delays which might briefly freeze up the client which we seemed to be experiencing more of in recent builds. We’ve moved to a web API using HTTPS, I too the opportunity to also beef up and require security across our services.

The loading screen timeout for displaying the “Cancel” button has been changed to 20 seconds since the previous 90 seconds was very long given how fast we are able to load into the game now.

Added a compass to just above the action bar which now tells you what direction you are walking in. The compass can be disabled in the game options.

Improved the look of our buttons in the game, there is now a “mouse down/clicked” state for buttons which makes it obvious the button is being/will be clicked, instead of just the two normal/hover states we had previously. I also found a bunch of buttons weren’t making sounds when clicked so I updated them to do so.
If you find a button that isn’t making noise let me know!

blog post

UI Progress

I wrapped up major enhancements to the multiplayer server browser this week, take a look for yourself:

Realm Explorer's New Server Browser

Improvements over the old browser:

* The direct connect interface and server browser interface are now all-in-one
* You can filter the list of servers by typing the name, minimum number of current or max players, or ping.
* You can filter the list to not include full, empty, or passworded servers
* You can view the server details when you click on it in the list
* You can double click on a server in the list to connect
* You can sort the list by name, current or max players or ping either by clicking the icon at the top of the server list, or by using the combo boxes in the server options.
* Room for expansion for future features such as Server Favorites, Recent Servers you’ve connected to, a Friend’s list, and LAN play (geez how long are we going to promise this for?)
* Removal of the “multiplayer mode” selection screen

But that’s not all… other recent updates include:

* Security enhancements to RealmSource.NET
* Improved Account Management page feedback
* Fixed audio settings checkboxes not working in the client
* Fixed a login issue
* New and Improved Dialog display system!
* Added setting for new Unity5 quality setting “Realtime Reflections Probes
* Removed Bloom and Vignetting from the Video options

Let us know what you want to see next in the comments!

blog post

RealmExplorer moves to Unity5

As those who follow us on Facebook and Twitter are probably already aware, we are in the process of moving to Unity5. I will be taking charge of this migration as we need to upgrade our UI renderer (CoherentUI) to a new major revision (From 1.x => 2.0).

This will require the modification of various scripts and assets and waiting for packages we’ve purchased from the Asset Store to upgrade their own resources which according to recent posts by those developers, should be relatively soon.

That said, we’re not sure how long this could take due to the size of the project. When Unity tells us something will take a few minutes, it usually takes a few hours. If Matt and I were in the same office, this is when we would duel.

Right now though we are waiting for CoherentLabs to upgrade our license. Once that is complete we can move forward.

Unity5 is an important upgrade for us, as of late, working in the editor in Unity4 is very challenging, we can at best last a few minutes before the editor crashes for one reason or another due to memory restrictions (the editor takes up a lot more memory than the game). The Unity5 editor is fully 64-bit, so all our out-of-memory headaches will instantly disappear once we’re working with Unity5 fulltime.

On that note, Steam’s Hardware Survey for gamers shows that over 80% of PC users have 64-bit systems. With the last Intel 32-bit CPU having been released in the Intel Core line in 2006, its likely that most or all of the 11% of Windows 7 32-bit users have 64-bit CPUs, but just don’t have the 64-bit OS installed. That would bring us to ~95% of users with 64-bit processors. Lastly, anyone using 10 year old hardware probably wasn’t going to be able to play Realm Explorer in 32-bit anyway.

Armed with that information, we’ve made an important decision. We’re going to be upgrading the client to 64-bit in order to take advantage of today’s modern systems. We’re not making this decision lightly, nor are we using this as an opportunity to get sloppy, in fact, our new and improved terrain system will be more efficient in terms of RAM usage in the next version.

We’re very excited about the near term future of Realm Explorer and hope you are too.