• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
wuut

Level design: need advice

11 posts in this topic

Hello dear GD community.

today I need advice with my level design stuff.
I am working on a RPG-Sidescroller where the levels are generated randomly as the player proceeds deeper. For this ive wrote a simple algorithm.
But I ran into some issues with my design:

1. I generate levels, each level has a constant high, each level has a random number of doors and each level has stairs getting the player to the next level. The algorithm is too simple.
Consequence: the player is going to be bored fast. Need to make more variety.

2. Since the game will have some survival gameplay, Ive made the environment (deep tunnels, underground) dark. There will be some light sources on specific places.
(the player is running around with flashlight).
But i dont know where to place the light sources, I quess there must be some strategic places.
See pictures below.

Color codes:
black is the solid stuff
green are the rooms
red are the pathways/hallways
yellow the doors
and violet the stairs

3. The environment is planned to be hostile all the time. Monsters, traps, dark creatures from the closet.
So I was playng with the idea of having safe rooms, where you can manage your inventory, check your character stats and so on, Where no monster can enter (also maybe a save game point). What do you think of this, and where to place it?

4. Anything ive missed about survival sidescroller rpg's?
Any feature you want to have in such game?

So I need any suggestions/advice to these points.
I thank you in advance,

Joe

----------------------------------------------------------------------------------------------
Images:
1. Level Minimap:
[url="http://imageshack.us/photo/my-images/11/templatep.png/"]http://imageshack.us.../templatep.png/[/url]
2. Screen cap
[url="http://imageshack.us/photo/my-images/840/27243828.jpg/"]http://imageshack.us...0/27243828.jpg/[/url]
----------------------------------------------------------------------------------------------
0

Share this post


Link to post
Share on other sites
A friend of mine spent quite some time on this, albeit his goal was fairly more complicated.
A simple trick he used: have "sets" of layout-equivalent rooms. Say you need a room which is 100 pixels wide (I'm putting it in terms of the map showed in template.png). Instead of applying always the same room style, select at random a new room. Mods can be simple (shift hue) or more involved (add a small stream of water, add a bridge, no rooms below). There can also be special rooms such as "treasure room" (chance to spawn only if room is no more than 50 pixels wide, only on map edges, no stairs, only if strong monster opposition nearby) or "lava pit" (chance to spawn if room is at least 200 pixels in length, only in lower levels).

Simply adding some graphical features might help.

Both variations might introduce gameplay events. Or perhaps not.

You'll soon find out that the variations need quite some work even for layout-equivalent rooms which in general might end generating inconsistent results. But it's a start.
2

Share this post


Link to post
Share on other sites
Google "roguelike development", you will get websites specialized in the maze/dungeon/cave generation algorithms :)
2

Share this post


Link to post
Share on other sites
Thx Krohm and Acharis for replies.

@Khrom:
I am not really sure what you mean, but I hope I got the idea. See attachment.
Can you show some samples or give me a more detailed explanation?
thy.

@Acharis:
I spent some time googling about "progressive level generation" and "roguelike development".
The most things (sample source, concepts, ideas) I've found were designed for a top-down point of view.
But sidescroller-style is something different and I could not figure out how this would be useful for me.
thy.

