News Liste Going Medieval

Medieval Monday Talk #62 - Optimization Integration
Going Medieval
02.06.25 09:38 Community Announcements
Greetings, medievalists!

Have you checked out our latest dev playthrough that covers all the important stuff from Updates 13, 14, and 15? It’s an hour-and-a-half deep dive that explains key features, answers some burning (hehe) questions, and even talks a bit about the topic of today’s MMT.

[previewyoutube=Zrv9606aIBs;full][/previewyoutube]
If you are a modder, check the Mod Showcase Call section in the video. We plan to make a video where we play your mods and showcase them all over our social media platforms. We're looking for some interesting, cool and/or useful mods. Whether it is just code change or a new 3D asset integration, we are open to anything as long as it follows our Modding Policy.

You can put your mods on the Steam Workshop and showcase them there, join our Discord and share them in ⁠⚒modding or mod-showcase channels. The submission deadline for this is: July 14th 2025. We'll go through the workshop and do some playing of the stuff that is already there. And don't worry, this will not be a one time thing - we plan to do this when we can and when we see a bunch of new mods. So take your time - the most important thing is to have fun.

But let's tackle optimization now.

Optimization is a big challenge for our game, especially when it comes to the mid to late game. Once you get many settlers, animals, and add enemies to them... it takes a lot of processing power to handle all of that. So, it is more CPU-bound than it is GPU-bound. This doesn’t mean that a beefier CPU would handle the game better. Due to the ever-growing complexity of Going Medieval’s systems and their constant expansions and interconnections, the way the code was initially written left a lot to be desired.

We wanted to have all the bigger stuff in and functional before we revisited the foundation and untangled the code and, in turn, made playing our game a much faster, smoother, and more enjoyable experience. This, too, will be a bit of techy talk, but we hope that you’ll get some better understanding of game development even if you are not into programming.

Early in development, our focus was on fun: adding features, systems, and content to make Going Medieval the best colony sim we could. But over time, all that growth made things... well... a bit sluggish. It came to the point where loading the game via some of your reports took over 2 minutes. And you send those a lot (and we greatly appreciate it)! But you can also see how a lot of our time would be lost just to loading. The Unity engine wasn’t helping here, either. Starting the game via the Unity Editor to test something would take over 40 seconds just to reach the main menu. In order to even get to the in-game lag and mid to late game performance, we had to fix the loading time first.

[previewyoutube=pSMa1UXw9Q4;full][/previewyoutube]
We used built-in tools (like Unity’s Profiler) to track down which parts of the game were hogging resources. Think of it like using a map to find the biggest traffic jams in a city.

We also tried out more advanced tools (some free, some not), and even built a few custom ones just for this job.

That helped a lot, because we discovered a hidden culprit - Unity was reloading everything from scratch each time we pressed Play. So we changed how that works under the hood and cut that time down to just 5 - 10 seconds.

Another thing that became evident during this process was that the game was creating too much temporary garbage memory, which the system had to clean up constantly. This, in turn, caused hiccups and stutters in-game.

So we rewrote parts of the code to be less wasteful. Fancy but inefficient tools were replaced with simpler ones. We focused on reusing existing objects instead of throwing them away and making new ones for identical purposes. We also optimized how the strings within the game are called and processed.

It’s pretty obvious that Going Medieval is heavily dependent on loops when it comes to coding. Basically, loops are how the game says: “for each settler, do this.” But not all loops are equal.

We found ways to make them faster, especially in situations that were being repeated thousands of times per second. In short: simpler code, better speed.

Another thing that clogged our code was events. No, not those. We are talking about events in the code. In programming, “events” are a way for parts of the game to talk to each other. Imagine your settlement in the game. When something happens - like a building being constructed or a settler getting injured - there are many systems that need to know about it. For example: the UI wants to show a notification, the audio system might want to play a sound and the AI might need to react in some way.

Now, each of those steps could be checked individually, but that would also be sloooooow. That’s why we group everything together into an event which basically announces that in one function, and anyone who “cares” can listen and respond.

