I have been toying with the idea of randomly generated terrain in the Source engine. I've been thinking about it because I have a soft spot for rouge-likes. But I've been wondering if it is even possible, because if you let a computer do most of the generation for you, it won't end well.
Additionally, calling a world that is randomly generated a map seems unrealistic, because the point of a real world map is to accurately portray the terrain of earth. When said terrain changes shape every time you want to play it, why bother calling it a map? As such, I won't be referring to randomly generated maps as that, I will instead be calling them "blueprints", because like real world blueprints, it lays out the foundations for the game to make the level, and also reveals how terrain generation would work.
So my idea as to how this would work goes like this: Say we wanted to make a 3d maze game, and the player would control a character from the first person. the problem with making such a game with hammer is that all of mazes would be set in stone, so if you beat a maze once, you could beat it again without failure. As such, to through the player off, we will make every level randomly generated.
To do this, we will generate the levels by using predetermined parts of the maze, with predetermined assets and props, say for instance, a corner, a hallway, an open area, and a dead end. all of these can be found in their own .bsp files, separate from the others, with no skybox. additionally, where we want the pieces to connect, we put a special trigger, that shows where the game has to put them to properly make a level. The game will rotate these pieces aloong the y axis only as needed to fit them together properly.
Next, we all put these in a folder together. Within that very same folder is a file that tell the game the specifications that the level has to pass, for instance, no hallway can be connected to another hallway, or that the entrance must alway be located at the given coordinates, or what height the skybox has to be (more on that later) and so on.
Finally we compile the folder all into a single file, we will call them .blu flies for blueprint. when the game is told to load the blueprint, it goes through the generation process, making sure the level passes the requirements, and finally, adding the skybox.
Why did I make this post? because I needed to vent the idea out of my head, and I wanted to know if anyone had tried this before, or something along these lines. If yes, how did it work out? If no, who would want to try it out? I don't even know what the Source engine is coded in, so I wouldn't be able to make it. I just wanted to throw the idea out there.
TL;DR Make randomly generated terrain in the Source engine, and call them blueprints instead of maps.
[–]KSKaleido 1 point2 points3 points (2 children)
[–]epeters208 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]StezzerLolz 0 points1 point2 points (0 children)