Discuss Scratch
- Discussion Forums
- » Collaboration
- » The Medieval Village Simulator Project
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
The Medieval Village Simulator Project
This is a community project to create a game inspired by Dwarf Fortress, where the player leads a village of randomly generated villagers to survive and thrive in a randomly generated world inspired by medieval bestiaries and European folklore. Currently all that has been created is a character creator, a command system, and a rudimentary world generator, but the goal is that each person can remix the project and add new features, which others can choose to remix again and build off of, or go in a completely different direction. Think of it as a family of remixes, each of which becomes its own version of the project. The latest version is here: https://scratch.mit.edu/projects/681165394/. Hopefully that will inspire other Scratchers to start adding features of their own. Everyone is welcome; all you have to do is remix the latest version. Here is a studio of all the remixes: https://scratch.mit.edu/studios/31021832
Our current to-do list:
~ The clothing generator can use some fine-tuning, as now it can generate bizarre combinations like linen shoes.
~ Add more features to world generation
~ Allow you to form a village with your villagers
~ Construct buildings
~ Give the villagers jobs
~ Possibly allow each villager to have their own inventory and money, and let them buy and sell items. Although Dwarf Fortress tried this and it was a disaster and had to be scrapped.
~ Randomly generate rumors that villagers with the gossips trait will spread. They can be about a specific villager or about a treasure rumored to be in a specific ruin, or something else. Rumors can grow over time as they are retold. Each rumor will track who believes in it and who doesn't. Each character will decide if they believe the rumor, disbelieve it, or are neutral based on their personality traits. Believers will change the way they interact with whoever the rumor is about, and if enough believe in it a mob may form to take action.
~ Witches and witchcraft
~ A justice system
~ Rather grim, but torture, as medieval law required that witnesses in a court of law be tortured to ensure they are truthful. Or maybe we drop that one.
~ If enough witches or heretics are allowed to run free in your village, the Inquisition might come to town. Which is actually good for the accused, as despite their modern reputation the Inquisition were usually more just than local courts. They are bad for the player, though, because they will interfere with your running of the village.
~ Potions and alchemy based on medieval beliefs
~ Monsters from medieval bestiaries
~ If your village grows large enough, you can receive a charter to be a semi-independent town
~ If your town grows large enough you can form a kingdom.
~ Royalty and nobility
~ Provide an explanation for who the player is in universe. Perhaps use the Crusader Kings approach of letting you control the head of your village/kingdom and transfer control to the next in line when the current character dies.
~ Magical artifacts, especially the Thirteen Treasures of the Isle of Britain
~ Guilds and confraternities
~ Grotesques: Unique creatures with randomly generated body parts and attributes, based on the bizarre doodles in the margins of medieval manuscripts. Basically our version of Dwarf Fortress' forgotten beasts, but not uniformly malicious.
Sites For Inspiration:
A Book of Creatures: https://abookofcreatures.com/
The Medieval Bestiary: http://bestiary.ca/index.html
Medievalists.net: https://www.medievalists.net/
Wikipedia article on Medieval Cuisine: https://en.wikipedia.org/wiki/Medieval_cuisine
Bestiary on Theoi.com: https://www.theoi.com/greek-mythology/bestiary.html
This is a community project to create a game inspired by Dwarf Fortress, where the player leads a village of randomly generated villagers to survive and thrive in a randomly generated world inspired by medieval bestiaries and European folklore. Currently all that has been created is a character creator, a command system, and a rudimentary world generator, but the goal is that each person can remix the project and add new features, which others can choose to remix again and build off of, or go in a completely different direction. Think of it as a family of remixes, each of which becomes its own version of the project. The latest version is here: https://scratch.mit.edu/projects/681165394/. Hopefully that will inspire other Scratchers to start adding features of their own. Everyone is welcome; all you have to do is remix the latest version. Here is a studio of all the remixes: https://scratch.mit.edu/studios/31021832
Our current to-do list:
~ The clothing generator can use some fine-tuning, as now it can generate bizarre combinations like linen shoes.
~ Add more features to world generation
~ Allow you to form a village with your villagers
~ Construct buildings
~ Give the villagers jobs
~ Possibly allow each villager to have their own inventory and money, and let them buy and sell items. Although Dwarf Fortress tried this and it was a disaster and had to be scrapped.
~ Randomly generate rumors that villagers with the gossips trait will spread. They can be about a specific villager or about a treasure rumored to be in a specific ruin, or something else. Rumors can grow over time as they are retold. Each rumor will track who believes in it and who doesn't. Each character will decide if they believe the rumor, disbelieve it, or are neutral based on their personality traits. Believers will change the way they interact with whoever the rumor is about, and if enough believe in it a mob may form to take action.
~ Witches and witchcraft
~ A justice system
~ Rather grim, but torture, as medieval law required that witnesses in a court of law be tortured to ensure they are truthful. Or maybe we drop that one.
~ If enough witches or heretics are allowed to run free in your village, the Inquisition might come to town. Which is actually good for the accused, as despite their modern reputation the Inquisition were usually more just than local courts. They are bad for the player, though, because they will interfere with your running of the village.
~ Potions and alchemy based on medieval beliefs
~ Monsters from medieval bestiaries
~ If your village grows large enough, you can receive a charter to be a semi-independent town
~ If your town grows large enough you can form a kingdom.
~ Royalty and nobility
~ Provide an explanation for who the player is in universe. Perhaps use the Crusader Kings approach of letting you control the head of your village/kingdom and transfer control to the next in line when the current character dies.
~ Magical artifacts, especially the Thirteen Treasures of the Isle of Britain
~ Guilds and confraternities
~ Grotesques: Unique creatures with randomly generated body parts and attributes, based on the bizarre doodles in the margins of medieval manuscripts. Basically our version of Dwarf Fortress' forgotten beasts, but not uniformly malicious.
Sites For Inspiration:
A Book of Creatures: https://abookofcreatures.com/
The Medieval Bestiary: http://bestiary.ca/index.html
Medievalists.net: https://www.medievalists.net/
Wikipedia article on Medieval Cuisine: https://en.wikipedia.org/wiki/Medieval_cuisine
Bestiary on Theoi.com: https://www.theoi.com/greek-mythology/bestiary.html
Last edited by Fogger123 (April 27, 2022 03:02:28)
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
The Project's Family Tree
what is Dwarf Fortress Medieval Villager Generator v.1
by Locomule by Fogger123
| |
| Medieval Villager Generator v.2
| by Fogger123
| |
| Medieval Village Simulator v.1.1
| by Fogger123
| |
| Medieval Village Simulator v.2
|__________________________| by Fogger123
| |
Locomule Simulator + Lore Medieval Village Simulator v.3
by Fogger123 by Fogger123 |____________
| | |
|_________________________| Medieval Village Simulator v.4 B
| by Fogger123
Medieval Village Simulator v.4
by Fogger123 |
Medieval Village Simulator v.5 B
| by Fogger123
Medieval Village Simulator v.5
by Fogger123 |
Medieval Village Simulator v.6 B
| by Fogger123
| |
| Medieval Village Simulator v.7 B
by Fogger123
Medieval Village Simulator UNDER OPTIMIZATION
by Locomule
|
Bug Fixes for Locomule
by Fogger123
|
Medieval Sim
by JasperPlayz00
what is Dwarf Fortress Medieval Villager Generator v.1
by Locomule by Fogger123
| |
| Medieval Villager Generator v.2
| by Fogger123
| |
| Medieval Village Simulator v.1.1
| by Fogger123
| |
| Medieval Village Simulator v.2
|__________________________| by Fogger123
| |
Locomule Simulator + Lore Medieval Village Simulator v.3
by Fogger123 by Fogger123 |____________
| | |
|_________________________| Medieval Village Simulator v.4 B
| by Fogger123
Medieval Village Simulator v.4
by Fogger123 |
Medieval Village Simulator v.5 B
| by Fogger123
Medieval Village Simulator v.5
by Fogger123 |
Medieval Village Simulator v.6 B
| by Fogger123
| |
| Medieval Village Simulator v.7 B
by Fogger123
Medieval Village Simulator UNDER OPTIMIZATION
by Locomule
|
Bug Fixes for Locomule
by Fogger123
|
Medieval Sim
by JasperPlayz00
Last edited by Fogger123 (Aug. 11, 2025 22:51:25)
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
Latest News
When @Locomule is feeling better, he will be porting the project to offline and creating a world generation system.
When @Locomule is feeling better, he will be porting the project to offline and creating a world generation system.
Last edited by Fogger123 (Sept. 21, 2022 16:59:24)
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
Creatures to Add
I ran out of characters, so I moved the creature list to a new thread: https://scratch.mit.edu/discuss/topic/595073/?page=1#post-6196235
I ran out of characters, so I moved the creature list to a new thread: https://scratch.mit.edu/discuss/topic/595073/?page=1#post-6196235
Last edited by Fogger123 (April 9, 2022 01:14:51)
- Locomule
-
Scratcher
1000+ posts
The Medieval Village Simulator Project
Greetings! I have yet to play Dwarf Fortress but after hearing about it I looked it up on YouTube and started making a similar mapping system. So far I've made a 20x20 world map and each tile is another 20x20 game map you can inspect. Next I will improve map tiles so world map tiles look different from game tiles and also make each game map generation match the type of world map tile it represents. Right now all the game maps are just randomly generated using world map tiles.
Let me know if this looks like something that could be useful to you or you want more details on how this works?
Let me know if this looks like something that could be useful to you or you want more details on how this works?
Last edited by Locomule (Jan. 24, 2022 04:19:25)
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
@Locomule Wow! Okay, that really puts the one I was working on to shame. I guess the only real improvement I had was that my version simulates different z-levels that you can switch between viewing, but even that didn't work perfectly. I guess I can post mine as well and future contributors to the collab can decide which system they prefer to use. But yours is definitely going to be used somehow; it works much better than mine.
- Locomule
-
Scratcher
1000+ posts
The Medieval Village Simulator Project
Thanks! I considered the Z space but opted to go for max map size instead. However I also left some space to play with so some version of it might be an option moving forward. With a hard memory size limit one solution would be to allocate a chunk for Z mapping and once the player gets close to using that space up we have natural disasters cause cave-ins which resets some of the space 
I won't be able to play DF for another week so I'm kinda guessing my way through this build at the moment. If you have any suggestions please share! I still have plenty of basic things to add like collisions and scrolling but I've done that stuff before. I think I'm gonna add my first dwarf too even if it does nothing but just wander the map at the moment. My idea was to make a random event generator, that way, besides getting results from the tasks you assign the dwarf will also accumulate little funny things that occur during its day.
I already put mines inside the mountains but I have another idea. I am a rockhound or amateur mineral collector, I dig for crystals. My idea is that while the dwarves are walking around there is a chance they can find evidence like minerals at the bottom of a hill. The player can send them back to that spot to search for a temporary mine which would work like a z layer and be off the main map. These mines can have a time limit before unstable ground closes in, so you gotta grab what you can find and get out. Coding-wise this is great because it lets us recycle our valuable memory space to access the Z depth feature. After a mine is played out you could update the main map just to show that a mine was run there in the past.
As for events I'm gonna give each Dwarf list space to store events. I think the way to go is to use assign each event a code and store them that way rather than storing full text “Dwarf Whoever did whatever to whatever and whatever happened” over and over as list entries.
How is game time handled in DF? I used Griffpatch's tick broadcast system for all my projects for years so I'm planning on using that to power my game clock. But then again, I'm not sure yet how useful I can make time of day in a small Scratch project? Coding time of day activities like sleep seems pretty costly for AI block-wise but it seems necessary for something like food and hunger in dwarves.
What are your favorite aspects of playing DF? Obviously we have to cut the features waaaaaay down for Scratch, hahaha, like I gotta tell you that, right? So best case scenario I would want to capture the essence of what makes DF great even if it is just a blocky, clunky version. We could still squeeze some genius in there somewhere