Events are powerful, but they can become a mess if not handled properly. If something is listening to events but never stops listening, it can hang around in memory longer than it should - even after it's no longer needed. This bloats the game’s memory usage and slows things down. We fixed those leaks, cut down on unnecessary messages, and streamlined communication behind the scenes.

Another thing that improved the fps of the game significantly was how humans and animals perceived things in our game. Every time a character in Going Medieval (like a settler, animal, or NPC(internally referenced as agents)) moves, the game has to update what that character can see or sense nearby - things like enemies, items, or other characters.

Previously, we did this by scanning the entire area around the character, like spreading ripples in all directions. This method (called flood-fill) was simple but slow - imagine walking through a forest and having to inspect every tree, bush and rock, every time you take a single step. Now, imagine all the people around you doing the same thing. That’s how much unnecessary work the old system was doing.

Now, instead of checking everything within the area, we only look at the certain radius of an agent - what's newly entering or exiting their range of vision, but not what is inside or outside of it - just the radius “edge”. Here is an example of this behavior:

[previewyoutube=PQQlzTyz-7c;full][/previewyoutube]
This small change made a big difference - the game should be much faster, and no one in the game world notices the difference - except your framerate.

All of these things made the game work better and load faster. There are a bunch of tips and tricks we applied that significantly improved performance - you will not notice those changes visually, but you’ll probably feel it. Thanks for your patience. And thanks for reporting the bugs and sending us saves via F10. That helped us a lot. Hopefully you’ll see it in-game soon, as the idea is to push this to experimental some time this week. Let us know how it goes. Until then…

Stay medieval!

Foxy Voxel

Discord Reddit X/Twitter Bluesky TikTok Facebook
Logo for Going Medieval
Release:01.06.2021 Genre: Simulation Entwickler: Foxy Voxel Vertrieb: The Irregular Corporation Engine:keine Infos Kopierschutz:keine Infos Franchise:keine Infos
Einzelspieler Mehrspieler Koop

Aktuelle Steam News
Neue Steam News in der ePrison Datenbank

