Arcanum's Procedural Terrain Generation
HTML-код
- Опубликовано: 11 сен 2024
- I talk about how Arcanum used procedural generation to create our world and keep its storage cost low. The Arcanum map was 128 miles on each side, and it could have been 4.2 million miles on each side. Either way, that's a lot of map.
I reverse engineered Arcanum's procedural terrain sectors a couple of months back and was honestly surprised by how simple (or, rather, elegant) the algorithm was while still managing to effectively achieve its goal without breaking the illusion of a hand-crafted world. Great job!
It’s called wave function collapse algorithm. They did not invented it
@@Baltasarmk I'm well aware of what wave function collapse is, that's not what I was talking about. I meant the generation, storage, and handling of terrain data in general and how few elements were needed to sell the illusion that the world wasn't made up of repeating building blocks (i.e. each terrain type only has 4 unique base sectors and a few more for boundaries with other terrains).
@@Baltasarmksmth like Wang tiles?
@@Baltasarmkfoolish
The first time I played Arcanum when I was a kid, I didn't know that fast travel was a thing, so I walked all the way from the crash site to Shrouded Hills manually. I remember being both very impressed and irritated, and when I reached Shrouded Hills, that made me want to explore everything, since I knew I wasn't going to come back. It's only when I got the marker for Tarant when I realized that there's no way I can walk there manually and started clicking every single button to find fast travel lol
And if I remember correctly Virgil suggest that you use fast travel at the crash site. But you knew better :>
Virgil indeed does that
The fact you did this in the late nineties is PRETTY COOL!!!
I love when you dive into technical topics like that. Any tools and libs you found handy (like the little os wrapper you built during fallout) feel free to share their high level ideas and function :)
Leonard mentioned during your interview that you build a pretty handy content generation tool for Arcanum. I would love to learn more about that.
Also the proc gen tool/logic for npc greetings was awesome!!
I remember I was impressed by just walking infinitely.
I remember before or around Arcanum's release when I was about 12, my cousin rang me up to tell me about how he read in a magazine or a website that Arcanum's world was walkable from one end to the other, and went into how long it would take to do that. It blew my mind, "How could the game world be that enormous I don't know if my computer could run that, that's amazing." So after all these years, it's wonderful to learn how it works and how efficient it sounds.
This does remind me though, I went through a brief phase of really wanting to learn to use the editor, but was never able to make heads or tails of it
Interesting to hear how you got stuff working. I was coincidentally just trying out the Arcanum editor yesterday, it's a pity that it seems to be very buggy on modern systems (I've heard the same from others too), because Arcanum doesn't have half the modding scene it deserves.
Arcanum has had few overhaul mods. Carcanum, professor bowtie, equilibrium and Arcanum Balance Mod (last one ive done). Which is more than Fallout 1 has had and up there or beyond what Fallout 2 has had. But i still agree that all those deserve many many more mods.
The Arcanum Multiverse Edition is worth mentioning.
Tim you make the 15 minutes I have daily for lunch that much happier, every single day
❤
Hey Tim, could u do a video about the companions of Arcanum, their inspirations and your ideas for their stories etc. Or maybe the potential companions for Journey to the Center of Arcanum.
Great idea
I love creating game worlds and I found this to be very inspiring and exciting to watch, makes me want to go on and make a tile-based 2D game! The way you designed the world data to work was pretty clever. For those who didn't follow: the world was made of sectors, a sector would be a square area of 64x64 tiles, they were procedualy generated during the game, but always with the same result, because their seeds were based on their position in the game world. After generating them the game would replace the generated tiles for the developer changed tiles that were saved when editing the world in the world editor. That way you avoid having to store 64x64(4096) tiles for every sector of the game in the disk and in memory. Instead you only store the much fewer tiles that were actually edited by the developers. The file thing was also pretty clever. I'm surprised you though about that way back on the day, and when you only had 12 people working on the game, like you told us before. I think UE5 uses something similar technique now, it stores each object in a scene asset in a file, instead of storing the whole scene in a file, that allows every asset on the scene to be edited individually, which is obviously good for big teams which are the main focus of that engine.
Best video yet! I love implementation-level, programming stories like this. You could talk about even more details, like the APIs you used, game geometry problems, repository infrastructure, etc.
Thank you a million for this kind of tech based talk, as I solo indie dev (main job at freelance consulting) I try to actively learn from your management/design talks, but this one I can just enjoy :D
I love the technical topics like this, it's great to hear your enthusiasm for a system you designed even all these years later.
I think an interesting video you could make, Tim, would be your take on working on your own engines, then working with source, unity and unreal. What were it like to work with these engines? What did you like more? What would you do today, if you decide to work on a new game? What would you recommend to aspiring developers? I know for you that have been making games professionally since you were 16 plus have a cs phd, this is probably: "give me whatever I can work with that" lol, but I think for the younger aspiring developers and for the curious people like myself this would be an interesting topic to discuss!
Tim, you are the man. I Love listening to you on YT. Thanks for all the content :)
I actually bought Arcanum yesterday because of this man’s “Humor in Video Games” video.
I can’t wait to start playing.
Arcanum have the best evil character of the whole videogames industry.
@@AsphyxX-cx3kf The only mod still being developed is the Multiverse Edition
Thats my fav shirt you got in your arsenal.
Arcanum video awesome!
I was always impressed by Arcanum and it is fun to hear how you did the tech back then.
Maaan.. All this Arcanum talk just makes me want at least a spiritual sequel.
This is fascinating stuff! As a huge roguelike fan, I always enjoy hearing about different approaches to procedural generation. Were you inspired at all by Daggerfall? It still blows my mind how big that world is compared to the later Elder Scrolls games.
The methodology used in the 90's is as relevant as ever today.
Great detailed technical description. I was wondering how lighting of the map was handled?
Interesting how you guys had basically done an early kind of the now-popular Wave Function Collapse algorithm.
I remember wondering how that was done when I played Arcanum the first time, love the insight!
This is really cool!
I'd love to hear more about the technology of Arcanum.
1) How were random encounters developed? Would it be possible to get a random encounter without using the map travel functionality, by just walking? I suppose one way is to spawn the NPCs once a "wilderness" sector is loaded in.
2) How does the world simulate itself? If you drop an item in a sector (saved as delta), do the curious NPCs pick it up only when the player is near that sector? Is the AI simulated only near sectors where the player is? If the player leaves a sector does the game simply remember the last location of the NPC in that sector and when the player returns the game continues from there?
Yet another amazing video, Tim. It would be very interesting to hear what technical challenges were overcome in fallout engine. Maybe some memorable tricks and hacks :)
This is so fascinating!
Hey Tim! Love the videos. Not sure if you covered this before in an interview or in a video, but I wanted to know how you felt about the "Official" Fallout Cookbook and if there was anything about the recipes that you thought were interesting or were missing? Thanks! (Your videos helped me realize that there were recipes at the back of the Fallout manual, and thankfully that was preserved on the digital version on steam since I'm too late to the game and don't own a physical copy sadly.)
Arcanum is one of the most interesting, complex, and smart games I have ever played. It NEEDS a rerelease cuz damn it’s a bitch to play today😭
I had so much fun with the world editor back in the day. It's a shame i abandoned the custom world i was making, but maybe i can re use those ideas in a future project
A appreciate the smoking jacket for my half-orc character.
Simple and brilliant!
It's interesting to see what was possible in the 90s when it comes to procedural generation.
Thanks for sharing, Tim!
World map editor tutorial.... please... I neeeeeeeed new arcanum modules 😂
It's amazing how much this reminds me of Minecraft's world generation. Amazing considering this is 15 years before
I think it's also interesting in the context of how often same good ideas emerge independently of each other just because they're that good and "natural"
Awesome explainer... Now I know I can leave items on the ground in Arcanum. I was always afraid they will disapear so I store them in chests. At one point You said: "...save on art, save on space" - was number of CD really a concern in 2001?
That’s awesome
I love the video what kind of game do you want to make next
Speaking of Arcanum's editor, it's a big shame it couldn't edit the main game (I guess some people eventually found a way though). I think Arcanum would've had a big modding community.
Has me wondering how other games of the time did it. It seems very logical to me... Given how rough some games are when they have a lot of detail I wonder if this is scalable to more modern ideas, but I guess at a certain level of detail the deltas might start to overwhelm?
Very interesting
You mentioned flying across tiles? I don’t remember any flying in Arcanum, is that part of teleporting ?
So you could only correct an unsatisfactorily generated sector by adding deltas to it? I haven't tried this map editor, but I would certainly make the sector number only the default seed that could be overriden by a specified value to "reroll" it.
Would it be possible to add a "dungeon" entrance as a random encounter, but one that also marks and remains on the map once triggered? If so, would it be possible to have so many of these added to the encounter list/table/whatever, and remove one as a chance of occurring again once it occurs?
Could you explain the random encounters? If you traveled in the real world of Arcanum long enough- from memory you could encounter enemies? Was this done differently for encounters like the Molochean hand?
Chief, sorry to bother, but can you make a video as you explained the stats, but with Fallout traits and perks?
I wonder now, was there any particular reason Fallout wasn't shipped with any editing tools? Modding has come a long way since it was released.
why in outer worlds interiors do not match exteriors (like window placing on the wall)?
You could fly in Arcanum?
Body of Air spell let you float a little ways off the ground.
It would be awesome if you could release the Arcanum source code.
Of course Tim Cain would still have the code from a 20+ year old game he made LMAO
Pity that RUclips allows to like video only once.
I would like to go back to Arcanum so much. I've tried three times but I njust can't. Combat is just killing me :(
If you play in turn based mode, it's not so bad
@@TomaZxxZas Firearms are hilariously underpowered
Fast turn based and a Charisma character with persuade and the harm spell is basically story-mode for the entire game.
You know what you could do, Tim? (crazy idea!) You could announce Arcanum 2 (the spiritual successor), and ask fans of the game to design a small Arcanum 1 world (a custom short campaign), and you guys could pick the best ones and give them Arcanum swag as prises, and better: offer them an internship at Troika 2. You could also do this as a part of kickstarter campaign to help to fund the game!
Comment for the Algorithm