Page 2 of 2

Posted: Wed Nov 09, 2016 0:22
by Fleexy
Heh, it could probably be made to handle Keen 3, even if only with the help of Tharify.

I did some more work on this recently. First I added a /seed option so people can share levels by providing a seed instead of needing to send over the actual files. More interestingly, I implemented a smarter fill order. Now, tile spaces that have fewer options (basically) will be filled first. This kinda kills the performance, but I think there are good gains in level quality to be made down this road.

Here's the newest Imgur album. Keep in mind that this is only one pass (i.e. no erase-and-retry was done) on each level, while previous things you've seen got six passes. I also had to disable rare structure handling for the time being due to the rearchitecting going on.

Re: Markeen: probabilistic random Galaxy level generator

Posted: Tue Mar 14, 2017 16:49
by Fleexy
I'm happy to report that Markeen is now a lot better than it was last release, though it still has a ways to go. Keen Day seems like a great time to show off the progress, so here goes:

Download Markeen (alpha 3/14/2017)

It's now much smarter at deciding the fill order, and it has a little lookahead to avoid some impossible-to-continue-from situations. Generation is now multithreaded, at the cost of the progress printout being a huge mess. You can now supply a seed to get a consistent set, in which case multithreading is disabled. There are a couple new commands that might be useful once in a while. I now recommend a profile depth of 2. In theory, deeper profiles should make better levels, but I haven't perfected the candidate scoring algorithm yet.

Syntax recap, optional things in [brackets], variable things in CAPS, and an example following each command:

Code: Select all

# Generate a profile from levels
markeen profile OUTPUT.mkp DEPTH GAMEMAPS.EXT MAPHEAD.EXT [/mapdict MAPDICT.EXT]
markeen profile keen5.mkp 2 gamemaps.ck5 maphead.ck5

# Generate new levels from a profile
markeen generate PROFILE.mkp COUNT OUTMAPS.EXT MAPHEAD.EXT [/seed NUMBER]
markeen generate keen5.mkp 20 outmaps.ck5 outhead.ck5 /seed 3142017

# Edit a profile: remove all mention of a tile
markeen editprof PROFILE.mkp remove TILE
markeen editprof keen5.mkp remove 1008

# Edit a profile: disallow two tiles from being next to each other
markeen editprof PROFILE.mkp noadj ONETILE ANOTHERTILE
markeen editprof keen5.mkp noadj 186 0

# Split a level set by cutting each level into its areas at scroll dividers
markeen explode INMAPS.EXT INHEAD.EXT OUTMAPS.EXT INMAPS.EXT
markeen explode gamemaps.ck5 maphead.ck5 explmaps.ck5 explhead.ck5
Make sure Markeen is in the same directory as FleexCore 2 (FMod.dll).

Happy Keen Day!

Re: Markeen: probabilistic random Galaxy level generator

Posted: Tue Mar 14, 2017 18:56
by Roobar
Is there a new imgur album? That's art, you know :).

Re: Markeen: probabilistic random Galaxy level generator

Posted: Tue Mar 14, 2017 18:58
by Keening_Product
Even just the concept of this tool is neat; I'm glad it's under active development.

Re: Markeen: probabilistic random Galaxy level generator

Posted: Thu Mar 16, 2017 3:55
by Commander Spleen
It's interesting art at least. The algorithm seems to have a lot of fun with the pipe designs.

The screenshots have a kind of mystical dreamlike quality about them, giving me vauge flashbacks of half-remembmered Keen dreams. And sort of like that decaying city in Inception.

Re: Markeen: probabilistic random Galaxy level generator

Posted: Fri Mar 17, 2017 2:38
by Fleexy
Roobar wrote: Tue Mar 14, 2017 18:56 Is there a new imgur album? That's art, you know :).
Certainly, enjoy! There are levels in the style of all Galaxy games, generated with a profile depth of 2. Keen 4 is something of a disaster (it's too open), but the others show promise.

Also, there seems to be a rare crash when generating. If that happens, just supply an arbitrary seed and it'll fall back to the old (slower but safe) threading style.

Re: Markeen: probabilistic random Galaxy level generator

Posted: Fri Mar 17, 2017 5:23
by Gridlock
Oooh, some of those random levels look quite nice, especially for Keen 5. It's neat to see how this tool is evolving. The Alphamatic is already too far along and out of level slots for me to use this, but I could definitely see how it'd be useful. I'm curious how far you could take the idea of procedural level generation without needing human modification.

Re: Markeen: probabilistic random Galaxy level generator

Posted: Sat Mar 18, 2017 18:15
by Nisaba
Fleexy wrote: Fri Mar 17, 2017 2:38 Certainly, enjoy! There are levels in the style of all Galaxy games, generated with a profile depth of 2. Keen 4 is something of a disaster (it's too open), but the others show promise.
how come that those K4 levels seem to fall back way behind K5 & K6 designs?
I'd like to request some random K4 levels for my recent project... if they just would look a bit more promising. The Markeen idea is neat and I'd love to use one or two skeleton templates to build a level around it. should be fun.

otherwise I could just mimic a K6 design and loosely convert it into K4...

Re: Markeen: probabilistic random Galaxy level generator

Posted: Tue Mar 21, 2017 5:44
by KeenRush
Thanks for the new level screens, I love seeing them! The program is coming towards singularity nicely. :dopekeen Yeah, those Keen 4 levels have something dreamlike about them, or like design by a 2-years old. I think I've dreamed disconnected designs like that, too. But the K4 level with half a house and all that stuff surrounded by black underground tiles is a pretty neat "idea". Seeing those extremely tall limbless trees and claws (K6) I was like "cool" but seeing those diagonally rising branches that are much longer than the trees itself, some of them connection entire areas together, I was like "genius... totally genius". :) So many good ideas here. Maybe this approach will indeed bleed some fresh blood into human way of levelling. Those K5 levels look pretty playable and almost complete. Wouldn't take long to edit one into a playable condition. Good work.