1. Odd Realm
  2. News

Odd Realm News

Lost Legends Expansion - Jan 2024 Dev Diary

Hello and happy new year!

Today I wanted to show off some terrain stuff which will be in the next update as well as some of the other improvements.



Terrain and Cave Generation


The game's terrain gen has taken up a lot of my focus, and I'm super proud of where it's at. With all the biomes, plants and animals in the game, it's an extremely laborious process to work on improving terrain. And it's a big reason why this update has taken so long. But, it's juuuust about done. Let's dive into some things to look forward to.

First off, caves.



The new generation system has a robust set of tools for generating unique and diverse caves (when I say caves, you can assume I include dungeons as well). This is something I'm working a lot on because I want players to have more things to find while exploring underground. That was a big reason for increasing the depth of the world to 256. Caves will vary depending on two main variables: the biome, and the depth. Caves near the surface will be a bit smaller, and have fewer threats and rewards. As you get closer to bedrock at the bottom of the world, the caves will increase in size and complexity. As well, you'll find more interesting entities and items. Big underground lakes with fish. Web-filled spider dens. Tomek mining away. That sort of thing.



As for the overall terrain generation, I've been tuning it like mad. I want players to experience a unique landscape each time they start a new map. A large amount of effort has been put into each biome's features and shape. Mountainous terrain have towering, snow capped peaks with wide, flat valleys. Islands have sandbars and lagoons and deep ocean trenches. You can choose from the hilly landscape you are used to, or flatter plains to work with more open areas.



This is all combined with the new simulation stuff I've built for plants and animals. So, you'll see huge trees, and expansive vegetation that has grown untouched since the Fracture.

Our Ol' Friend, UI!

[h2]Better Notification Previews[/h2]
You know I'm always trying to improve the game's UI. I've updated the notifications to provide more info for important messages in the game. This is to communicate exactly what you are missing instead of a generic, "Missing item!" notification. For example, when you don't have enough of an item when you are building things, it shows you what blueprint, and what item:



These will appear in the top-left of the screen for various things which, in addition to missing items, include enemies sighted, dying/hungry/thirsty entities, new discoveries (caves, items, tech), and all manner of important info.

Now, I know some people probably don't want to see all these things, so you can also disable them from the notification settings window. From here you can also enable the ones that are disabled by default.

[h2]Selected Blueprint Preview[/h2]
I've also added--not sure why I didn't ages ago--the feature which shows what you are currently going to place as a job.



This is especially handy when you want to rotate things before placing them, or just want to see what they look like without needing to be built.

[h2]Tooltips[/h2]
Always adding more info to the tooltips. I've added a bunch more descriptions and surfaced a ton of item, plant, entity, and block info. Added artwork for each biome, and am just adding the additional info for them now to show things like fauna, nations, and other tile features.





Tuning

I'm testing out having entities live longer. Many have mentioned that they'd like this and I'm going to see how that feels. So, instead of a human living 60-100 game days, they'd live 60-100 game years. Essentially, you'd probably never see your settlers die of old age, unless they were old when they arrived. But, I'm curious how different this will play. As well, the Ardyn would age per day, instead of per minute (how everyone else ages in the old version).

I'm honestly not sure which is best and I might have the option to select either when starting a new game. On one hand, short lifespans means you get to see a settlement progress at a super fast rate, but lose their individual progress quickly. On the other hand, with long lifespans, you get to have settlers keep their levels and skills for long periods but you might never see them get old, and never see their children grow up. It's a tricky little design challenge, and I'd like to put it into the beta to get some feedback on it. Either way, I can easily change between one or the other depending on which is the most fun. :)

Concluding Thoughts

I'm in the middle of about five different big-ish tasks, and 100 small-ish tasks. Some of the big ones being UI screens and game content. I'll be honest, it's tedious stuff. I'm trying to juggle all these things as best I can but it takes a long time to finish out each one. So, thank you for waiting, and providing all your extremely kind and supportive messages. I know it seems like this will never come out, but I swear, I am close. You are all amazing and I appreciate you!

Lost Legends Expansion - Dec 2023 Dev Diary

Hello! Welcome. Come on in. Have a seat!

Hope everyone is doing well. I am making great progress on the game and have been working on finishing up all the UI changes for 1.0. This post won't be extremely long as most of my work the last bit has been focused on polishing up the UI, which isn't terribly exciting stuff. But, nonetheless, I wanted to write something to show off the new UI as I'm very happy with where it's going. It's finally starting to feel polished and not annoying. Yay!

New Font


I've changed the font to a more legible one that isn't bold, blocky letters. This should help distinguish the inline icons and make things easier to read overall. I, personally, love it and it has made a huge difference for me just developing the game, let alone playing. I'm very happy with it. And I have to give credit to Chevy Ray for making it.



UI Improvements and Organization


A lot of the UI elements now have collapsible lists. This is to help organize all the data that can come with a UI panel.

For example, below, the room designation now organizes rooms into categories based on function. As you discover new rooms to designate, they'll be organized under their respective category. As well, I've cleaned up 'active' rooms to appear at the top so you can quickly select and view those.



All the tooltips take advantage of these lists too. As you'll see below, the block tooltip shows all its contents in clean lists. And you can open these up when you select the block (holding TAB).



This is very useful when you need to view and select/deselect entities when a group of them is selected.



All the game screens are being updated with this functionality to clean things up. Here's a look at what the new game screen looks like.



Going Forward

There is so much UI in the game to update, and I'm currently updating the room management, uniforms, diets, and settlers windows. It's a tedious process but I feel like I'm making great progress and I'm getting close to having something ready to play. We're getting there!

Thank you for reading and, as always, for the patience and support which you give the game. Hope you are all well, and have a great new year.

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.