1. Odd Realm
  2. News

Odd Realm News

Lost Legends Expansion - Nov 2023 Dev Diary

Hey gang!

Progress on the next update is sprinting ahead. I'm working hard to get it out as soon as I can and I'm pleased with where it's going. I'm starting to approach a point where I feel like the game is getting close to its 1.0 content and feature requirement. I want to talk about that towards the end of this post. First, let's take a look at some of the new additions to the game...

Kingdoms




Players will have the option to start a kingdom when they begin a new game. After selecting a starting loadout for your game, players will need to select a point on the map to spawn their settler caravan. Once spawned, they can move this party around the overworld map. This will use up the party's resources and may encounter events. The party can then settle the tile they occupy, which claims the tile as their kingdom. If another kingdom claims that tile as well, players will need to defeat any hostile entities in it. This effectively declares war on that kingdom. Choose wisely where you claim kingdom territory.



Players can expand their kingdom territory by sending out parties to settle or claim new tiles. As well, players can send out envoys to interact with other kingdoms to establish trade and relationships.

I'm also designing leadership roles so players can choose how their kingdom is run. Each race will have their own types of leadership to choose which provides unique bonuses:
Humans - King/Queen
Gwdir - Gwnvayth (Matriarch)
Tomek - Chief
Ancients - Primus
Ardyn - Dominus



I'm currently working on a lot of these features, so please let me know if there's anything you'd like to see in the game related to kingdoms!

Labels, Overlays, And Additional UI Options


You'll notice that there is a new additional to the HUD which lets you view lists for things like overlays, labels, selections, and more. This helps clear up the bottom bar from having a million buttons.

[h3]Labels[/h3]

Labels are a new UI feature which detail some of the things in the world, which include: entities, and overworld objects like nations, parties, and tiles. Players can edit each type of label to display specific information. For example, only show the level and profession on an entity label. You can click labels to select the object they represent.



As well, zoom level changes what details are shown so that the maps don't get cluttered with 100 labels.





[h3]Overlays[/h3]

You can also edit what types of overlays are visible. For example, nation borders on the overworld map. Other overlays like jobs, rooms, etc, will be in this list as well.



[h3]Selections[/h3]

Sometimes it's hard to select entities when they are all stacked in a group, so I've added a list that displays entities for your current selections, control groups, roles, and overworld parties.



Multi-threaded Pathfinding (Beware! Technical mumbo jargon ahead)

TLDR; Faster, more precise pathfinding.

For those that are not familiar with threads, let me try to explain. In the old version, when an entity wanted to get across the world, it would start a pathfinding process. Depending on the distance to the target, this could be extremely slow. And, the game would have to wait for this to complete. I had some performance helpers which would delay a pathfinding process if it was too slow (to avoid huge lag spikes), but it meant pathfinding could take a really long time to calculate. Now, in the new version, pathfinding uses 'multi-threading'. Think of a thread as a pathfinding job. The game issues pathfinding jobs to each of the CPU's cores to process in the background without blocking the main game 'thread'. So, the more cores your PC has, the more background pathfinding jobs it can do. As a bonus, these processes are incredibly fast. So, not only do the jobs process in the background, they finish at blazing speed.

This should improve a lot of the pathfinding performance and also fix a lot of pathing inaccuracy I had before, due to some hacks I had to keep your machines from melting into slag.

Development Timeline and Plans


OOOOoook. Time for some real talk. I've been incredibly fortunate to work on Odd Realm for SEVEN YEARS. Wow. I didn't really know how to make a full game when I started. I've had to learn a lot about game design, art theory, shaders, and code architecture. It has been the most challenging thing I've undertaken. By far. And that's why it has taken seven years to get this far. You've been incredibly patient and supportive during this whole journey, and I thank you. Seriously, it would not have been possible without this community. Thank you so, so much!

