The game that developped this system the most is dwarf fortress, and by far... This kind of game is very hard to design but if it works, then it offers very unique stories to each player and can become a very pleasant experience in a gamer's life.
@@ViciousLegacyGameAUS that's the correct reason to make a game. And you've inspired me to get back on with the game I started coding a while ago. Can't wait for the demo of vicious legacy though.
I've watched a couple DF playthroughs but haven't played myself. Seems like an awesome game, but I've never really been a huge fan of settlement management sims. Really looking forward to the ARPG aspect of this project.
reminds me a lot of dwarf fortress' legends system, but interesting to rly see how someone might practically design and implement it in more specific terms! rly neat, will be cool to see how it works out as u add to it!
Very cool system. I absolutely love it when games simulate entities, and history out side of the players so I'm really excited to see this all come together.
The most obvious version of this, though not the same, is the system in the Middle Earth series of games. Another game to look at would be Wildermyth which does a simplified version of this for stories and 'legacies'. LOVE the idea and justification and honestly can't wait to see how it evolves!
Wildermyth is an absolute gem. I got so addicted to that game when I discovered it. Also if you're referring to the nemesis system in shadow of Mordor / war, then yes that's one of my favorite procedural systems for sure
Look interesting! I'm looking forward to seeing how it comes along. It's always interesting seeing how different people tackle problems and design. It had me thinking about how I might approach that problem. given the scope of the problem and the potential difficulties with debugging my first instinct is a lightweight dsl with a syntaxtree for the history and maybe a directed graph for resolving the relationships between entities. There is no real right answer for a system like this, its all tradeoffs of one kind or another, I'm looking forward to seeing how it progresses!
I love it. I must admit, I already got excited to see a lot more since the end of year update. But then I realised I'd rather see you work on the project at your own pace and have fun with it. I think especially in indie games you can feel when a game was created with passion. And if you some time in the future need help with the music aspect of the game, I'd be glad to help :D.
I'm also working on a system like this in the background, of course my approach is different to yours. You might want to look into graph replacement theory. Unexplored 1 and 2 are amazing examples of how to apply this to procedurally generating everything. Of course, it can also be used to help derive content that is 'self-similar' (or as I like to think 'self-consistent') as well. Good luck!
Just to back you up. I need to switch projects every week or so to stay interested. Luckily I work on a very large system with multiple services using different languages etc. and can jump around easily.
Wish I had your voice, very relaxing, it makes me want to practice my speaking for my own devlogs! :) anyway you're doing exactly what an indie needs to do for succes in terms of interesting game design! I wish you persistence in the implementation! Sail Safe!
Thanks very much! I always disliked the sound of my voice, just goes to show we are probably always a bit too critical of ourselves. I'm sure you have a great voice!
Would be interesting if the more widespread the "rumors" and things tied to a monster are, the tougher it was. That would make a kind of sense as it had faced multiple opponents who are also probably well known and defeated them... every joe on the street has heard that story and worries about it. On another note; this game combined with "Where Beasts Were Born" sounds like the ultimate idea of this type of game; a world that changes every time you play, has a deep history, and adjusts itself to challenge you.
Hey! Your comment reminded me that I completely forgot to talk about some of the unique modifiers that entities can accumulate, Fame and Knowledge being two of them. So, exactly as you describe, higher fame (or indeed infamy) increases the likelihood that people far away would know about a certain entity, and knowledge determines how much they would know about that entity, so a farmer might have heard the name of a far away king, but a scholar could tell you their story etc.
I really enjoy where this is going. I hope this is a given but I think this system would be great if certain events are rarer. If every farmer who loses their family becomes a monster hunter, eventually it wouldn’t feel very special. The flavor of a lot of these reputations and stories is that the player can assign them to specific (or a small group of) characters. Rarity will make the really special characters shine, but normal NPCs should also be just interesting enough to be remembered
What about using a simple AI that can run locally so you can have infinity variations for descriptions, like you say, "tell me to write a description for a farmer who is a secret assasin", which would allow you to do more complex things, you can use a really simple AI for this that won't cost much to run
And since descriptions technically only have to be generated when the player actually tries to fetch the description (as it's just derived from data you generated), you can just generate it when the player interacts with the entity, and show a little loading symbol, or generate it when the entity is loaded on screen based on some priority system, then it wont take up much compute at all
Wow, we had almost the same idea. I am making a open world turn based deck builder game where you start as a boy and as time passes you and the Npcs develop in a way. If you interfere wirh them or other stuff that shapes their entity they can take a different life path (else preprogrammed life) , maybe you create the bbeg or just a normal guy. Same with your character.
I swear I posted this before, but I cant' find it now. I really hope you make this system available to everyone, as this kind of thing is just so powerful. I tried to do it once myself and it ended up rather terrible.
The thing with dropping project for a significant amount of time for me is that I often found myself without direction where to head next or worse that I kinda forgot how to do some stuff.
this reminds me of that one anime where the mcs fight thor and it turns out to be a generated event rather than being a hard coded one. perhaps it was sword art online or sth.
I recommend distancing yourself from treating each entity as an object with those scriptable objects. Instead, have a single place where stats are stored (strength, charisma, etc) and a list of events that the entity partook in that modify these stats. Basically, you have an entity with a base stat component and add event components that tweak those base stats. Entity got it's leg cut off? Add the left leg cut off component which adds the one legged flag and removes 5 agility from the entity. These flags are things that trigger events or modifiers. An entity with the dwarf tag walks up to an entity with the blacksmith flag so the dwarf perceives them with increases charisma and then the dwarf gains the "entity a fan" flag which will prompt them to spread the blacksmith's fame around. With basic entities, event components, and modifier flags a more complex system emerges. From my personal experience, this is a much easier way to approach this problem. It's easier to scale and let's you picture the data a bit easier. It's also not even that different than what you're creating right now. Ps. If you're thinking of simulating each entities movements on the map then I'd advise you to rethink that decision. Instead, assigning them to general areas that they can move between and influence is a much more simple and robust way to simulate realistic entities
Going to have to watch out on this one so the scope creep goblin doesn't get you. This is the white whale of many famous failed game projects, including ones by Chris Crawford and other legendary devs.
Another interesting way games use lore is in manuels, ala the Zomnibus in plants vs zombies. I was playing around with the idea, and i think it might suit your game, of integrating this monster archival system into the levelling, or core gameplay loop: field research/recon, document peoples stories, use to make an entry in the book, defeat said monster to add material evidence, publish findings and go up a level/make money, idk. Might be just for one class, inspired by the early biologists that adventured to places like the Galapagos
About deciding whether or not to post other games to this channel or that channel, take recommendations from both the comments section AND your analytics. You could experiment uploading here and seeing how that performs by numbers and graphics. If you do ignore analytics, then anyone of us could have the opinion of "do skyrim lets plays lol" on your channel. Up to you man.
@@ViciousLegacyGameAUS On a side note, holy crap a rather large game developer I watch replied to my comment. Awesome! Hey thanks for making my day man, cheers.
I am making a RPG. Wanting to simulate thousands of NPCs but I probably won't generate the NPCs during gameplay, more as a way to start the game off with history and characters without having to do so manually. This gives me ideas.
the way this is shaping up looks like an absolute dream, the perfect mix of the expansive random generation of dwarf fortress and the casual playability of modern RPGs. i can't wait to play it. does anyone have any recommendations for similar existing games to play while we wait for this one? I've heard good things about wildermyth but I'm on the fence about it, turn based games aren't really my thing
I for one really enjoy wildermyth. I found initially the events to get a bit repetitive, but I think they've added a lot more content since I last played. Turn based stuff isn't my jam either but what they do with character progression is really cool
I have been highly fascinated by projects like Dwarf Fortess and especially Caves of Qud. But I think the PCG Lore type stuff is going to be greatly benefited by language models. I think the traditional approach used by those previous games is becoming dated. I would personally design a PCG system to be very extensible knowing this. Especially with open-weights models like LLama actually being pretty great. But i am ignorant to how these systems work (PCG). I can imagine there are certain areas where integrating language models would require a reconceptualization of the entire system.
Tiny detail, if I were you, I would rename `ReputationTypes` to `ReputationType`. I think it's confusing to have enums be plural because they're meant to represent a single value (shown by the fact that the var name is reputationType). Very ambitious, but will be great if you manage to get it done!
Hey! Probably not in the short term, I don't want to give people a false perception of the game by putting it up yet, I want to wait until it's looking more polished :)
Quick question, will there be technological development through time. Like you start the game in the heroic bronze age and end off in the high medieval period? edit: And also will there be politics? I don't want to crowd your head with too many ideas though so ignore me if the answer is no.
Thanks for the questions! The goal is some form of yes to both. I plan to use archivist to generate countries and factions with relations etc and also I want technology to advance with the cultures
I had the great idea to release my game in early access. But if you think about it. You already have lots of pressure. And now since people already paid. They want updates on regular basis. And what if you can't deliver? Well the customers wont be happy. And you'll have even more pressure and stress. And stress isn't healthy. Never make any promises. You never know what will happen. Keep it fun at your own pace. I try to imagine that I'm playing a sandbox game like Minecraft for example. Where you can go anywhere and build anything. And the coding is like a puzzle game. You already have all the pieces you just need to put them together.
You might look at composition instead of inheritance. For your farmer turned monster hunter example, you could drastically change the entity's composition by removing and adding traits (classes in an array, or set of arrays). Also your description sounds a lot like a simulation. You might think about a system that generates random entities and can then step forward or backward by a specified amount. Stepping would allow each entity to make decisions and mutate world state. You could take great leaps forward when starting the game or between games and take tiny steps during the game so that stories progress as the player plays.
I want to wish you luck, because it seems like you’re in a difficult position - you’ve become completely bored by your original vision, and now you’re hoping that this new, shiny concept will allow you to nurse your original game back from the dead. I haven’t seen this scenario work out too well in the past, so I’ll definitely be watching to learn how you move past your obstacles.
This was definitely always part of the original vision, it's just that now I've figured out the system more, I actually talk about this in devlog #0 :)
This sounds so complex to design. I'm looking forward to seeing your progress. That inheritance architecture for Entity... a little bit scary. Hope you don't decide to add the notion of Race. You should consider just continuing your composition pattern.
This is a very cool idea and I think I thought about something similar but IDK if it could be done, AI quests. Where an AI creates quests that can't be repeated. I guess the next step from procedural is AI. Like I don't know if the farmer notices it's chickens are missing he gives a quest to maybe find out what is taking them each night. I think the problem will be also making sure that you don't just get quests that are simple but that you also get quests that sort of have a bigger story.
It won't work. I mean, it's kinda easy to do so, but it needs design for everything. You can generate "monster wounded before" as you've described, but it will generate only variants of the same thing ( different monster, different weapon...). So, it will generate glorified fetch quests. Quests are interesting when they are unique little crafted stories (think Witcher 3) And you won't be able to generate that. Not to dissuade you. It's just that you'll still need to design it manually. You'll just add some variability to it. IMO it's not worth the effort as you'll need to build the system, test all of its outputs only to have a slightly different playthrough each time. TLDR: Just think how limited the AAA system in Shadow of Mordor actually is.
Whilst I agree that there will still need to be manual design input, especially for quests, I think the world generation can create a lot more variation than you are anticipating. I guess we'll just have to see once it's all up and running
@@ViciousLegacyGameAUS Did you do a paper prototype? Write what the output would be and look at what you'd need to implement it? See the inputs to see what else it could create? Bare bone version takes a few minutes. The outcome CAN be incredibly complex (dwarf fortress), but it needs a lot of CONTENT to get there, IMO. It's actually a problem with all procedural generation. It generally creates variants of the same thing but not something new. The other part is that "[The Event] happened in our [Village name]" types of lines are harder to do in a way, that's actually engaging. Which one do you prefer: "Red dragon was roaring in the sky, as it blackened from the smoke of our burning roofs" or "[the red dragon] [burned] our [village]"? I like procedural stuff, I really do, I did a lot of it and plan to do more. I just implore you to do a honest paper prototype first and judge by yourself what it can and cannot do for you, and how it will actually scale with each event. I'm looking forward to the future devlogs in both cases.
I just saw your EntityData and from a clean code perspective it does not make sense to use the word entity inside the class. (because its clear from the scope already) So entityName and entityAge should actually only be called name and age, since it is already data of an entity. myEntity.name and not myEntity.entityName. Further comments should be avoided and actually they are obsolete here. entityName // the name of the entity entityAge // the age of the entity (or how you phrased it inconsistent: how old the entity is) startingFameLevel // the starting level of fame for the entity These comments are not helping at all and only polluting your code (further it is very likely that you forget to change the comment if the implementation changes). The variables already describe what is going on, why comment it again, with the same words? Happy coding! 🙂 PS: Same for your other classes
Hey thanks for the feedback! I agree in general my naming conventions are all over the place so I appreciate that, and makes perfect sense. For the commenting, generally I will try to really over comment the sections I show in a video (or at least the parts I talk about) for people who maybe aren't familiar with programming at all and have no idea what's written aside from the comments, but I agree outside of that most are obsolete
I have been following your devlogs, and I wanted to reach out to you. If you would be interested in getting some custom music for your game, maybe we could collaborate. I am a composer, trying to get into video game music. So, maybe we could work together and help each other out. Let me know if you would be interested.
a rougelike means the entire game resets on death... a rougelite keeps meta progression, even if you die, which is what this game does, it carries on even if you die.
I think its hilarious and a bit ironic that yeah, projects come and go and wax and wane. I'm 53yrs old. My hobbies haven't changed since I was a 10yr old.. just my time and devotion ro them. It's tiresome to explain that to the women that when I put sonething down and don't pick it up again for 5yrs or so im not a quitter.. lol .
The game that developped this system the most is dwarf fortress, and by far... This kind of game is very hard to design but if it works, then it offers very unique stories to each player and can become a very pleasant experience in a gamer's life.
Dwarf Fortress is the goat
Wow, what an awesome system. I'm so excited to see this in action. I've always wanted an action RPG with this kind of procedural lore.
Me too! haha. Mainly I want to make it so I can play it 🤣
@@ViciousLegacyGameAUS that's the correct reason to make a game. And you've inspired me to get back on with the game I started coding a while ago. Can't wait for the demo of vicious legacy though.
@@crispybacon9917 awesome! Hope I see your game out there someday 😀
Have you ever tried Dwarf Fortress? It has procedural generation that’s like 10,000 times more detailed than this approach.
I've watched a couple DF playthroughs but haven't played myself. Seems like an awesome game, but I've never really been a huge fan of settlement management sims. Really looking forward to the ARPG aspect of this project.
i am so glad to see you were just taking your time, and NOT abandoning this beautiful project. Keep up the gr8 work
Thank you! :)
Archavist sounds super cool. It's a history simulator and I can see it getting completely and gloriously out of hand.
This is by far the coolest project I've seen, I really hope that this makes it to a full game. Keep up the great work!!
Thanks so much! :)
I love watching your concept getting exponentially more intricate with each devlog.
Can't wait! It's been so long but the legend is returning!!
i literally thought about your game yesterday, epic timing
Love to see more from you how ever long it takes, I was just thinking of your game yesterday at work
beautiful video and beautiful game! very ambitious idea, but I believe you got it!!
Such an interesting project. I love to see how you’re iterating on ideas and thinking about the systems. Look forward to the next update.
The lore generator feels like that of Dwarf Fortress and I love it!
reminds me a lot of dwarf fortress' legends system, but interesting to rly see how someone might practically design and implement it in more specific terms! rly neat, will be cool to see how it works out as u add to it!
I am really interested in all the possible events that may appear from a system like that. That's a great idea keep it up ! :D
Very cool system. I absolutely love it when games simulate entities, and history out side of the players so I'm really excited to see this all come together.
The most obvious version of this, though not the same, is the system in the Middle Earth series of games. Another game to look at would be Wildermyth which does a simplified version of this for stories and 'legacies'. LOVE the idea and justification and honestly can't wait to see how it evolves!
Wildermyth is an absolute gem. I got so addicted to that game when I discovered it. Also if you're referring to the nemesis system in shadow of Mordor / war, then yes that's one of my favorite procedural systems for sure
Wow, this looks amazing! Can’t wait to see how the game develops.
Oooh. A new devlog! I actually just checked your page the other day to see if i missed one!
Yes I'm back! :)
this seems amazing and incredibly difficult. im here for it in a big way. see you in 6-12 months!!!
Look interesting! I'm looking forward to seeing how it comes along. It's always interesting seeing how different people tackle problems and design. It had me thinking about how I might approach that problem. given the scope of the problem and the potential difficulties with debugging my first instinct is a lightweight dsl with a syntaxtree for the history and maybe a directed graph for resolving the relationships between entities. There is no real right answer for a system like this, its all tradeoffs of one kind or another, I'm looking forward to seeing how it progresses!
It's always a treat to see a new devlog of this!
I really look forward to seeing how this system develops!
I love it. I must admit, I already got excited to see a lot more since the end of year update. But then I realised I'd rather see you work on the project at your own pace and have fun with it. I think especially in indie games you can feel when a game was created with passion.
And if you some time in the future need help with the music aspect of the game, I'd be glad to help :D.
@@LetsSmiley cheers, i appreciate it :)
Awesome concept, can't wait to see how it turns out!
Happy you are back. Don't stress about Posting regularly 😊
Divine Above this is SO cool
Wow, he is back! So cool, i have been waiting for months 😂 Keep going!
I'm also working on a system like this in the background, of course my approach is different to yours.
You might want to look into graph replacement theory. Unexplored 1 and 2 are amazing examples of how to apply this to procedurally generating everything.
Of course, it can also be used to help derive content that is 'self-similar' (or as I like to think 'self-consistent') as well.
Good luck!
Wow this devlog was worth the wait for sure :)
Thanks for waiting!
Just to back you up. I need to switch projects every week or so to stay interested. Luckily I work on a very large system with multiple services using different languages etc. and can jump around easily.
Wish I had your voice, very relaxing, it makes me want to practice my speaking for my own devlogs! :)
anyway you're doing exactly what an indie needs to do for succes in terms of interesting game design! I wish you persistence in the implementation!
Sail Safe!
Thanks very much! I always disliked the sound of my voice, just goes to show we are probably always a bit too critical of ourselves. I'm sure you have a great voice!
Would be interesting if the more widespread the "rumors" and things tied to a monster are, the tougher it was.
That would make a kind of sense as it had faced multiple opponents who are also probably well known and defeated them... every joe on the street has heard that story and worries about it.
On another note; this game combined with "Where Beasts Were Born" sounds like the ultimate idea of this type of game; a world that changes every time you play, has a deep history, and adjusts itself to challenge you.
Hey! Your comment reminded me that I completely forgot to talk about some of the unique modifiers that entities can accumulate, Fame and Knowledge being two of them. So, exactly as you describe, higher fame (or indeed infamy) increases the likelihood that people far away would know about a certain entity, and knowledge determines how much they would know about that entity, so a farmer might have heard the name of a far away king, but a scholar could tell you their story etc.
Wow, sounds like a lot of work. Good job.
ARCHIVIST is a great acronym and a very exciting system
❤️
really cool system! stoked to see its progression
I have waited so long for this
welcome back
I really enjoy where this is going. I hope this is a given but I think this system would be great if certain events are rarer. If every farmer who loses their family becomes a monster hunter, eventually it wouldn’t feel very special. The flavor of a lot of these reputations and stories is that the player can assign them to specific (or a small group of) characters. Rarity will make the really special characters shine, but normal NPCs should also be just interesting enough to be remembered
100% agree
Sometimes the best thing we can do for our project is to take a step back
Love the concept of A.R.C.H.I.V.I.S.T. but hopefully you can make it tangible and fluid in-game.
This should super amazing!! Daunting, but glorious! 🤩
What about using a simple AI that can run locally so you can have infinity variations for descriptions, like you say, "tell me to write a description for a farmer who is a secret assasin", which would allow you to do more complex things, you can use a really simple AI for this that won't cost much to run
And since descriptions technically only have to be generated when the player actually tries to fetch the description (as it's just derived from data you generated), you can just generate it when the player interacts with the entity, and show a little loading symbol, or generate it when the entity is loaded on screen based on some priority system, then it wont take up much compute at all
Certainly an interesting idea
Wow, we had almost the same idea. I am making a open world turn based deck builder game where you start as a boy and as time passes you and the Npcs develop in a way. If you interfere wirh them or other stuff that shapes their entity they can take a different life path (else preprogrammed life) , maybe you create the bbeg or just a normal guy. Same with your character.
Archivist is so cool, like a whole pet project in itself
@@onlysmiles4949 thanks!
That is an awesome acronym
This system at a high level sounds so much like what I've been doing that I might just steal your acronym
💀
I swear I posted this before, but I cant' find it now.
I really hope you make this system available to everyone, as this kind of thing is just so powerful. I tried to do it once myself and it ended up rather terrible.
this is incredible
@@benharvey6534 ❤️
Glad to hear from you again
The thing with dropping project for a significant amount of time for me is that I often found myself without direction where to head next or worse that I kinda forgot how to do some stuff.
@@PengWinDood this is true! I was definitely a bit rusty when I opened unity again
this reminds me of that one anime where the mcs fight thor and it turns out to be a generated event rather than being a hard coded one.
perhaps it was sword art online or sth.
I recommend distancing yourself from treating each entity as an object with those scriptable objects.
Instead, have a single place where stats are stored (strength, charisma, etc) and a list of events that the entity partook in that modify these stats. Basically, you have an entity with a base stat component and add event components that tweak those base stats. Entity got it's leg cut off? Add the left leg cut off component which adds the one legged flag and removes 5 agility from the entity. These flags are things that trigger events or modifiers. An entity with the dwarf tag walks up to an entity with the blacksmith flag so the dwarf perceives them with increases charisma and then the dwarf gains the "entity a fan" flag which will prompt them to spread the blacksmith's fame around. With basic entities, event components, and modifier flags a more complex system emerges.
From my personal experience, this is a much easier way to approach this problem. It's easier to scale and let's you picture the data a bit easier. It's also not even that different than what you're creating right now.
Ps. If you're thinking of simulating each entities movements on the map then I'd advise you to rethink that decision. Instead, assigning them to general areas that they can move between and influence is a much more simple and robust way to simulate realistic entities
My one request please add delightful little gnome people
@@thebass4511 you know what? I think I might just do that
LETS FUCKING GO DELIGHTFUL LITTLE GNOME PEOPLE CONFIRMED!!!!
@@thebass4511 😂
my one request is the gekken please add the gekken
Wooo he's back!
Going to have to watch out on this one so the scope creep goblin doesn't get you. This is the white whale of many famous failed game projects, including ones by Chris Crawford and other legendary devs.
But I love goblins 😭
Neural Networks would be ripe for this sort of thing, especially for creating unique scenarios and complex interrelatedness.
God, I love these videos.
@@luciusartoriusdante thank you!
Another interesting way games use lore is in manuels, ala the Zomnibus in plants vs zombies. I was playing around with the idea, and i think it might suit your game, of integrating this monster archival system into the levelling, or core gameplay loop: field research/recon, document peoples stories, use to make an entry in the book, defeat said monster to add material evidence, publish findings and go up a level/make money, idk.
Might be just for one class, inspired by the early biologists that adventured to places like the Galapagos
Oh absolutely! The Player will discover lore and store it in an encyclopedia/ bestiary
@@ViciousLegacyGameAUS Nice. I always liked Bestiaries, and in your game, it could be integral to defeating higher level monsters
Yeah definitely, I want to reinforce players needing to do their homework to survive
About deciding whether or not to post other games to this channel or that channel, take recommendations from both the comments section AND your analytics. You could experiment uploading here and seeing how that performs by numbers and graphics.
If you do ignore analytics, then anyone of us could have the opinion of "do skyrim lets plays lol" on your channel. Up to you man.
Yeah this is good advice for sure
@@ViciousLegacyGameAUS On a side note, holy crap a rather large game developer I watch replied to my comment. Awesome! Hey thanks for making my day man, cheers.
@@LordCylarne No, thank *you* for the support 🙂
more devlog wohow
I am making a RPG. Wanting to simulate thousands of NPCs but I probably won't generate the NPCs during gameplay, more as a way to start the game off with history and characters without having to do so manually. This gives me ideas.
the way this is shaping up looks like an absolute dream, the perfect mix of the expansive random generation of dwarf fortress and the casual playability of modern RPGs. i can't wait to play it. does anyone have any recommendations for similar existing games to play while we wait for this one? I've heard good things about wildermyth but I'm on the fence about it, turn based games aren't really my thing
I for one really enjoy wildermyth. I found initially the events to get a bit repetitive, but I think they've added a lot more content since I last played. Turn based stuff isn't my jam either but what they do with character progression is really cool
How many years to play this game, wake me up in 2030 (it's look awesome)
🙏🙏🙏🙏
Return of the King
"authorised by the Australian government" lmao as a fellow Australian I approve
Just for you m8 ;)
I have been highly fascinated by projects like Dwarf Fortess and especially Caves of Qud. But I think the PCG Lore type stuff is going to be greatly benefited by language models.
I think the traditional approach used by those previous games is becoming dated. I would personally design a PCG system to be very extensible knowing this. Especially with open-weights models like LLama actually being pretty great.
But i am ignorant to how these systems work (PCG). I can imagine there are certain areas where integrating language models would require a reconceptualization of the entire system.
Tiny detail, if I were you, I would rename `ReputationTypes` to `ReputationType`. I think it's confusing to have enums be plural because they're meant to represent a single value (shown by the fact that the var name is reputationType).
Very ambitious, but will be great if you manage to get it done!
@@niuage this is a great point! I'm a bit rusty with my programming naming conventions. They are honestly all over the place haha
It could be neat if, when you die and start again, your old character was part of the lore and memories of the NPCs.
@@yarrichar yep that's the plan. That's what I meant when I say the player is also an entity and effects other entities after they die etc
Will you have steam page soon?
Hey! Probably not in the short term, I don't want to give people a false perception of the game by putting it up yet, I want to wait until it's looking more polished :)
Quick question, will there be technological development through time. Like you start the game in the heroic bronze age and end off in the high medieval period? edit: And also will there be politics? I don't want to crowd your head with too many ideas though so ignore me if the answer is no.
Thanks for the questions! The goal is some form of yes to both. I plan to use archivist to generate countries and factions with relations etc and also I want technology to advance with the cultures
Once again something that I said should be a thing and was absolutely attacked for is hugely popular when someone actually does it.
☹️
I had the great idea to release my game in early access. But if you think about it. You already have lots of pressure. And now since people already paid. They want updates on regular basis. And what if you can't deliver? Well the customers wont be happy. And you'll have even more pressure and stress. And stress isn't healthy. Never make any promises. You never know what will happen. Keep it fun at your own pace. I try to imagine that I'm playing a sandbox game like Minecraft for example. Where you can go anywhere and build anything. And the coding is like a puzzle game. You already have all the pieces you just need to put them together.
Let's GOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
You might look at composition instead of inheritance. For your farmer turned monster hunter example, you could drastically change the entity's composition by removing and adding traits (classes in an array, or set of arrays).
Also your description sounds a lot like a simulation. You might think about a system that generates random entities and can then step forward or backward by a specified amount. Stepping would allow each entity to make decisions and mutate world state.
You could take great leaps forward when starting the game or between games and take tiny steps during the game so that stories progress as the player plays.
Interesting, cheers
Hey this looks awesome! Do you need music for it? I am an audio engineer and composer. Let me know!
Hey thanks for commenting! Not currently looking for a composer but down the line I will be for sure
inspiring
This could be very revolutionary in the video game industry! Great job my friend! 🎉
If this video gets copyright struck, it's the last two seconds.
Worth it
I want to wish you luck, because it seems like you’re in a difficult position - you’ve become completely bored by your original vision, and now you’re hoping that this new, shiny concept will allow you to nurse your original game back from the dead. I haven’t seen this scenario work out too well in the past, so I’ll definitely be watching to learn how you move past your obstacles.
This was definitely always part of the original vision, it's just that now I've figured out the system more, I actually talk about this in devlog #0 :)
@@ViciousLegacyGameAUS ah, well, cheers!
This sounds so complex to design. I'm looking forward to seeing your progress. That inheritance architecture for Entity... a little bit scary. Hope you don't decide to add the notion of Race. You should consider just continuing your composition pattern.
This is a very cool idea and I think I thought about something similar but IDK if it could be done, AI quests. Where an AI creates quests that can't be repeated. I guess the next step from procedural is AI. Like I don't know if the farmer notices it's chickens are missing he gives a quest to maybe find out what is taking them each night. I think the problem will be also making sure that you don't just get quests that are simple but that you also get quests that sort of have a bigger story.
It won't work. I mean, it's kinda easy to do so, but it needs design for everything. You can generate "monster wounded before" as you've described, but it will generate only variants of the same thing ( different monster, different weapon...).
So, it will generate glorified fetch quests.
Quests are interesting when they are unique little crafted stories (think Witcher 3) And you won't be able to generate that.
Not to dissuade you. It's just that you'll still need to design it manually. You'll just add some variability to it. IMO it's not worth the effort as you'll need to build the system, test all of its outputs only to have a slightly different playthrough each time.
TLDR: Just think how limited the AAA system in Shadow of Mordor actually is.
Whilst I agree that there will still need to be manual design input, especially for quests, I think the world generation can create a lot more variation than you are anticipating.
I guess we'll just have to see once it's all up and running
@@ViciousLegacyGameAUS Did you do a paper prototype? Write what the output would be and look at what you'd need to implement it? See the inputs to see what else it could create? Bare bone version takes a few minutes.
The outcome CAN be incredibly complex (dwarf fortress), but it needs a lot of CONTENT to get there, IMO. It's actually a problem with all procedural generation. It generally creates variants of the same thing but not something new.
The other part is that "[The Event] happened in our [Village name]" types of lines are harder to do in a way, that's actually engaging. Which one do you prefer:
"Red dragon was roaring in the sky, as it blackened from the smoke of our burning roofs" or "[the red dragon] [burned] our [village]"?
I like procedural stuff, I really do, I did a lot of it and plan to do more. I just implore you to do a honest paper prototype first and judge by yourself what it can and cannot do for you, and how it will actually scale with each event.
I'm looking forward to the future devlogs in both cases.
lets goooo
how very slay of you
I just saw your EntityData and from a clean code perspective it does not make sense to use the word entity inside the class. (because its clear from the scope already)
So entityName and entityAge should actually only be called name and age, since it is already data of an entity.
myEntity.name and not myEntity.entityName.
Further comments should be avoided and actually they are obsolete here.
entityName // the name of the entity
entityAge // the age of the entity (or how you phrased it inconsistent: how old the entity is)
startingFameLevel // the starting level of fame for the entity
These comments are not helping at all and only polluting your code (further it is very likely that you forget to change the comment if the implementation changes).
The variables already describe what is going on, why comment it again, with the same words?
Happy coding! 🙂
PS: Same for your other classes
Hey thanks for the feedback! I agree in general my naming conventions are all over the place so I appreciate that, and makes perfect sense. For the commenting, generally I will try to really over comment the sections I show in a video (or at least the parts I talk about) for people who maybe aren't familiar with programming at all and have no idea what's written aside from the comments, but I agree outside of that most are obsolete
I have been following your devlogs, and I wanted to reach out to you. If you would be interested in getting some custom music for your game, maybe we could collaborate. I am a composer, trying to get into video game music. So, maybe we could work together and help each other out. Let me know if you would be interested.
R.Y.A.N. rule 34
Wait fuck this isn't Google
Absolutely blursed
WHY THE HELL DOES IT SAY ROGUE*LITE* THIS IS A ROGUE*LIKE* MY DUDE
a rougelike means the entire game resets on death... a rougelite keeps meta progression, even if you die, which is what this game does, it carries on even if you die.
It's a whole thing, I have a comment somewhere on another video because someone was angry because they thought I said roguelike but I didn't haha
I think its hilarious and a bit ironic that yeah, projects come and go and wax and wane. I'm 53yrs old. My hobbies haven't changed since I was a 10yr old.. just my time and devotion ro them. It's tiresome to explain that to the women that when I put sonething down and don't pick it up again for 5yrs or so im not a quitter.. lol .
scope creep gonna get you