Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 3 [4] 5 6 7

Author Topic: New OSS project: Jetblade [Was: Procedurally-generated caves]  (Read 27943 times)

Zai

  • Bay Watcher
  • Elmo? Is that a SIMPLE UTENSIL?
    • View Profile
Re: Procedurally-generated caves
« Reply #45 on: April 10, 2009, 05:58:44 pm »

I haven't said anything yet, but I've been following this for a while.

Looks great so far. But what are the spiky things?
Logged
DEATH has been waiting for you. He has poured you some TEA.

penguinofhonor

  • Bay Watcher
  • Minister of Love
    • View Profile
Re: Procedurally-generated caves
« Reply #46 on: April 11, 2009, 12:34:03 pm »

Hey, one thing I've noticed is that there's a layer of brown dirt behind the surface layer, no matter the texture. With the metal fire thing and the red stone, that looks kinda bad. Otherwise it looks awesome, especially those trees. Though they should be spaced out a little more so it doesn't look like a big blob, with a darker and less noticeable background layer of them so it doesn't look too sparse.
Logged

PTTG??

  • Bay Watcher
  • Kringrus! Babak crulurg tingra!
    • View Profile
    • http://www.nowherepublishing.com
Re: Procedurally-generated caves
« Reply #47 on: April 12, 2009, 02:49:08 pm »

Quite Awesome, good sir!

Are you using a library or creating your own art assets?
Logged
A thousand million pool balls made from precious metals, covered in beef stock.

Derakon

  • Bay Watcher
    • View Profile
Re: Procedurally-generated caves
« Reply #48 on: April 12, 2009, 02:57:59 pm »

The art assets are all created in Blender. I'm using a tree-making script that someone else wrote to generate the trees, and I'm borrowing liberally from the Blender Materials Database, but otherwise it's all my own work.

Penguin: yeah, all of these shots are very incomplete. I've still a long ways to go before it'll be much worth submitting bug reports. But thanks for the enthusiasm. :)
Logged
Jetblade - an open-source Metroid/Castlevania game with procedurally-generated levels

Derakon

  • Bay Watcher
    • View Profile
Re: Procedurally-generated caves
« Reply #49 on: April 15, 2009, 06:03:26 pm »

Someone was asking earlier if it would be possible to modify the mapgen routines. Well, as of the last few days, the answer is "yes, but". The code that lays down the starting points for the tunnels and carves out map features is now factored out of the main codebase and loaded dynamically at runtime, so if you know Python, you can modify it. However, it's very, very easy to make unplayable maps, either by putting walls all the way across a tunnel, or by making a tunnel that's impossible to jump up. I don't think that'll ever be fixable -- clever people can always break things -- so modding the game will not be for the faint of heart. Still, it's possible, which is a damned sight better than it was four days ago.

Additionally, I've a) reworked how different map regions are specified, and b) added configurability of basic tunnel statistics (width, length, which tunnel types are allowed, if tunnels should be aligned with the X/Y axes, etc.), at the region level. Here's the configuration file I'm using right now for development, for example:

Code: [Select]
zones = {
    'jungle' : {
        'elevationRange' : [0, .5],
        'regions' : {
            'grass' : {
                'frequency' : 1,
                'color' : (0, 255, 0),
                'tunnelTypes' : {
                    'wave' : 16,
                    'bumpy' : 16,
                    'room' : 6,
                    'straight' : 4,
                },
                'tunnelWidths' : range(10, 15),
                'tunnelLengths' : range(25, 46),
            },
        },
    },
    'hotzone' : {
        'elevationRange' : [.5, 1],
        'regions' : {
            'lava' : {
                'frequency' : 1,
                'color' : (255, 0, 0),
                'tunnelTypes' : {
                    'wave' : 8,
                    'bumpy' : 8,
                    'room' : 2,
                    'straight' : 2,
                    'maze' : 1,
                },
                'tunnelWidths' : range(8, 13),
                'tunnelLengths' : range(20, 31),
            },
            'techpipe' : {
                'frequency' : 1,
                'color' : (128, 128, 128),
                'aligned' : 1,
                'tunnelTypes' : {
                    'straight' : 8,
                    'stairs' : 8,
                    'maze' : 1,
                    'room' : 2,
                },
                'tunnelWidths' : [8],
                'tunnelLengths' : [20, 41, 5],
            },
        },
    },
}
That configuration makes region maps that look like this:



Which in turn make maps that look like this:



Here's another map that came out nicely:



I still have some bugs to sort out, but progress is being made!
Logged
Jetblade - an open-source Metroid/Castlevania game with procedurally-generated levels

Sowelu

  • Bay Watcher
  • I am offishially a penguin.
    • View Profile
Re: Procedurally-generated caves
« Reply #50 on: April 15, 2009, 06:11:38 pm »

SHIIIIIIIIINY~

*hypnotized*
Logged
Some things were made for one thing, for me / that one thing is the sea~
His servers are going to be powered by goat blood and moonlight.
Oh, a biomass/24 hour solar facility. How green!