Experimental Branch Patch (0.25.17)
Going Medieval
1 Tag 20:00 Community Announcements
Experimental Branch Patch (0.25.16)
Going Medieval
1 Tag 17:00 Community Announcements
Experimental Branch Patch (0.25.13)
Going Medieval
18.06.25 10:24 Community Announcements
Medieval Monday Talk #63 - Getting Ambushed
Going Medieval
16.06.25 11:11 Community Announcements
Experimental Branch Patch (0.25.12)
Going Medieval
13.06.25 14:43 Community Announcements
Experimental Branch Patch (0.25.11)
Going Medieval
10.06.25 13:00 Community Announcements
Experimental Branch Patch (0.25.10)
Going Medieval
09.06.25 14:58 Community Announcements
Experimental Branch Patch (0.25.9)
Going Medieval
06.06.25 14:47 Community Announcements
Experimental Branch Patch (0.25.8)
Going Medieval
05.06.25 14:38 Community Announcements
Medieval Monday Talk #62 - Optimization Integration
Going Medieval
02.06.25 09:38 Community Announcements
Patch Notes (0.24.12)
Going Medieval
23.05.25 07:40 Community Announcements
Experimental Branch Patch (0.24.12)
Going Medieval
22.05.25 13:05 Community Announcements
Patch Notes (0.24.11)
Going Medieval
20.05.25 10:42 Community Announcements
Experimental Branch Patch (0.24.11)
Going Medieval
19.05.25 09:48 Community Announcements
Patch Notes (0.24.8)
Going Medieval
12.05.25 07:19 Community Announcements
Experimental Branch Patch (0.24.8)
Going Medieval
09.05.25 14:47 Community Announcements
Experimental Branch Patch (0.24.7)
Going Medieval
08.05.25 15:52 Community Announcements
Update #15 | Smarter Enemies & Siege Weapons
Going Medieval
08.05.25 09:47 Community Announcements
Experimental Branch Patch (0.24.6)
Going Medieval
29.04.25 17:40 Community Announcements
Experimental Branch Patch (0.24.5)
Going Medieval
25.04.25 16:14 Community Announcements
Experimental Branch Patch (0.24.4)
Going Medieval
11.04.25 10:31 Community Announcements
Experimental Branch Update (0.24.2)
Going Medieval
08.04.25 09:29 Community Announcements
Modding Branch Update (0.23.9)
Going Medieval
20.03.25 13:17 Community Announcements
Modding Branch Update (0.23.4)
Going Medieval
13.03.25 13:07 Community Announcements
Patch Notes (0.22.39)
Going Medieval
06.03.25 08:11 Community Announcements
Medieval Monday Talk #61 - Heavy Weaponry
Going Medieval
03.03.25 14:11 Community Announcements
Patch Notes (0.22.38)
Going Medieval
27.02.25 08:43 Community Announcements
Experimental Branch Patch (0.22.38)
Going Medieval
26.02.25 08:09 Community Announcements
Patch Notes (0.22.37)
Going Medieval
25.02.25 14:30 Community Announcements
Experimental Branch Patch (0.22.37)
Going Medieval
25.02.25 11:23 Community Announcements
Experimental Branch Patch (0.22.36)
Going Medieval
24.02.25 17:44 Community Announcements
Medieval Monday Talk #60 - Modding 1.5
Going Medieval
24.02.25 14:56 Community Announcements
Medieval Monday Talk #59 - Smarter Enemies
Going Medieval
17.02.25 12:04 Community Announcements
Experimental Branch Patch (0.22.35)
Going Medieval
16.02.25 15:46 Community Announcements
Experimental Branch Patch (0.22.34)
Going Medieval
14.02.25 14:55 Community Announcements
Experimental Branch Patch (0.22.33)
Going Medieval
11.02.25 13:00 Community Announcements
Experimental Branch Patch (0.22.32)
Going Medieval
10.02.25 12:58 Community Announcements
Patch Notes (0.22.31)
Going Medieval
06.02.25 10:03 Community Announcements
Patch Notes (0.22.30)
Going Medieval
04.02.25 14:37 Community Announcements
Medieval Monday Talk #58 - Camera 2.0
Going Medieval
03.02.25 13:21 Community Announcements
Patch Notes (0.22.28)
Going Medieval
30.01.25 15:24 Community Announcements
Patch Notes (0.22.27)
Going Medieval
27.01.25 17:00 Community Announcements
Experimental Branch Patch (0.22.27)
Going Medieval
23.01.25 14:07 Community Announcements
Experimental Branch Patch (0.22.26)
Going Medieval
22.01.25 14:47 Community Announcements
Medieval Monday Talk #57 - Camera, Reframed
Going Medieval
20.01.25 21:13 Community Announcements
Experimental Branch Patch (0.22.25)
Going Medieval
17.01.25 16:42 Community Announcements
Experimental Branch Patch (0.22.24)
Going Medieval
16.01.25 16:20 Community Announcements
Patch Notes (0.22.22)
Going Medieval
14.01.25 15:31 Community Announcements
Patch Notes (0.22.20)
Going Medieval
26.12.24 12:21 Community Announcements
Patch Notes (0.22.19)
Going Medieval
24.12.24 14:08 Community Announcements
Experimental Branch Patch (0.22.18)
Going Medieval
24.12.24 11:02 Community Announcements
Patch Notes (0.22.16)
Going Medieval
23.12.24 12:38 Community Announcements
Patch Notes (0.22.15)
Going Medieval
19.12.24 14:02 Community Announcements
Hotfix (0.22.12)
Going Medieval
17.12.24 15:22 Community Announcements
Update #14 | Fire & Training Structures
Going Medieval
17.12.24 12:25 Community Announcements
Experimental Branch Patch (0.22.10)
Going Medieval
16.12.24 15:59 Community Announcements
Experimental Branch Patch (0.22.7)
Going Medieval
13.12.24 18:45 Community Announcements
Experimental Branch Patch (0.22.6)
Going Medieval
12.12.24 17:11 Community Announcements
Experimental Branch Patch (0.22.5)
Going Medieval
11.12.24 14:37 Community Announcements
Medieval Monday Talk #56 - Combat, Expanded
Going Medieval
09.12.24 10:12 Community Announcements
Experimental Branch Patch (0.22.3)
Going Medieval
06.12.24 16:19 Community Announcements
Experimental Branch Update (0.22.1)
Going Medieval
05.12.24 16:44 Community Announcements
Patch Notes (0.21.29)
Going Medieval
05.12.24 08:35 Community Announcements
Experimental Branch Patch (0.21.29)
Going Medieval
04.12.24 14:02 Community Announcements
Medieval Monday Talk #55 - Kindled Strikes
Going Medieval
02.12.24 19:11 Community Announcements
Patch Notes (0.21.28)
Going Medieval
02.12.24 18:00 Community Announcements
Patch Notes (0.21.27)
Going Medieval
02.12.24 16:21 Community Announcements
Nominate Going Medieval for Labor of Love award
Going Medieval
29.11.24 15:38 Community Announcements
Patch Notes (0.21.26)
Going Medieval
29.11.24 14:16 Community Announcements
Patch Notes (0.21.23)
Going Medieval
26.11.24 17:03 Community Announcements
Update #13 | Basic Modding
Going Medieval
26.11.24 11:03 Community Announcements
Medieval Monday Talk #54 - Taming the Beast
Going Medieval
25.11.24 12:12 Community Announcements
Experimental Branch Patch (0.21.21)
Going Medieval
22.11.24 13:08 Community Announcements
Experimental Branch Patch (0.21.19)
Going Medieval
21.11.24 13:22 Community Announcements
Medieval Monday Talk #53 | Fire, Ignited
Going Medieval
18.11.24 18:37 Community Announcements
Patch Notes (0.20.27)
Going Medieval
18.11.24 17:30 Community Announcements
Experimental Branch Patch (0.21.16)
Going Medieval
14.11.24 16:59 Community Announcements
Experimental Branch Patch (0.21.12)
Going Medieval
13.11.24 13:17 Community Announcements
Patch Notes (0.20.25)
Going Medieval
12.11.24 16:41 Community Announcements
Experimental Modding Introduction (0.21.11)
Going Medieval
11.11.24 14:17 Community Announcements
Patch Notes (0.20.24)
Going Medieval
07.11.24 15:02 Community Announcements
Patch Notes (0.20.23)
Going Medieval
05.11.24 11:43 Community Announcements
Patch Notes (0.20.21)
Going Medieval
30.10.24 15:28 Community Announcements
Patch Notes (0.20.20)
Going Medieval
29.10.24 15:52 Community Announcements
Experimental Branch Patch (0.20.19)
Going Medieval
29.10.24 12:51 Community Announcements
Roadmap Update
Going Medieval
29.10.24 12:16 Community Announcements
Patch Notes (0.20.16)
Going Medieval
25.10.24 15:02 Community Announcements
Patch Notes (0.20.14)
Going Medieval
22.10.24 13:26 Community Announcements
Patch Notes (0.20.13)
Going Medieval
17.10.24 13:52 Community Announcements
Patch Notes (0.20.12)
Going Medieval
16.10.24 11:21 Community Announcements
Update #12 | Prisoners & Gates
Going Medieval
15.10.24 10:02 Community Announcements
Experimental Branch Patch (0.20.9)
Going Medieval
14.10.24 15:50 Community Announcements
Experimental Branch Patch (0.20.8)
Going Medieval
11.10.24 14:25 Community Announcements
Experimental Branch Patch (0.20.7)
Going Medieval
10.10.24 16:44 Community Announcements
Experimental Branch Patch (0.20.6)
Going Medieval
09.10.24 15:36 Community Announcements
Experimental Branch Patch (0.20.5)
Going Medieval
08.10.24 17:18 Community Announcements
Experimental Branch Patch (0.20.4)
Going Medieval
07.10.24 16:11 Community Announcements
Experimental Branch Patch (0.20.3)
Going Medieval
04.10.24 15:52 Community Announcements
Experimental Branch Patch (0.20.2)
Going Medieval
03.10.24 18:31 Community Announcements
Experimental Branch Update (0.20.1)
Going Medieval
02.10.24 15:04 Community Announcements
Patch Notes (0.19.40)
Going Medieval
18.09.24 12:16 Community Announcements
Experimental Branch Patch (0.19.40)
Going Medieval
17.09.24 14:19 Community Announcements
Patch Notes (0.19.39)
Going Medieval
11.09.24 11:13 Community Announcements
Experimental Branch Patch (0.19.39)
Going Medieval
10.09.24 11:04 Community Announcements
Medieval Monday Talk #52 — Impactful Entrance
Going Medieval
09.09.24 17:24 Community Announcements
Experimental Branch Patch (0.19.38)
Going Medieval
09.09.24 08:02 Community Announcements
Experimental Branch Patch (0.19.36)
Going Medieval
05.09.24 11:11 Community Announcements
Experimental Branch Patch (0.19.34)
Going Medieval
30.08.24 12:54 Community Announcements
Experimental Branch Patch (0.19.33)
Going Medieval
29.08.24 09:03 Community Announcements
Medieval Monday Talk #51 — Prisoners Revision
Going Medieval
26.08.24 11:52 Community Announcements
Experimental Branch Patch (0.19.32)
Going Medieval
19.08.24 12:54 Community Announcements
Medieval Monday Talk #50 — Rewriting Buildings
Going Medieval
12.08.24 13:19 Community Announcements
Patch Notes (0.19.30)
Going Medieval
12.08.24 07:37 Community Announcements
Experimental Branch Patch (0.19.30)
Going Medieval
08.08.24 07:56 Community Announcements
Experimental Branch Patch (0.19.29)
Going Medieval
29.07.24 13:29 Community Announcements
Patch Notes (0.19.28)
Going Medieval
29.07.24 10:30 Community Announcements
Medieval Monday Talk #49
Going Medieval
29.07.24 08:20 Community Announcements
Medieval Monday Talk #48
Going Medieval
15.07.24 15:33 Community Announcements
Experimental Branch Patch (0.19.28)
Going Medieval
09.07.24 11:03 Community Announcements
Patch Notes (0.19.27)
Going Medieval
28.06.24 12:43 Community Announcements
Patch Notes (0.19.25)
Going Medieval
27.06.24 13:52 Community Announcements
Patch Notes (0.19.24)
Going Medieval
26.06.24 11:33 Community Announcements
Patch Notes (0.19.23)
Going Medieval
25.06.24 08:57 Community Announcements
Patch Notes (0.19.22)
Going Medieval
21.06.24 14:10 Community Announcements
Patch Notes (0.19.21)
Going Medieval
20.06.24 07:58 Community Announcements
Medieval Monday Talk #47
Going Medieval
17.06.24 15:05 Community Announcements
Experimental Branch Patch (0.19.17)
Going Medieval
14.06.24 11:34 Community Announcements
Patch Notes (0.19.16)
Going Medieval
11.06.24 11:59 Community Announcements
Patch Notes (0.19.14)
Going Medieval
06.06.24 13:12 Community Announcements
Patch Notes (0.19.13)
Going Medieval
04.06.24 14:25 Community Announcements
Patch Notes (0.19.12)
Going Medieval
03.06.24 15:15 Community Announcements
Update #11 | Events & Roles
Going Medieval
30.05.24 09:08 Community Announcements
Experimental Branch Patch (0.19.10)
Going Medieval
29.05.24 12:49 Community Announcements
Experimental Branch Patch (0.19.9)
Going Medieval
27.05.24 14:47 Community Announcements
Experimental Branch Patch (0.19.8)
Going Medieval
24.05.24 16:39 Community Announcements
Experimental Branch Patch (0.19.7)
Going Medieval
23.05.24 16:06 Community Announcements
Experimental Branch Patch (0.19.5)
Going Medieval
21.05.24 15:24 Community Announcements
Experimental Branch Patch (0.19.4)
Going Medieval
20.05.24 15:08 Community Announcements
Experimental Branch Patch (0.19.3)
Going Medieval
19.05.24 07:15 Community Announcements
Experimental Branch Patch (0.19.2)
Going Medieval
17.05.24 13:31 Community Announcements
Experimental Branch Update (0.19.0)
Going Medieval
16.05.24 15:07 Community Announcements
Medieval Monday Talk #46
Going Medieval
13.05.24 13:05 Community Announcements
Patch Notes (0.18.19)
Going Medieval
08.05.24 11:43 Community Announcements
Medieval Monday Talk #45
Going Medieval
29.04.24 11:31 Community Announcements
Hotfix Notes (0.18.18)
Going Medieval
26.04.24 13:05 Community Announcements
Update #10.5 | Migration & Camera Changes
Going Medieval
22.04.24 11:26 Community Announcements
Medieval Monday Talk #44
Going Medieval
08.04.24 11:55 Community Announcements
Experimental Branch Patch (0.18.8)
Going Medieval
03.04.24 13:10 Community Announcements
Experimental Branch Patch (0.18.7)
Going Medieval
28.03.24 14:19 Community Announcements
Experimental Branch Patch (0.18.5)
Going Medieval
22.03.24 21:32 Community Announcements
Experimental Branch Patch (0.18.3)
Going Medieval
20.03.24 13:54 Community Announcements
Medieval Monday Talk #43
Going Medieval
18.03.24 15:07 Community Announcements
Patch Notes (0.16.26)
Going Medieval
13.03.24 14:28 Community Announcements
Experimental Branch - Save Migration Guide
Going Medieval
07.03.24 10:39 Community Announcements
Patch Notes (0.16.24)
Going Medieval
06.03.24 13:51 Community Announcements
Patch Notes (0.16.23)
Going Medieval
29.02.24 11:28 Community Announcements
New Save System is coming soon
Going Medieval
26.02.24 18:54 Community Announcements
Patch Notes (0.16.22)
Going Medieval
26.02.24 12:38 Community Announcements
Patch Notes (0.16.20)
Going Medieval
13.02.24 12:26 Community Announcements
Hotfix Notes (0.16.19)
Going Medieval
07.02.24 12:27 Community Announcements
Hotfix Notes (0.16.17)
Going Medieval
06.02.24 11:48 Community Announcements
Hotfix Notes (0.16.16)
Going Medieval
05.02.24 12:03 Community Announcements
Patch Notes (0.16.15)
Going Medieval
01.02.24 13:52 Community Announcements
Patch Notes (0.16.14)
Going Medieval
25.01.24 13:03 Community Announcements
Patch Notes (0.16.13)
Going Medieval
18.01.24 14:49 Community Announcements
Happy Holidays!
Going Medieval
22.12.23 14:27 Community Announcements
Patch Notes (0.16.10)
Going Medieval
20.12.23 14:05 Community Announcements
Hotfix (0.16.9)
Going Medieval
08.12.23 14:11 Community Announcements
Patch Notes (0.16.8)
Going Medieval
07.12.23 08:05 Community Announcements
Hotfix (0.16.7)
Going Medieval
23.11.23 14:05 Community Announcements
Nominate Going Medieval for Labor of Love 2023 Steam Award
Going Medieval
22.11.23 12:56 Community Announcements
Update #10 | Water & Fishing
Going Medieval
21.11.23 10:56 Community Announcements
Experimental Branch Patch (0.16.6)
Going Medieval
20.11.23 10:51 Community Announcements
Experimental Branch Patch (0.16.5)
Going Medieval
17.11.23 10:37 Community Announcements
Experimental Branch Patch (0.16.4)
Going Medieval
15.11.23 11:28 Community Announcements
Experimental Branch Update (0.16.2)
Going Medieval
10.11.23 14:06 Community Announcements
Medieval Monday Talk #42
Going Medieval
30.10.23 13:39 Community Announcements
Medieval Monday Talk #41
Going Medieval
16.10.23 12:25 Community Announcements
Medieval Monday Talk #40
Going Medieval
02.10.23 13:26 Community Announcements
Medieval Monday Talk #39
Going Medieval
18.09.23 12:15 Community Announcements
Medieval Monday #38
Going Medieval
04.09.23 14:34 Community Announcements
Hotfix (0.15.8)
Going Medieval
23.08.23 12:46 Community Announcements