With that said, I'd like to talk about the 1.0 of the game. It is my goal to have 1.0 done early next year (2024). Hopefully January. Now, I'm going to try my best to get all five races into the game for that date. But, and to be absolutely transparent, I might need to release some things like the Tomek after this version. I'm at the point where I need to start delaying certain features for polish and tuning to make a good 1.0 candidate.

So, why the push for coming out of early access and releasing the 1.0? I want to continue working on Odd Realm for years and years. I love working on it. But, my savings can only take me so far. The game needs to release 1.0 to see any kind of revenue which would support its future development. So, ideally, features like Tomek (if they can't make it!) will still come into the game, just in the update immediately after 1.0.

Anyway, these are all big IFs. Who knows what the future holds. I just want to make sure I'm always giving you, the community, full disclosure. Thank you again for supporting the game with your feedback and positive vibes. I'm trucking along happily on things and hope to have a new beta update out soon. Stay tuned! You all rock!

L.L. Expansion - New World Gen, Simulations, and Soundtrack now on steam!

Heeeello!

I know it has taken way too long for me to post an update on the game, and I apologize. I've been working on a large amount of systems all at once, and it's taken a while for me to have all the moving parts working together. Let's dive into that, shall we.



Soundtrack by Matt Creamer

Before I get into things, I just wanted to say that the Odd Realm soundtrack can now be purchased via the steam store page:

Soundtrack (Steam Page)

The amazing Matt Creamer created it and all the sales go straight to him. So, it would mean a lot if you guys supported his incredible work and went and bought a copy if you can.

World Generation Mega Upgrade

This was the main reason I had to delay the update, and why it has taken me so long to post anything of substance.

To release the 1.0 version of Odd Realm, I knew I'd need to touch up the world generation tech. The version you are playing now is slow, difficult to tune, and outputs terrain that is passable, but not necessarily interesting. As well, the tiles have almost no situational awareness, meaning, they don't transition. I call this, "stitching." This is a huge feature to me because I want players to be able to go to other settlements with their settlers, and for the world to feel connected.

I knew that the longer I held off improving terrain generation, the harder it would be. The main issue with tuning terrain generation while a game is live, is that, as soon as you change these values, saved files are no longer backwards compatible. Loosely, this is all due to world generation being based on a seed number that uses those tuning values to output cool terrain. I won't get into the details, but, at a high level, that's what's happening.

Ok, cool, so what's what?

Well, I went ahead and improved those things. That's what. And--AND--it's all much faster.



[h2]Terrain Stitching[/h2]



Take a look at this little gif above. We can see the Taiga biome blending with both the Ocean and Desert biomes. This is the stitching I mentioned. Tiles now incorporate their surrounding tiles into their own generation. This not only includes blocks, but flaura, fauna, and any exciting prop generation stuff that a biome has.



This gives players soooooo many more interesting options when choosing their settlement locations.

[h2]More Biome Variation[/h2]
A truckload of work has gone into how I generate terrain to avoid simply outputting hills. I've tried to create way more extremes of terrain. Plains are now way flatter, mountains have epic peaks, and oceans have deep trenches. This combined with stitching, produces tons of surprising results.



A tile that's on the edge of mountain range (like the above gif) will start to rise sharply up to meet that neighboring altitude.



Likewise, plains might sharply drop to meet the depths of the ocean.

[h2]Caves![/h2]
I revamped the cave gen stuff too. Before I was generating caves by hand and, well, it was painful. You'll notice caves have more unique layouts, and are more common. They also vary as you go deeper into the earth.

[h2]Layers! 256 Layers![/h2]
Worlds are now 256 levels instead of 128. This means way more underground stuff to find, and also more vertical space to build in, and have huge mountains in. Also, I'm sure you've noticed in these gifs that the minimap now shows you a cutout of the layer you're on. This applies to both the overworld map...



...and to the settlement map...



The two maps do vary, though. The overworld map preview shows you some subterranean hints to a certain depth. While the loaded settlement preview shows you exactly what you've discovered.



The new layer cutout is extremely helpful when navigating underground. Wish I had added this years ago.

[h2]General Improvements[/h2]
I've added a lot of functionality to the controls for navigating a map. You can now hold Q/E to move layers. You can also use the arrow keys to navigate between tiles. No more needing to click the tile on the overworld map. You can even use these arrow keys to load neighboring tiles from the settlement view.

Speed. The terrain gen is fast, so loading maps is very quick. This makes navigating around to neighboring tiles really easy and not a pain for players to wait on.

Simulation

A big feature that I have wanted in the game is proper simulation. I want players to enter a tile and for time to have passed based on when they were there last. Did they leave their settlement for a year and come back? What happened?

This is almost as big of a change as the terrain gen stuff. The problem I had with Odd Realm's live version is that nothing is really simulated. A lot of it is just entities updating per frame, no concept of a timeline. I offload them once you leave the tile, and that's it.

Now, everything that can simulate will. And they'll do it based on elapsed time. What do I mean by this. Well, let's take a tree sapling as an example. When you load a new tile, the game looks at the terrain that's generated and collects all the simulated objects. It then looks at how much time has passed since you were last there. If you've never been to a tile, it will spit out a number of years to run the simulation. So far, I'm just using a year's worth of time for these new tiles (it's actually a range of time that varies for each object. Say, 0-1 year). I think I'll let players edit this. If you left a tile for a day and came back, it would simulate a day. We take that elapsed time, and then process our simulated tree sapling through it.

Here's a gif of me spawning an oak tree sapling and simulating it over a year's worth of time:



Wow, wow, wow. What's even happening here. Well, I've set up every object in the game to follow some rules. These are, "simulations rules." Trees, for example, follow a set of sim rules that say things like, "Spawn a tree branch if x, y, and z conditions are met." Then, the branch has its own rules that dictate, "Spawn some leaves if a, b, and c conditions are met." And, so on.

These simulation rules can be shared by any world object. Heck, water blocks could follow these same rules and produce a little water tree. Now, they have their own "liquid" simulation rules, but one can dream. You can start to see the possibility space for this sort of system.

[h2]Modding[/h2]
I've developed a bunch of tools for modders to create simulation rules. I needed these tools for myself to understand the systems, so it's a nice bonus that modders can use them too.



Above, you can see what the editor looks like. It's complicated to look at and I'll need to create a tutorial for all this, but it's extremely robust. You can edit the conditions, actions, and locations for a simulation, and each has a multitude of options, and I'm still adding more.

[h2]Notes About Performance and Simulation Accuracy[/h2]
Warning: this probably won't make sense and is mostly technical mumbo jumbo, but some of you might like these details. Idk.



The real problem with simulations is that they are costly over long periods of time. The way that I get around this is to sacrifice some accuracy to make sure the simulation doesn't take ages. Simulations use minutes (game minutes) to iterate through simulation rules. Imagine iterating through a year's worth of in-game minutes. That's 86400 minutes (in Odd Realm years lol) for just one simulated object. Multiply that by all the other objects we want to simulate. My computer would be a melted heap of slag by the end.

Ok, so, instead of iterating every minute, I iterate steps. And, this is something players will be able to tune if they want. Faster, less accurate simulations? Fewer steps! Slower, more accurate sims? More steps!

What's a step? Essentially, how many times I want to check our rules for an object each time we run a simulation. Keep in mind, a "simulation" is just processing an object's rules over x minutes. 5 steps per simulation? I'll check our rules 5 times. So, if 100 minutes have passed, each step will be 20 minutes of elapsed time to check rules against. We then use the amount of passed time (20 mins) to factor into the successful pass of certain conditions. For example, if you have a random chance to spawn something once every 100 minutes, well, we can reduce 100 by 20 to improve how likely it is to spawn. Or, if you want to simulate a condition in a specific age range, I'll check if that condition requirement is between the simulation step start and end times.

I could go on for ages about this new sim stuff, but that sounds absolutely dreadful to read. But, hopefully, that kind of makes sense. Not really important if it doesn't. That knowledge won't be required to play the game.

[h3]Final Thoughts[/h3]
When is the update coming out? It's not soon. All this stuff is still a big work in progress. I would say the most difficult stuff has passed, but now I'm working on the million smaller details for things. The good news is, this update is going to kick some serious ass. You just have to wait a bit longer for things to be completed. I've learned my lesson and am not going to say any timeframes here. All I can say is that I reaaaaaaally appreciate you all and your immense amount of patience with me. And, don't worry, it's not years out. I want all this stuff done too. I'm working like mad.

Thanks so much for reading this far, and for supporting the game. I'll definitely try to put out another post much sooner next time. Cheers!

Lost Legends Expansion - Update Release Delayed

Hey everyone,

I'm sorry for this, but I have to delay the release of the update. I said it would be ready for today, and it's not. I was way too overconfident with how fast I could finish things for this release date. I absolutely hate promising something I can't deliver on and I apologize. I am working super hard to finish. The good news is, it's taking a long time because it's almost a whole new game. It's a huge combination of content, QoL/UI, and performance improvements. I'm currently working on the remaining UI and art tasks (which is taking me a long time), but I'll post another update once I've got a better idea where I stand with the release schedule.

Thanks so much for your patience and, again, I'm sorry to delay on this one.

Lost Legends Expansion - June Dev Log And July 24th Release

Hi hi!

That's right, I've got a release date in sight for the Lost Legends update, July 24th. Things are shaping up well, and I'm hoping to release into beta in a couple weeks to get some testing. Let's see what I've been up to since the last dev log.

More UI stuff???


I've been working a lot on trying to make the game easier to use and less frustrating. I've got improvements in this update for AI and gameplay, but UI is a big part of the pain that I see players experiencing. So, I've put tons of time towards making things simpler, clearer, and more intuitive.

[h2]Uniforms[/h2]



I've done some clean-up on how uniforms work, and are interacted with in the UI. Players can now create uniforms and assign them to a bunch more options. You can still assign them to control groups and professions, but also many other things like skills, gender, effects, etc. This will be key for players that want entities to switch uniforms when in various states. For example, when in combat, and not.

I'm also making uniform priority clearer to help understand why an entity is using a certain item or not.

[h2]Block Tooltips (And Layers!)[/h2]



It can be confusing understanding what a block 'layer' is, let alone what it contains. Block tooltips now have options to toggle the visibility of layers around the block your cursor is on. In the above gif, you can see me toggling the visibility for the block layer above the one I'm on. This is helpful to see what is above and below the selection I'm about to make.

Additionally, I've increased the size of tooltip icons. This should make things a bit easier to see.





The tooltip also shows what is stacked on the cursor's block. No longer do you need to select a block to see that what plants, platforms, items it has. And speaking of items...





You can expand the block tooltip to show a visualization of its contents. I find this extremely helpful when I want to see contents at a glance. You can still see a detailed list and inventory of items within a block, but this is part of a new 'selections' panel.

[h2]Entities Tooltip[/h2]



Much like the block tooltip, I've done lots of work to make it easier to see important info for an entity. Everything is now compartmentalized based on functionality. Attacks grouped together, survival stats grouped together, status effects grouped together, etc.



Much like the block tooltip, you can expand the window to see more, less important, info. This expanded window shows everything that the entity window did, so I decided to remove that window altogether. You can also now see what rooms, jobs, and skills entities are using/doing from here too. Don't worry, there are still other windows to edit these things on a settlement-wide scale. This is just here if you want to see and edit individual info quickly.

[h2]Performance Improvements[/h2]

I wrote a whole new system for displaying tooltips/text which is much, much more efficient. Tooltips and UI text were a huge drain on performance, and now it runs very fast. This should provide noticeable FPS gains for a lot of the lower end machines, if not for everyone.

[h2]Final Thoughts[/h2]

I'm finishing up these last few polish items and tuning tasks. Very excited for everyone to see the new changes. Overall, I think this will be a huge improvement for QoL, but you'll also get lots of new content to check out. It's going to be great!

As always, thank you for reading and for the support!

Waylon






Lost Legends Expansion - May Dev Log

Hello friends!

First off, thank you all for being super patient waiting for these updates. I had intended to put the new content out into beta in March, and I was very close to doing this. In my last log, I had said it was two weeks out, and, at the time, that was true. The new Gwdir race was just about there. However, there were some things I needed to address first. While I've been working on these updates, I've received quite a few messages that talk about several issues with the UI. These are issues I've encountered myself, and they were bugging the heck out of me too. The last thing I want is for the core of the game to be worsened by annoying and unpolished UI. I couldn't just ignore the feedback I was getting. Since the last dev log, I've meticulously worked on those issues. Let's take a look!

Window Improvements


[h2]Job and Room Toolbar[/h2]
This one was a huge annoyance for myself, and I'm sure a lot of you found it to be not great as well. It was implemented when there were only a handful of blueprints and rooms to choose from. So, it wasn't terrible back then. Now, there are just way too many entries to have to search through for the old UI to work. I've done a bunch of work on the layout, functionality, but you also won't have to open a separate window to see placed rooms/jobs now. Everything can be done from the newly updated selection window.

First thing you'll notice is that the jobs and rooms are now listed vertically. It shows the names of the jobs/rooms, and what requirements they may have. Rooms will show previously designated rooms, which you can select to add to, as well as what entities do not have the room. This is to help players understand who is missing, say, a Home when playing as the humans.



As well, along the top, I've added filters for job categories, and special rooms for races. You can see in the gif below that I'm using the arrow keys to navigate selections. This is something I've added to windows the selectable lists and tabs.



[h2]Settlers Window[/h2]

This is another window which desperately needed some love. One common piece of feedback I got was that players hated having to scroll, especially on this window. So, I've gone through all the windows and done my best to make everything fit. As you can see on this screen below, you no longer need to scroll horizontally to see all your skills. And, I did some work to the visuals of skills. I've made it so they are easier to read, and toggle. It's much easier to toggle all skills off/on, as well as reset them.



[h2]Entity Window[/h2]

Here's another window which suffered from scrolling. I've done a pass on it to fit everything into one screen. And, hopefully, the overall layout is clearer.



[h2]Production Window[/h2]

This window is the king of complexity and I did soooooo much work to make every part of it easier to read and use. I've added tons of functionality to be able to edit permissions for everything involved in a job. What items are used, what entities, as well as props if any are required. Don't want items stored in water blocks in your stockpile? You can now edit that level of detail if you wish. There's a million little polish items which went into this screen.



[h2]Inventory Window[/h2]

I've added a ton of new categories to help distinguish items in game. As a result, I've also added some functionality to the inventory window to help organize things.



Bees


This post mostly focuses on the window improvements, but I have also been working on content. One of the new additions is the Honeybee. You'll be able to place an Apiary and farm Honey.



Livelier Marine Life

I've added some new plants that grow only in bodies of water. Also, I've added to color to all the fish to help distinguish them.



Conclusion

There's an absolute ton of work left to do. I'm going to hold off saying when this one will come out because I honestly don't know. Most of the stuff I'm working at the moment is very small details which is tedious. I am so thankful for all of you following the game's progress and providing feedback. This community is amazing. I'll do my best to get this update done asap. Just know that I'm still extremely passionate about this game, and I work every day on it. I hope you don't worry that I've dropped off or anything. I'm in the final home stretch and it is quite the challenge, but we are getting there! Thanks so much for going on the journey with me. :)

Waylon