Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (581)
games submitted by our members
Games in WIP (500)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Platform Dungeon Generation?  (Read 2755 times)
0 Members and 1 Guest are viewing this topic.
Offline SkyAphid

Senior Member


Medals: 3
Projects: 1



« Posted 2012-02-09 05:48:48 »

Been throwing some gameplay ideas around in my head. I was thinking it'd be cool to make a platform game dungeon generator, nothing too crazy. Just ledges, platforms, chests, and doors to the next floor. How would one program this and make sure it's not broken?

I want to hear everyone's input! Wink

“Life is pretty simple: You do some stuff. Most fails. Some works. You do more of what works. If it works big, others quickly copy it. Then you do something else. The trick is the doing something else.” ~Leonardo da Vinci
Offline UprightPath
« Reply #1 - Posted 2012-02-09 06:16:44 »

Well, random platforming can be fun, but at times it's... Meh. However, the way I'd do it if you want to ensure that everywhere is reachable using just basic jumping would be to create a set of 'room' parts, that have some sort of rules for the edges that connecting parts would have to meet to connect. Then starting some one position, do a breadth or depth first expansion, randomly placing these room parts.

Of course, if you have 'closed' edges you'll eventually run into places where the map is not going to be strongly connected (Try using Tarjan's Strongly connected graph algorithm to check). If it's not strongly connected, check through the closed edges until you find a workable set of replacements that will connect the two regions. Then repeat.

Offline ReBirth
« Reply #2 - Posted 2012-02-09 08:37:26 »

I'm not interested in dungeon but I remember that Kev's has article about this on his site.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Damocles
« Reply #3 - Posted 2012-02-09 09:23:17 »

Random dungeons can work, as seen by Diablo levels.

But its not just the architectural layout, but also the right "rythm" of enemies and rewards.
So that the content scales with the players level.

Offline UprightPath
« Reply #4 - Posted 2012-02-09 11:22:27 »

Well, there's a difference between what you guys are talking about and what was just asked about. A platformer has much different requirements for generating rooms than games like Diablo or what was described by Kevglass (Which seemed to be more about room definition for a dungeon, than anything).

However, enemy placement is very important. If you haven't, watch what's linked to here http://www.java-gaming.org/topics/sequelitis/25713/view.html . The first, then the second, videos. Basically, randomly placed enemies are less interesting or fun than intelligently placed enemies. They're a lot more frustrating and difficult to deal with. Especially when you get enemies spawning in a way that their typical weakness is completely removed (Like, say an enemy that you're supposed to be able to attack from beneath spawning where you can't do that).

Offline Christopher

Senior Member


Medals: 2
Projects: 1



« Reply #5 - Posted 2012-02-09 11:40:32 »

As mentioned Kev's article on this covers what you need to know.

http://old.cokeandcode.com/node/1445

Offline SkyAphid

Senior Member


Medals: 3
Projects: 1



« Reply #6 - Posted 2012-02-09 21:09:42 »

Thanks guys! Very helpful! Smiley

“Life is pretty simple: You do some stuff. Most fails. Some works. You do more of what works. If it works big, others quickly copy it. Then you do something else. The trick is the doing something else.” ~Leonardo da Vinci
Offline Cero
« Reply #7 - Posted 2012-02-09 21:55:56 »

Quote
Given just how long 2d platformer games have been around it is perhaps surprising that no random 2D platformer level generator has ever been truly viable. However, there is a degree of balance and precision to successful platformer level design that cannot duplicated by any method other than careful design, calibration and testing.
Read more here

Short: There is a reason that there are no platform level generators. A machine cannot generate a level that has soul.

Offline SkyAphid

Senior Member


Medals: 3
Projects: 1



« Reply #8 - Posted 2012-02-10 00:52:15 »

Quote
Given just how long 2d platformer games have been around it is perhaps surprising that no random 2D platformer level generator has ever been truly viable. However, there is a degree of balance and precision to successful platformer level design that cannot duplicated by any method other than careful design, calibration and testing.
Read more here

Short: There is a reason that there no platform level generators. A machine cannot generate a level that has soul.

No dungeon generator I've ever played with has been able to achieve this. Not even the normal ones. So, I'm not worried about it.

“Life is pretty simple: You do some stuff. Most fails. Some works. You do more of what works. If it works big, others quickly copy it. Then you do something else. The trick is the doing something else.” ~Leonardo da Vinci
Offline Chromanoid

Junior Member


Medals: 3



« Reply #9 - Posted 2012-02-10 02:51:45 »

Maybe stuff from the Mario AI Championship - Level generation track is interesting for you. I think there are some papers about rythm of platformer games and flow stuff. These might help to make generators for levels that appear to have a soul Smiley
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline SkyAphid

Senior Member


Medals: 3
Projects: 1



« Reply #10 - Posted 2012-02-10 03:27:20 »

I can't really decide on how I'm going to do it yet, actually.

Kevin used rooms in his generator and placed them accordingly, but I don't know if I can get away with this in my engine. It may break the rhythm.

I was thinking it'd be possible to make 6x6 rooms, made up of 16x16 tiles, then at each rooms "door" that would be two tiles high, in either the low, middle, or high point of the room, would have a connector to the next room. Although, this may really feel "slow" when you're playing through it. The connectors would be fairly hard to make too. Although, I could make a stair system with platforms at each level of the room. Which would still feel a bit slow, and break the fast paced-ness that I'd like to have.

I'm kind of going for the speed the Megaman Zero games have. What do you guys think?

“Life is pretty simple: You do some stuff. Most fails. Some works. You do more of what works. If it works big, others quickly copy it. Then you do something else. The trick is the doing something else.” ~Leonardo da Vinci
Offline gimbal

JGO Coder


Medals: 25



« Reply #11 - Posted 2012-02-10 13:00:10 »

Short: There is a reason that there are no platform level generators. A machine cannot generate a level that has soul.

I highly agree with that. Yet the people who made Terraria still come darned close!
Offline Christopher

Senior Member


Medals: 2
Projects: 1



« Reply #12 - Posted 2012-02-10 13:07:09 »

Short: There is a reason that there are no platform level generators. A machine cannot generate a level that has soul.

I highly agree with that. Yet the people who made Terraria still come darned close!

This was once written about machines and their generation of electronic music.

If machine can not generate levels with soul it is simply because the programmer has not given it the tools to do so.

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (63 views)
2014-04-15 18:08:23

BurntPizza (61 views)
2014-04-15 03:46:01

UprightPath (74 views)
2014-04-14 17:39:50

UprightPath (57 views)
2014-04-14 17:35:47

Porlus (74 views)
2014-04-14 15:48:38

tom_mai78101 (100 views)
2014-04-10 04:04:31

BurntPizza (160 views)
2014-04-08 23:06:04

tom_mai78101 (255 views)
2014-04-05 13:34:39

trollwarrior1 (208 views)
2014-04-04 12:06:45

CJLetsGame (215 views)
2014-04-01 02:16:10
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!