Index | FAQ | Search | Memberlist | Usergroups | Profile | Log in to check your private messages | Log in | Register

Playable mapgen - randomly-generated maps Goto page Previous 1, 2

| Inside3d Forums Forum Index -> General Discussion

View previous topic :: View next topic
Author | Message
--- | ---
LordHavoc Joined: 05 Nov 2004 Posts: 243 Location: western Oregon, USA |

Posted: Thu Jul 30, 2009 8:34 pm Post subject: |

goldenboy wrote:
It can't think in pictures like (some) humans do.

At the same time, randomness can be beautiful in its own way.
A careful balance of large and small pieces usually helps - some landmarks show up which were large pieces, and the smaller pieces make up the bulk of a level.
It's more like a theme than a design.

Back to top |

Team Xlink Joined: 25 Jun 2009 Posts: 320 |

Posted: Sun Dec 13, 2009 6:12 pm Post subject: |

Sorry for the post resurrection but I have a question. does this work with Stock Quake? _________________

Anonymous wrote:
if it works, it works. if it doesn't, HAHAHA!

Back to top |

LordHavoc Joined: 05 Nov 2004 Posts: 243 Location: western Oregon, USA |

Posted: Sun Dec 13, 2009 7:44 pm Post subject: |

Team Xlink wrote:
Sorry for the post resurrection but I have a question. does this work with Stock Quake?

Stock GLQuake probably, but not stock software Quake - it had limits on how many dynamic bsp polygons were allowed in the scene, and this entire mapgen is based around dynamic bsp polygons (submodels).

Back to top |

Team Xlink Joined: 25 Jun 2009 Posts: 320 |

Posted: Mon Dec 14, 2009 2:25 am Post subject: |

I couldn't get this version to load but I did get Preach's version and I must say random maps are a wonderful idea. It gives replay value that never ends. EDIT: I got it working. Its awesome! _________________

Anonymous wrote:
if it works, it works. if it doesn't, HAHAHA!

Back to top |

avirox Joined: 16 Aug 2006 Posts: 109 |

Posted: Mon Dec 14, 2009 3:00 pm Post subject: |

I wonder if this same concept can be applied easily enough to generating maps for platform mods.. I've been considering the idea of making a streets-of-rage style game and a random map gen would definitely come in handy there..

Back to top |

r00k Joined: 13 Nov 2004 Posts: 483 |

Posted: Mon Dec 14, 2009 6:28 pm Post subject: |

Completely random or random set of interconnecting pieces? IIrc, that mapgen uses blocks? could you maybe create bsp models that have tagged link positions that could be interconnected? Like this side always faces down or this side always faces the camera (side scroller), then the ends left and right are static bu the middle obsticles are dynamic.
$0.02.

Back to top |

Team Xlink Joined: 25 Jun 2009 Posts: 320 |

Posted: Mon Dec 14, 2009 9:11 pm Post subject: |

Well I must say this could be advanced so much. Here are some I thinks that I think would make this work better. 1. Make sure the player_start is on the map and isn't inside a wall One way to do this could be in the bsp itself, I think. 2. Randomized Weapon Spawns.
3. Multiplayer Spawns.
4. Bot Support.
This is definitely awesome and has wonderful potential.
Has anyone made anymore tile sets?
_________________

Anonymous wrote:
if it works, it works. if it doesn't, HAHAHA!

Back to top |

LordHavoc Joined: 05 Nov 2004 Posts: 243 Location: western Oregon, USA |

Posted: Mon Dec 14, 2009 11:21 pm Post subject: |

r00k wrote:
Completely random or random set of interconnecting pieces? IIrc, that mapgen uses blocks? could you maybe create bsp models that have tagged link positions that could be interconnected? Like this side always faces down or this side always faces the camera (side scroller), then the ends left and right are static bu the middle obsticles are dynamic.
$0.02.

