Notice: If the game stops working after an update, it might be a savegame incompatibility. Remove your savegame folder and try again before posting about it.
Registration has an extra hurdle now: There have been advertisement bots, so I added a security keyword to registration. Deal with it.
  0 users browsing Suggestion Box. | 1 bot  
Main » Suggestion Box » Worldgen time and optimizations of more than one kind
Poll
Keep it like it is
 2
I like this idea and I may suggest shit
 1
3 users have voted so far
Pages: 1
Posted on 12-09-12, 07:08 pm
<i>Prophet of Celestia</i><br>Baka on the streets, senpai in the sheets

Posts: 120/344
Since: 06-08-12

Last post: 1669 days
Last view: 1209 days
Right now, the entire Nox overworld is generated while you create your character. Takes a good while. The entire world is done at once because mission.js requires potential access to any board in the world.

But what if, instead of taking so much time generating essentially empty boards, we only generate the towns? A given board on the overworld would no longer have an ID #, name, and coordinate ("#69 - Faircastle at 10x6") but only a name and ID #. To go from town to town, or to a dungeon, you'd open a travel menu which lists all the known locations ("Faircastle, "Lower Crystaldeep", ...), placing you on that board, instead of blindly wandering the overworld and completely passing your target. Interaction can reveal more (existing) locations, adding them to the list, and if it's a dungeon it'll be generated on first visit (as before).

Mission.js can then just pick a random place from the full list, and add more, such as "Chelsie's lair", which would then be unlocked (added to the travel list) by someone's mention.

In a town, you can open the travel list at any time. In a dungeon, this is done when using the exit you came in from.

TL;DR: world generation could be done in almost no time at all.
This also allows the game to get closer to the Berlin Interpretation, which states that a roguelike's game world should die with the player, like Hardcore Mode in Minecraft. Right now, worldgen takes too long to make this anything but annoying.

Also, instead of having the ability to cross board edges limited to "overworld mode", any board could have a set of properties linking it to another board (or none) in a given direction, allowing town boards to have surrounding stretches of wilderness or something, and potentially dungeons to stretch into multiple screens.


I don't just program Noxico...
Posted on 12-10-12, 05:41 am

 

Posts: 11/105
Since: 12-06-12

Last post: 3999 days
Last view: 3981 days
Personally I prefer the open world that Noxico has already, but I do agree with you about the navigation thing. My suggestion is to create an overworld map that is filled in as the player explores new areas and keeps track of interesting locations (i.e. dungeons, towns, castles, etc.). In addition, it could also act as a fast travel system a la The Elderscrolls. This way you can quickly go to any place you've discovered, but you still have to find them first.

As for the world generation taking a while, would it be possible to pull a minecraft and do world generation while the player is in the game? (e.g. generate adjacent boards asynchronously in a background thread or as the player moves between boards)

Lead writer on Noxico (and sometimes programmer or designer) <br>
Posted on 12-10-12, 08:36 am
<i>Prophet of Celestia</i><br>Baka on the streets, senpai in the sheets

Posts: 121/344
Since: 06-08-12

Last post: 1669 days
Last view: 1209 days
Posted by PillowShoutAs for the world generation taking a while, would it be possible to pull a minecraft and do world generation while the player is in the game? (e.g. generate adjacent boards asynchronously in a background thread or as the player moves between boards)
No, it can't.

1) I have bits of info on how Minecraft does it, where "it" is "create new chunks that usually fit against existing stuff", but nothing I can use.
2) Mission.js requires potential access to all boards.

I don't just program Noxico...
Posted on 12-10-12, 09:34 pm

 

Posts: 13/105
Since: 12-06-12

Last post: 3999 days
Last view: 3981 days
So it's kind of either or then. :P

In that case, I suppose the region based method could still be fun so long as the regions aren't just tiny groups of 3-4 boards. I guess another advantage of this method is that it would be easier to generate areas that conform entirely to a specific biome or theme.

As another thought, would it be possible to still generate a world map (just an over map, not actual the boards) and use that as the selection method instead of just a list? Sort of like dragon age or the older fallout games. (I like the over map because I like having a solid idea of where I am geopraphically)

Lead writer on Noxico (and sometimes programmer or designer) <br>
Posted on 12-11-12, 04:12 pm
<i>Prophet of Celestia</i><br>Baka on the streets, senpai in the sheets

Posts: 122/344
Since: 06-08-12

Last post: 1669 days
Last view: 1209 days
If I give each board the ability to connect in up to four directions, a given town can have at least eight surrounding boards, and it doesn't need to be square either.

A graphical traveling screen could be possible, I guess... place markers for all known locations at a random-ish location for starters...



Anyway, I copied the source and started work. For now, there's eight town boards, no surroundings, and a T for Travel key. I haven't tried not adding all eight boards to the KnownTargets list, and you always appear in the same screen coordinate as you left. The only real limitation for now is that you can only press T on a Town-type board.

I don't just program Noxico...
Posted on 12-15-12, 02:39 pm
<i>Prophet of Celestia</i><br>Baka on the streets, senpai in the sheets

Posts: 126/344
Since: 06-08-12

Last post: 1669 days
Last view: 1209 days
The last two parts to implement in this project are script commands to handle expectations, and making the travel menu look nice. The rest is just icing making expectations more detailed.

http://youtu.be/zwbSKD4af5U

I don't just program Noxico...
Pages: 1
Main » Suggestion Box » Worldgen time and optimizations of more than one kind