Random elements in a level
#1
Hi.

I wonder, is it possible in D1 or D2, to create level with random elements such as:
* randomly placed chambers;
* randomly placed doors in some chambers;
* randomly placed robots.
Reply
#2
No, it's not possible. The way the level files work, they have specific positions for everything in the level, so there's no way to allow for anything to be random.
Reply
#3
(05-23-2015, 02:44 PM)A Future Pilot link Wrote:No, it's not possible. The way the level files work, they have specific positions for everything in the level, so there's no way to allow for anything to be random.

Even after engine's code modifications? Dynamic generation of a level (before load such level in the game) is possible.
Reply
#4
Yes, even with tip.  I have spent the last two years cleaning up the code to fix old bugs and provide compile time checks to find and prevent bugs.  The level format is barely changed, because no one has shown any interest in new level features.

I once wrote a tool that can dynamically create levels.  It took quite a while before I got it to generate levels that did not instantly crash Descent, since the level loader has almost no error checking, so any out of range parameters led to a Descent crash.  It works now, but it sometimes creates levels with strange overlapping rooms.
Reply
#5
(05-23-2015, 04:58 PM)Kp link Wrote:Yes, even with tip.  I have spent the last two years cleaning up the code...

Thanks for reply.
Do You use MinGW x86, 32-bits toolchain?
Reply
#6
Yes, I build for that target.  However, AFP is the one who creates and posts mingw32 builds for public consumption.

When you asked for random level features, did you mean random in the sense that the level designer specifies a set of possible features and the game will randomly include or exclude those features or that the level designer would specify that randomness was allowed, and rely on the game to create the random extensions on its own?  The former is comparatively easier, since it would rely on the level designer to create balanced and well-formed levels.  The latter would be complicated since the game would need rules to avoid creating impassable rooms, unbeatable robot densities, and so on.
Reply
#7
(05-23-2015, 06:22 PM)Kp link Wrote:Yes, I build for that target...

Could You provide some link for this zipped MinGW toolchain, with all necessary binaries, libs & headers for compilation, without Descent data? (AFAIK MinGW is portable for x86, 32bits) Or do You consider it as private stuff?

When I ask for random level features, I mean similar to rogue-like games idea. For basic beginning: simple chambers (in random sizes) connected randomly, with randomly placed robots.
Of course, programmer of such level, specifies min and max boundaries, for all measurable or countable features.
Reply
#8
zif (who hasn't been around in quite awhile) made that awhile back: http://www.dxx-rebirth.com/frm/index.php...716.0.html

The problem is, it's very outdated now. I'm on Linux, or I would have made a new one already. As it is, trying to make it inside a wine environment is decidedly UN-fun, so I haven't done it yet.

If you're up to the task though, it would be awesome if you could do it! Smile

We use git now instead of bzr (which is what was used when that was made). Also, all of the libs would have to be updated from what's included in that.
Reply
#9
(05-23-2015, 07:15 PM)dfTruF link Wrote:Could You provide some link for this zipped MinGW toolchain, with all necessary binaries, libs & headers for compilation, without Descent data? (AFAIK MinGW is portable for x86, 32bits) Or do You consider it as private stuff?
No to both.  I have nowhere to host it, but even if I did, I could not provide it, because I use the cross-compiler supplied by my distribution, and cross-compiled physfs locally.
(05-23-2015, 07:15 PM)dfTruF link Wrote:When I ask for random level features, I mean similar to rogue-like games idea. For basic beginning: simple chambers (in random sizes) connected randomly, with randomly placed robots.
Of course, programmer of such level, specifies min and max boundaries, for all measurable or countable features.
That sounds like what my tool did, although it built the entire level as a DAG, which reduces randomness a bit.
Reply
#10
(05-23-2015, 09:23 PM)A Future Pilot link Wrote:zif (who hasn't been around in quite awhile) made that awhile back: http://www.dxx-rebirth.com/frm/index.php...716.0.html

Thanks for the link. Such portable toolchains are simply the best.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)