[CSGO] Randomly generated maps
Posted: Thu Jan 23, 2020 12:01 pm
Description
csgo-scavenge is a project I made to randomly generate the locations of things within maps. The idea is to provide a new type of gameplay where learning the map is at the advantage of the player and team.
Download
To download the plugin and maps I have made (both source and compiled bsp) go to the Github page at https://github.com/krisives/csgo-scavenge and download the latest release which should be https://github.com/krisives/csgo-sca...ive/master.zip
Install
Copy the scavenge.smx file into your sourcemod plugins directory and copy the scv_ BSP files from maps into your servers maps directory. The plugin won't do anything on maps that don't start with "scv_" and won't touch entities that don't begin with "p_"
Regenerating Level
You can use the server command "scv_regen" to regenerate the level layout. A new level will be regenerated each time the map changes.
Creating Maps
To create a map have it begin with "scv_" so that the plugin goes into affect. Next tie each piece of the level you want to spawn to an entity using CTRL+T in the Hammer editor. I use the entity type func_brush. Name the entity something that begins with a "p_". That entity will now be placed within the bounds.
Setting the bounds is done by creating 4 info_target entities called "bounds1", "bounds2", "bounds3", and "bounds4". All the particles (things starting with "p_") will be randomly placed within those bounds.
Map IDs
Each map has a 32 bit unique number used to generate it. If you remember the map ID you can load the same map again! (TODO more on this)
Constraints
To force something to spawn a distance away from something else add a key to the entity in the Hammer editor called "scv_constraint" with a value like "300 p_another" this would force it to stay 300 units away from the entity p_another.
ChangeLog
See the commit log for now at https://github.com/krisives/csgo-sca...commits/master
Bugs
Report bugs in this thread or on the Github at https://github.com/krisives/csgo-scavenge/issues
Submitting Changes
Respond to this thread or fork on Github. You can edit the files via the website if you fork on Github.
csgo-scavenge is a project I made to randomly generate the locations of things within maps. The idea is to provide a new type of gameplay where learning the map is at the advantage of the player and team.
Download
To download the plugin and maps I have made (both source and compiled bsp) go to the Github page at https://github.com/krisives/csgo-scavenge and download the latest release which should be https://github.com/krisives/csgo-sca...ive/master.zip
Install
Copy the scavenge.smx file into your sourcemod plugins directory and copy the scv_ BSP files from maps into your servers maps directory. The plugin won't do anything on maps that don't start with "scv_" and won't touch entities that don't begin with "p_"
Regenerating Level
You can use the server command "scv_regen" to regenerate the level layout. A new level will be regenerated each time the map changes.
Creating Maps
To create a map have it begin with "scv_" so that the plugin goes into affect. Next tie each piece of the level you want to spawn to an entity using CTRL+T in the Hammer editor. I use the entity type func_brush. Name the entity something that begins with a "p_". That entity will now be placed within the bounds.
Setting the bounds is done by creating 4 info_target entities called "bounds1", "bounds2", "bounds3", and "bounds4". All the particles (things starting with "p_") will be randomly placed within those bounds.
Map IDs
Each map has a 32 bit unique number used to generate it. If you remember the map ID you can load the same map again! (TODO more on this)
Constraints
To force something to spawn a distance away from something else add a key to the entity in the Hammer editor called "scv_constraint" with a value like "300 p_another" this would force it to stay 300 units away from the entity p_another.
ChangeLog
See the commit log for now at https://github.com/krisives/csgo-sca...commits/master
Bugs
Report bugs in this thread or on the Github at https://github.com/krisives/csgo-scavenge/issues
Submitting Changes
Respond to this thread or fork on Github. You can edit the files via the website if you fork on Github.