I won't be able to play DF for another week so I'm kinda guessing my way through this build at the moment. If you have any suggestions please share! I still have plenty of basic things to add like collisions and scrolling but I've done that stuff before. I think I'm gonna add my first dwarf too even if it does nothing but just wander the map at the moment. My idea was to make a random event generator, that way, besides getting results from the tasks you assign the dwarf will also accumulate little funny things that occur during its day.
I already put mines inside the mountains but I have another idea. I am a rockhound or amateur mineral collector, I dig for crystals. My idea is that while the dwarves are walking around there is a chance they can find evidence like minerals at the bottom of a hill. The player can send them back to that spot to search for a temporary mine which would work like a z layer and be off the main map. These mines can have a time limit before unstable ground closes in, so you gotta grab what you can find and get out. Coding-wise this is great because it lets us recycle our valuable memory space to access the Z depth feature. After a mine is played out you could update the main map just to show that a mine was run there in the past.
As for events I'm gonna give each Dwarf list space to store events. I think the way to go is to use assign each event a code and store them that way rather than storing full text “Dwarf Whoever did whatever to whatever and whatever happened” over and over as list entries.
How is game time handled in DF? I used Griffpatch's tick broadcast system for all my projects for years so I'm planning on using that to power my game clock. But then again, I'm not sure yet how useful I can make time of day in a small Scratch project? Coding time of day activities like sleep seems pretty costly for AI block-wise but it seems necessary for something like food and hunger in dwarves.
What are your favorite aspects of playing DF? Obviously we have to cut the features waaaaaay down for Scratch, hahaha, like I gotta tell you that, right? So best case scenario I would want to capture the essence of what makes DF great even if it is just a blocky, clunky version. We could still squeeze some genius in there somewhere

- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
First of all, I finally finished my long-awaited third version, with its 3d world generator: https://scratch.mit.edu/projects/636996604/. Yeah, its not nearly as stylish as yours, but its serviceable. I'll definitely be trying to see what I can do with your version, though. Also, I added your version to the Project Family Tree on this thread.
As for Dwarf Fortress, you know more about it than me if you have actually been playing it. My computer isn't beefy enough, so I have been relying on reading let's plays. By the way, if you're looking for an entertaining Dwarf Fortress let's play, I recommend Glazedcoast. My idea for this project was to not necessarily directly copy DF, but to try to make something in that style featuring humans in a (somewhat) accurate medieval setting with creatures from medieval European folklore. But you are welcome to go in whatever direction you want with your versions.
Your idea for storing events as a code is really smart; I hadn't thought of that. As for game time, I believe DF uses turns.
As I said, I have not actually played DF, but my favorite aspect of it in concept at least is the emergent storytelling which comes from all its intricate parts working together. That, and the hilarious bugs. Obviously we won't intentionally program bugs into our games (would it still be a bug if it was intentional?), and you can't really intentionally capture that magic anyway, but man has DF had some funny bugs over its time. Like the time cats were mysteriously dying and it turned out they were getting alcohol poisoning from licking their paws after crossing a tavern floor. Or the time the temperature of rain was accidentally set so high that dwarfs literally melted in the rain. Or the time that cooks could somehow make solid food out of nothing but alcohol.
As for Dwarf Fortress, you know more about it than me if you have actually been playing it. My computer isn't beefy enough, so I have been relying on reading let's plays. By the way, if you're looking for an entertaining Dwarf Fortress let's play, I recommend Glazedcoast. My idea for this project was to not necessarily directly copy DF, but to try to make something in that style featuring humans in a (somewhat) accurate medieval setting with creatures from medieval European folklore. But you are welcome to go in whatever direction you want with your versions.
Your idea for storing events as a code is really smart; I hadn't thought of that. As for game time, I believe DF uses turns.
As I said, I have not actually played DF, but my favorite aspect of it in concept at least is the emergent storytelling which comes from all its intricate parts working together. That, and the hilarious bugs. Obviously we won't intentionally program bugs into our games (would it still be a bug if it was intentional?), and you can't really intentionally capture that magic anyway, but man has DF had some funny bugs over its time. Like the time cats were mysteriously dying and it turned out they were getting alcohol poisoning from licking their paws after crossing a tavern floor. Or the time the temperature of rain was accidentally set so high that dwarfs literally melted in the rain. Or the time that cooks could somehow make solid food out of nothing but alcohol.
- Locomule
-
Scratcher
1000+ posts
The Medieval Village Simulator Project
Yo, sorry, I got a new PC so everything is crazy at the moment, I've been using 2 different loaner PCs and now my files and bookmarks are spread out everywhere. But yay, I found the post again, all because you left that link as comment, thanks!! So yeah, it will be a bit before I can contribute anything else useful. But the good news is I have DF installed now! Lol, I ran it and immediately realized it is going to take a lot of studying just to figure out what is going on, much less how to play
Anyway, I'll message again later, hope you are doing well!
Anyway, I'll message again later, hope you are doing well!- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
You're welcome! I hope you're doing well as well. Glad the link worked for you. I'm currently trying to work out how the code works in your project, and also copying over a huge number of new last names to my project from a registry of last names from London in 1319 that I found.
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
I also have been compiling a list on this thread of creatures from folklore which could be added to the game, though having actual entities running around is still quite far in the future.
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
I'm really burnt out right now. I spent all day long writing descriptions of about fifty creatures, and then they all disappeared, even though I had saved it hundreds of times, and different points throughout the day. I have spent all night trying everything I can to recover it, but nothing works. Maybe I'll feel better in the morning, but right now I really don't want to hunt down all that information and type out long descriptions of it again, and I really don't know if I want to ever do anything again on a site that can just delete hard work that has been saved fifty times already.
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
This is probably pretty unlikely, but no one on here happens to have a screenshot or have copy-pasted the creature list pre-mysterious-deletion, do they? Everything after Enfield disappeared.
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
I am not sure if or when I will try to retype all the entries, but I don't want anyone to think I have given up on the collab; I am currently working on adding more last names to the villager generator. I have contacted @ceebee from the Scratch Team about the missing creature entries, but haven't heard back and don't really expect there to be anything they can do.
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
I am currently working on adding plants to the world generation. I was about to pull out my hair over a bug that kept happening, but I finally found it was because I had a space where it shouldn't be in the entry for one of the plants in the plant list.
- Locomule
-
Scratcher
1000+ posts
The Medieval Village Simulator Project
Yo! Sorry, I was missing your messages till now. Is there anything I can help with?
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
Hey! Glad to see you! It was starting to get lonely around here. Well, I just finished transcribing all those surnames from the Registry of London, so now there are 995 last names in the generator (so close to 1000!). I also have the plant generation working; now I just have the chore of copy-pasting the code to each tile and modifying the values. I'm not sure that there's anything I need help on right away, but I'd love to see where you take your branch of the collab next. Maybe adding some mobile entities; I'd be interested to steal - I mean learn from - your take on that, since I am getting close to that point in my own work.
- Fogger123
-
Scratcher
67 posts
The Medieval Village Simulator Project
@Locomule Also, this post is an experiment to see if you see notifications that have an @ in them.
- Discussion Forums
- » Collaboration
-
» The Medieval Village Simulator Project