SolarShado

  • Bay Watcher
  • Psi-Blade => Your Back
    • View Profile
Re: Procedurally-generated caves
« Reply #51 on: April 17, 2009, 12:47:06 pm »

Those latest caves are awesome, love how the different areas look natural/artificial.
Logged
Avid (rabid?) Linux user. Preferred flavor: Arch

JoshuaFH

  • Bay Watcher
    • View Profile
Re: Procedurally-generated caves
« Reply #52 on: April 29, 2009, 04:36:11 pm »

What's the latest Derakon?
Logged

Derakon

  • Bay Watcher
    • View Profile
Re: Procedurally-generated caves
« Reply #53 on: April 29, 2009, 05:13:26 pm »

The latest is that I got contacted by a recruiter for a possible job opportunity, so I've been busy getting my basic CS theory back in line. Over the past 12 days I've completed 87 Project Euler problems...and gotten nothing new done on the map generator.

When I do get back to this, I'm going to need to give some serious thought to how to inject variety into the map generation, down to the room/tunnel level. I don't want the game to be exploring a maze of twisty little passages, all alike except the décor.
Logged
Jetblade - an open-source Metroid/Castlevania game with procedurally-generated levels

Sowelu

  • Bay Watcher
  • I am offishially a penguin.
    • View Profile
Re: Procedurally-generated caves
« Reply #54 on: April 29, 2009, 05:36:00 pm »

NOOOO, why did you have to link to Project Euler, I got myself away from that a year ago :x
Logged
Some things were made for one thing, for me / that one thing is the sea~
His servers are going to be powered by goat blood and moonlight.
Oh, a biomass/24 hour solar facility. How green!

captain_duck

  • Bay Watcher
    • View Profile
Re: Procedurally-generated caves
« Reply #55 on: May 04, 2009, 01:09:37 am »

Wow this looks fantastic. I had an idea similar to this, but my idea was to place rooms like tiles in a boardgame to generate a world map. Still i can't code for shit and it would have never happened, so im very happy to see this.

What's your idea on items and powerups by the way? Will there be powerups like in metroid that open new paths? That would make it a great metroidvania~ish game, but i bet it would be hell to code and keep playable.
Logged

Derakon

  • Bay Watcher
    • View Profile
Re: Procedurally-generated caves
« Reply #56 on: May 04, 2009, 02:49:55 am »

The plan is to have powerups that unlock new regions, yes. The difficulty is in coding in the "locks". I have no confidence in my ability to procedurally generate maps that you can't get stuck in (by accidentally bypassing a lock and then not being able to navigate the area beyond it), so the player will have to be equipped with a teleport device to return to a safe haven.

Basically, there are the following major aspects that need to be done:

* Make it interesting. Nobody wants to explore a boring map. This means making lots of scenery, making varied terrain, having the right number of enemies, having enjoyable music, all that jazz.

* Make it have meaning. If there's no purpose behind exploration, the player loses interest fast. They need to have a reason to go hunt down that powerup. In your standard Metroidvania, these reasons mostly take the form of locked areas, and to a somewhat lesser extent simple curiosity. This means figuring out what the powerups do and then coding up locking systems, which will probably need to be different for each powerup type, and of course will need to be adaptable to varied local terrain.

* Make it playable. Tighten up the controls so the player can easily perform the actions they want. Make combat enjoyable. Make platforming challenging without being a chore. Make obtaining powerups rewarding, and ensure the player always knows where to go next without having to hold their hand.

Up to now I've been focusing on the first point, making a map that looks like a map and not just a collection of tunnels. I'm still a long ways away from finishing that aspect, but it may be time to start considering the other aspects as well.

For what it's worth, "Plop down some rooms and then make corridors between them" is one of the dominant map generation algorithms in NetHack, a famously long-lived and popular roguelike game.
Logged
Jetblade - an open-source Metroid/Castlevania game with procedurally-generated levels

JoshuaFH

  • Bay Watcher
    • View Profile
Re: Procedurally-generated caves
« Reply #57 on: May 31, 2009, 10:05:55 pm »

Any updates Derakon?
Logged

Derakon

  • Bay Watcher
    • View Profile
Re: Procedurally-generated caves
« Reply #58 on: May 31, 2009, 11:55:15 pm »

Nothing particularly show-offable. I made that tripedal mech that I showed in the CG art thread, tweaked accessibility a bit, and fixed a few minor bugs. I'm not really in a coding mode right now, so major structural changes to the maps aren't happening.
Logged
Jetblade - an open-source Metroid/Castlevania game with procedurally-generated levels

SolarShado

  • Bay Watcher
  • Psi-Blade => Your Back
    • View Profile
Re: Procedurally-generated caves
« Reply #59 on: June 19, 2009, 11:59:16 pm »

Logged
Avid (rabid?) Linux user. Preferred flavor: Arch
Pages: 1 2 3 [4] 5 6 7