That's what my never-finished mapgen utility was supposed to do, there's source for it on the twilight svn, basically it was designed to load all the .map files it found in a subdirectory and randomly pick one and see what connectors it had, and see if it can attach that to any of the existing pieces' connectors, and iterate until it runs out of connectors (and the map size would be fairly random as a result, since deadend pieces would kill off the paths sooner or later).
It was supposed to test if brushes overlap eachother and reject a piece if so, so that there would not be collisions (overlapping rooms)...
Now the fun part was that I realized it would be possible to have a few very big room pieces containing many more connectors, so you could have catwalks and other randomized stuff inside a room.
All connectors would have a type name and thus would only match up with compatible connecting pieces (so sewer1, sewer2, basedoor1, basehall1, wizardhall1, etc).
Then I realized the next step - monsters and other things would be random pieces too, so you could have a group of 2 grunts and a dog for example as one piece, and an enforcer as another piece, and they might have the same connector name, so wherever a map piece had "basemonsters_medium" it would randomly choose between the 2 grunts+1 dog, or 1 enforcer piece to put there...
This goes a step further - you can have things like burned out torches and working torches as pieces with the same connector name, so sometimes a torch would be burnt out on a wall because it chose different torch pieces from time to time.
It's all extremely flexible in concept, but I lost motivation to finish it, I also lost motivation to make all the pieces
P.S.
The entity name was info_connector and it would have "message" key values like "sewerhall1" to select what shape it represents, the meaning of each message name would be up to the designer, but essentially represents a compatibility codename between pieces (if someone makes a badly mismatched piece that misuses the same name, it would probably make a leaky map).
The utility is standalone and makes .map files to compile, so you still get all the nice lightmapping and good framerate, it was not developed as a mod because of performance and lighting quality being much higher as a .map file generator.
The part I did not finish is the collision checks between map pieces (detecting overlap and rejecting the piece), this might be possible to do with just bounding box comparisons on the brushes, it doesn't have to be exact, as its main purpose is to prevent two rooms from overlapping, I lost motivation when I started thinking about "colliding" two brushes (now I know how to do that, though...).
Another consideration in map generation is pacing - the old Doom map generator known as SLIGE would actually do some balancing considerations and ensure there was ammo placed before monsters, key/door relationships were created as a quest system (and the value of the rewards were considered in placing monsters later on the same path)... I never really tackled this in the design of mapgen, but it is possible to give it some consideration (albeit in a different way - if it places ammo/armor/health, it could then boost the danger rating for later pieces to allow monsters to be placed to consume those resources).
I also never really tackled the idea of placing an exit, or any sort of directed flow in the layout.
I noticed that in the game Torchlight, there is basically just one wandering path through the level, with some branching side areas but of very limited length, this is in contrast to the sprawling levels of Diablo1 which were more or less just filling a preset map size with rooms.

Back to top |

scar3crow Inside3D Staff Joined: 18 Jan 2005 Posts: 837 Location: Las Vegas, NV

Posted: Mon Dec 14, 2009 11:42 pm Post subject: |

Quote:
I also lost motivation to make all the pieces

If you were to resume work on this, I would be up for contributing creation of .map chunks to work with. I'm sure others would as well, or at least doing a clean job of scouring 'pieces' from the id1 maps, to allow for id1 heavy themes.
_________________
...and all around me was the chaos of battle and the reek of running blood.... and for the first time in my life I knew true happiness.

Back to top |

Team Xlink Joined: 25 Jun 2009 Posts: 320 |

Posted: Tue Dec 15, 2009 12:39 am Post subject: |

scar3crow wrote:

Quote:
I also lost motivation to make all the pieces

If you were to resume work on this, I would be up for contributing creation of .map chunks to work with. I'm sure others would as well, or at least doing a clean job of scouring 'pieces' from the id1 maps, to allow for id1 heavy themes.

I would also like to help with that.
_________________

Anonymous wrote:
if it works, it works. if it doesn't, HAHAHA!

Back to top |

Dark$oul71 Joined: 05 Dec 2009 Posts: 55 |

Posted: Tue Dec 15, 2009 11:37 am Post subject: |

I like the idea of such a map generator pretty similar to Diablo / Diablo 2 and the dynamically generated areas very much. Unfortunately my QuakeC skills are pretty much non existent but I am willing for alpha/beta testing.

LordHavoc wrote:
The utility is standalone and makes .map files to compile, so you still get all the nice lightmapping and good framerate, it was not developed as a mod because of performance and lighting quality being much higher as a .map file generator.

Well, I think for a mapgen you could go a dual approach. Generation of a .bsp file in "mod mode" which lets the user directly see the generated map "in game" and generation of a map file for external lightmapping afterwards if the map is...well...good enough for further processing, right ?
After all my quake map editing activities were ages ago and I do not have the full process in mind right now.
I guess it would be cool if a "map gen" produces unique "complex" maps in the first place with a player start within the map. Texture alignment and placing of Monsters IMO could be done manually afterwards if one walks around in the map and finally likes the layout.
Automated generation of maps with good monster placements, aligned texture and deathmatch out of the box would be the holy grail to me.
Just my two cents,
D$

Back to top |

Team Xlink Joined: 25 Jun 2009 Posts: 320 |

Posted: Fri Dec 18, 2009 7:48 pm Post subject: |

I too would like to load up Quake and have a random map generated every time I play. _________________

Anonymous wrote:
if it works, it works. if it doesn't, HAHAHA!

Back to top |

Display posts from previous:

| Inside3d Forums Forum Index -> General Discussion | All times are GMT Goto page Previous 1, 2
Page 2 of 2

Jump to:

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2004 phpBB Group