Anyway, I wrote a new algorithm and need some suggestion for this.
The picture is in attachments.
The [b][color=#008000]green [/color][/b]color is the space, [b]black [/b]is solid and the small [b]black [/b]lines between the rooms supposed to be doors (later).

Does this Level look like its playable?? (i mean for a randomly generated level)??
Is it an improvement to the latter (above)??

Thx.
0

Share this post


Link to post
Share on other sites
You'll notice that there's no stairway connecting the 9th and 10th floors, so I will say no, that level does not look playable for that reason. However, I'm sure that could be fixed by adding in some code to ensure than when every floor is generated there is at least one set of stairs going down to the next level.
0

Share this post


Link to post
Share on other sites
[quote name='kseh' timestamp='1332449294' post='4924431']
You'll notice that there's no stairway connecting the 9th and 10th floors, so I will say no, that level does not look playable for that reason. However, I'm sure that could be fixed by adding in some code to ensure than when every floor is generated there is at least one set of stairs going down to the next level.
[/quote]

Yes, i noticed that too (its fixed already). But thats not the point. I mean, if the there were a stair between 9th and 10th floor. Would it be a level to go through?
0

Share this post


Link to post
Share on other sites
It certainly looks like a level and the player could walk through it. The only other thing I can think of to consider is whether or not a player has enough motivation to explore areas that he's likely to realize are dead ends once he finds the stairs. If I got to the 5th level from the top, I'd find that next set of downward stairs pretty quickly. By then I should already have an idea of what the game is about and what I'm trying to do. So as soon as I encounter those stairs I already know if I'm going down them or exploring the remaining rooms. So with the game play you have in mind, is it going to be worth my while to explore those rooms and travel back to the downward stairs or should I just go down them now so I don't waste my time? I guess the question is, does the level fit with what you have in mind for your game?
2

Share this post


Link to post
Share on other sites
I'm watching this thread with great interest, as random-level generation has been an interest of mine for a while. An issue I've always dealt with is sometime's its difficult to enforce a particular level is solvable. If you randomly place locked doors, keys, passageways, etc, it becomes very easy to make an unwinable scenario. I came up with this solution, but I haven't implemented it yet: generate the world 1 room at a time.

Take what Ashaman73 said, and come up with a theme and goal. Lets say the goal of this level to retrieve object X, and then exit the level a different way than you came in. Instead of generating a level with object X in it, just generate a room. The player looks around, find a door. He opens it, and it leads to another room, passageway etc. As the player moves around, the level is generating just 1 step ahead according to a few simple rules:

1. First, there's a list of objects that need to be found, along with a probability representing how hard/easy the object is to find. The game starts with Object X, and the exit on the list.

2. When the player attempts to open a door, if there are any other unexplored paths in the game (doors that have been generated but not yet opened), there is a probability this door is locked. If it's unlocked, a room behind the door is generated. If it is locked, a key to this door is added to the list of objects to be found. (or see rule 5)

3. When generating a new room, if there are objects on the list that need to be found, a dice is rolled and maybe that object is in this room, and you should place it here. Also, there is a probability you will find a random key that doesn't belong to a specific door yet.

4. When generating a new room, it may contain a random number of doors to other ajoining rooms. if there are object that still need to be found, and they are necessary to win this level, and the objects haven't been placed in this room, and the player has opened the last unexplored door, then this room MUST contain at least 1 more door other than the one you entered through.

5. When generating a door, if it is locked, and the player has previously found a random key, randomly decide if this is the right key or not.

I think that from the player's point of view, a level generated as above on-the-fly will always be solvable AND will be indistinguishable from the case where the level is generated all at once ahead of time. Also, there a few advantages to this kind of scenario, for instance a player can get a 'lucky' powerup (or unlucky punishment) that changes the probabilities, and makes it hard to win. A punished player will always find the key after exploring room after room, a rewarded player will find it very soon. It also has this extra feature: In a pre-generated world if the player looks everywhere, but for some reason completely missed the one spot the key is, he'll never find it, and will become frustrated. In a on-the-fly world, the player will eventually find it, no matter where he is looking or which direction he took in the beginning of the maze.
1

Share this post


Link to post
Share on other sites
[quote name='Ian David Blasco' timestamp='1333230274' post='4927028']
Really, this is just a question, but are you using Cube 2/PAS?
[/quote]

If you mean the level stuff, No.
Its a custom engine XNA based.

Dont know what "Cube 2/PAS" is.

J
0

Share this post


Link to post
Share on other sites
[quote name='DracoLacertae' timestamp='1332793385' post='4925436']
I'm watching this thread with great interest, as random-level generation has been an interest of mine for a while. An issue I've always dealt with is sometime's its difficult to enforce a particular level is solvable. If you randomly place locked doors, keys, passageways, etc, it becomes very easy to make an unwinable scenario. I came up with this solution, but I haven't implemented it yet: generate the world 1 room at a time.

Take what Ashaman73 said, and come up with a theme and goal. Lets say the goal of this level to retrieve object X, and then exit the level a different way than you came in. Instead of generating a level with object X in it, just generate a room. The player looks around, find a door. He opens it, and it leads to another room, passageway etc. As the player moves around, the level is generating just 1 step ahead according to a few simple rules:

1. First, there's a list of objects that need to be found, along with a probability representing how hard/easy the object is to find. The game starts with Object X, and the exit on the list.

2. When the player attempts to open a door, if there are any other unexplored paths in the game (doors that have been generated but not yet opened), there is a probability this door is locked. If it's unlocked, a room behind the door is generated. If it is locked, a key to this door is added to the list of objects to be found. (or see rule 5)

3. When generating a new room, if there are objects on the list that need to be found, a dice is rolled and maybe that object is in this room, and you should place it here. Also, there is a probability you will find a random key that doesn't belong to a specific door yet.

4. When generating a new room, it may contain a random number of doors to other ajoining rooms. if there are object that still need to be found, and they are necessary to win this level, and the objects haven't been placed in this room, and the player has opened the last unexplored door, then this room MUST contain at least 1 more door other than the one you entered through.

5. When generating a door, if it is locked, and the player has previously found a random key, randomly decide if this is the right key or not.

I think that from the player's point of view, a level generated as above on-the-fly will always be solvable AND will be indistinguishable from the case where the level is generated all at once ahead of time. Also, there a few advantages to this kind of scenario, for instance a player can get a 'lucky' powerup (or unlucky punishment) that changes the probabilities, and makes it hard to win. A punished player will always find the key after exploring room after room, a rewarded player will find it very soon. It also has this extra feature: In a pre-generated world if the player looks everywhere, but for some reason completely missed the one spot the key is, he'll never find it, and will become frustrated. In a on-the-fly world, the player will eventually find it, no matter where he is looking or which direction he took in the beginning of the maze.
[/quote]

Thanks.
Its probably a good concept if you wanna generate room after room while progressing.
My plan is to generate whole grids (shown picture above) before the player enter it or reach the current grid bounds.

But its not an option for me because i dont want to use keys to open doors. Run around an look for a key will probably make the player bugged.
My way is it to make the environment destructible (like in Terraria). Doors will take more damage than the ground.
For example: if you have enough explosives, you can bomb yourself through the groung with 10 charges or you can burst the next door with 2 charges, kill the enemies behind it and go down the stairs to reach the next floor.

[quote name='kseh' timestamp='1332454195' post='4924446']
It certainly looks like a level and the player could walk through it. The only other thing I can think of to consider is whether or not a player has enough motivation to explore areas that he's likely to realize are dead ends once he finds the stairs. If I got to the 5th level from the top, I'd find that next set of downward stairs pretty quickly. By then I should already have an idea of what the game is about and what I'm trying to do. So as soon as I encounter those stairs I already know if I'm going down them or exploring the remaining rooms. So with the game play you have in mind, is it going to be worth my while to explore those rooms and travel back to the downward stairs or should I just go down them now so I don't waste my time? I guess the question is, does the level fit with what you have in mind for your game?
[/quote]

Yes, of course there will be randomly placed enemies who drops randomly generated loot, randomly placed points of intererest like mini bosses, treasures and so on...
In this way a hope to make the repeating levels less monotonous.
I addition i came up with the idea to make an arena where you fight a boss after each completed level/grid.

What do you guys think about this?

Thanks for the replies.

Kind regards,
J
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0