GTX0 AnnouncementsFeedbackHelp | SandboxNewest Posts | Replies | Hottest
NIFE UpdatesRoadmapRequests | HelpDiscuss Game Worlds

NIFE: Genesis & Mandelbrot concepts
Posted: Posted August 10th, 2017 by Xhin


I've covered some of Genesis here: [Also NIFE: Genesis looks really really feasible]. I've been slowly fleshing out my concept notes on it, and now that NIFE isn't reliant on threads anymore I can start to build it (slowly, while working on v5 and v6 simultaneously).

Genesis is basically a megaplugin (has a bunch of panels in their own section) that lets you randomly generate content. For things that have basic properties, you can set ranges for values, but for text areas you get something more like this:

{King/Dragon/Wolf/Snake/Boar/Eagle}'s {Bane/Blade/Steel/Battleaxe/Spear/Polearm}

Which could generate all of the following:

  • King's Battleaxe
  • Wolf's Bane
  • Eagle's Spear

    You can also create and reuse lists, like put the King-Eagle choices into a list called "Warrior" and then just use {l:Warrior} to signify it. Some lists will also be available to all games, and kind of worked on freely by a bunch of people, which you can access through, say, {g:Animals}

    Genesis: Feature Layers

    For rooms, genesis has a slightly different system called "feature layers". You start out with a grid of uncreated rooms, and then create a feature layer based on some parameters.

    Each feature layer has a tag, like "water". Maybe you have an 8x8 grid and you set up the water tag to generate in a lake-like or river-like format. That would then assign that feature layer to all of the rooms that are covered by it.

    Next, you randomly generate some sparse "plants" across the grid. You can set it so that plants can't generate in water, but maybe you want them to.

    You can then tie feature layers and feature layer combinations into specific room-generation procedures.. so maybe your water tiles you want there to be a 5% chance of a Mermaid enemy spawning. If a tile has both "plant" and "water" then there's a 20% chance of it spawning a "Seaweed" crop, and so on.

    You can also use this to alter room description generation, but I'm not quite sure how that works yet.

    Genesis: Puzzle Generation

    I have a different project that I'm converting into NIFE that will let you generate dungeon layouts / puzzles in some useful way. You could use this tool to generate some kind of useful setup and then go back and fill it out with custom content.

    I could see similar things being useful for, say, randomizing Aliens space station layouts.

    Genesis: Toss

    Anything generated through genesis has a tag attached to it. If you don't like what you did, you can mass-delete everything in that batch and start over.


    Mandelbrot actually does two very different things:

    Mandelbrot: Virtual rooms

    this system uses Genesis rules but instead of actually creating the content, it randomly generates it as players explore new rooms. Mandelbrot rooms have negative roomids, and you can have a potentially infinite space inside the same "room". As soon as you interact with the room in some way it becomes "real", although you can still get real items from virtual rooms.

    To make it infinite, Mandelbrot will allow you make the same pattern repeat in all directions around a grid, or perhaps there will be other rules to help govern the way things generate.

    Mandelbrot: Virtual Entities

    This takes real entities/fixtures/items/etc and changes their real position according to some set of conditions (like time). So for example you might have a character you can talk to, but they have an equal possibility of being at any room in a town depending on the time of day. Maybe a legendary item "moves around".

    Virtual/Real interaction

    You can have sections of a NIFE world be "real" and other sections be "virtual", instead of the entire thing being one or the other. Maybe you want to have a game that has a lot of hand-made content but you want a few regions that are procedurally generated and infinite.

    Handmade content, Genesis-created content, and Mandelbrot generation can freely mingle.

  • Site Rules | Complaints Process | Register Complaint Facebook Page
    GTX0 © 2009-2017 Xhin GameTalk © 1999-2008 lives on