Jump to content

  • Log In with Google      Sign In   
  • Create Account

How can you design a level for a side-scrolling shooter?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
12 replies to this topic

#1 mk.jr.fan   Members   -  Reputation: 536

Like
0Likes
Like

Posted 03 August 2013 - 11:51 AM

Hi I was wanted to know how can you design a level for side-scrolling shooter that doesn't become difficult or to boring? For example how does the placement of enemies or powerups affect the gameplay?

 

Is there a way to make it balanced or does it not matter  for this type of game?

 

The reason I'm asking this is that when playing these types of games they usually have certain areas where you're safe from enemy fire which are basically gaps in which the bullets don't land. Is this purely based on luck that this happens or is there a way to prevent it based on how the enemies are placed?

 

Any ideas? Thanks!



Sponsor:

#2 Malabyte   Members   -  Reputation: 589

Like
3Likes
Like

Posted 04 August 2013 - 02:01 AM

What you're asking takes some amount of explaining to answer. But to give you some feedback:

 

A successful "level" in any game is essentially the same as a successful gameplay experience when in that area. Whether it becomes boring or not depends largely on a number of different factors and not all of them are about the visual design of the level. Consider the following:

 

- How interesting are the overall game mechanics and how are they taken advantage of in the level? (movement, manipulation, combat etc.)

- How do enemies behave and what level of variety is there, both in the type of enemies and their range of behaviour?

- What is the overall aesthetics of the level and how does it differ from the previous/next level?

- What kind of macro features are there (major features of the overall macro design - some specific major attention focus, e.g. the Boss fight at the end or minibosses)?

- What kind of level design details can we see (background or architectural details), and do they add to or distract from the overall level experience?

- How fun and/or frustrating is the combat?

- Does the player character and the enemies have interesting looks, animations and personalities? Are they memorable?

 

As you can see, there's a lot you need to think about. But if you just break it down into parts and address them one by one, it won't seem as difficult to work out.


Edited by Malabyte, 07 August 2013 - 12:25 PM.

- Awl you're base are belong me! -

- I don't know, I'm just a noob -


#3 Tom Sloper   Moderators   -  Reputation: 9840

Like
0Likes
Like

Posted 04 August 2013 - 07:25 AM

Moved topic from For Beginners to Game Design.


-- Tom Sloper
Sloperama Productions
Making games fun and getting them done.
www.sloperama.com

Please do not PM me. My email address is easy to find, but note that I do not give private advice.

#4 Yrjö P.   Crossbones+   -  Reputation: 1412

Like
0Likes
Like

Posted 04 August 2013 - 10:14 AM

The reason I'm asking this is that when playing these types of games they usually have certain areas where you're safe from enemy fire which are basically gaps in which the bullets don't land. Is this purely based on luck that this happens or is there a way to prevent it based on how the enemies are placed?

Luck has nothing to do with it. For instance, whenever there is an enemy on the screen that shoots directly towards the player - even if it's only one small and slow projectile at a time - the player has to keep moving and there is no static safe spot. You generally want to deny safe spots to the player, but as long as staying in safe spots doesn't give the player a good score and upgrades, I wouldn't sweat it.

I recommend becoming a decent player of shooting games before you try designing your own. Shooters may be technically simple, but designing a worthwhile one is anything but.

#5 LorenzoGatti   Crossbones+   -  Reputation: 2687

Like
0Likes
Like

Posted 05 August 2013 - 01:32 AM

The reason I'm asking this is that when playing these types of games they usually have certain areas where you're safe from enemy fire which are basically gaps in which the bullets don't land. Is this purely based on luck that this happens or is there a way to prevent it based on how the enemies are placed?

Unless they last too long, allowing the player to kill too many enemies without enough risk, safe spots are a good thing. Discovering them, reaching them by dodging enemy fire, following them as they move, and sometimes building them by herding aimed bullet are activities that require skill; there's usually a choice between shooting more stuff and being shot less; and lulls of modest threat level between twitch dodging moments are a fundamental pacing tool.
Produci, consuma, crepa

#6 Orymus3   Crossbones+   -  Reputation: 8884

Like
1Likes
Like

Posted 05 August 2013 - 08:20 AM

I think your example refers to pacing. In other words, how you lay out your challenges.

 

Some platformers can be seen as a collection of challenges laid out in the same world. They could technically be broken down into smaller levels including a single challenge (jump over a hole).

The "dead zone" in-between these challenges is a byproduct of attempting to collect them in a single entity.

Games such as Contra 3 leave very little time for you to be safe, whereas, games like super mario bros 1 will be a bit easier to grasp.

The advantage of having natural "pauses" is that it allows you to let the reward sink in: you've completed a challenge, and can now rest temporarily. This causes a chemical loop in your system, and after a while, your body adapts to stress and relief.

The advantage of more intense games is that it will only reward you at the end of the level, forcing you to be "in the game" for longer gaps. As a result, the stres and relief loop iterates much more slowly and forces you to commit to a longer period of time for each of your action (inherently being more immersive).

 

You'll notice that there are often tricks used by developers to minimize the breadth of a "relief zone". For example, in super mario bros, the mobs will move horizontally, covering large patrol areas. Though they may not be very big threats, they still force you to stay alert to avoid a cheap death. Some levels also automatically move forwards, forcing you to always be on the run. You might notice that you like/dislike these particular levels. There are various other tricks you can use to affect pacing.

 

My suggestion would be to try to design your levels as a collection of challenges that you believe are inherently interesting. Don't make them too complex.

Then, add in a few gameplay ingredients to tie them into one another so that it doesn't look like a series of challenges (moving monsters might help here).

Then, use tweaks to affect game pacing until you reach a balance between difficulty and boredom that you believe is adequate. Understand that the game will always be too hard/easy for some players, therefore, having people from your target audience test the game. Is it too hard/easy for THEM?

It is important to know the skill level of your testers, and to know your target audience.

 

Good luck.

 

 

EDIT:

Other examples that came into mind:

- In castlevania, the medusa heads are used to insure you have no respite. You'll notice that some players become irritated by this, whereas others appear to have mastered this extra challenge layer. The advantage of this particular challenge is that it is not bound to a segment of the level, and allows you to eliminate "safe zones" altogether, as would panning the camera.

- Also, in Castlevania (SOTN), you'll notice there are a lot of safe zones, especially in the first couple of rooms. The game clearly wants you to get comfortable with your controls. As you progress along the game, you'll notice that there are much less such zones, but aside from loading portals, there are still rooms which are safe (clockwork). The idea here is that Castlevania implements other types of challenges which are not inherently skill based. The layer of "exploration" of that game brings in other types of challenges (puzzles could also fill in this role). The relative "safety" of these areas is counter-balanced by another layer of gameplay: creative thinking.


Edited by Orymus3, 05 August 2013 - 08:25 AM.


#7 mk.jr.fan   Members   -  Reputation: 536

Like
0Likes
Like

Posted 05 August 2013 - 10:43 AM

 

The reason I'm asking this is that when playing these types of games they usually have certain areas where you're safe from enemy fire which are basically gaps in which the bullets don't land. Is this purely based on luck that this happens or is there a way to prevent it based on how the enemies are placed?

Luck has nothing to do with it. For instance, whenever there is an enemy on the screen that shoots directly towards the player - even if it's only one small and slow projectile at a time - the player has to keep moving and there is no static safe spot. You generally want to deny safe spots to the player, but as long as staying in safe spots doesn't give the player a good score and upgrades, I wouldn't sweat it.

I recommend becoming a decent player of shooting games before you try designing your own. Shooters may be technically simple, but designing a worthwhile one is anything but.

 

 

Well the thing is I like playing those games and I guess I could consider myself a decent player, but with mentioning the safe spots, I'm not sure how that can be seen without testing it. The way I can come up with making a level that has safe spots that can be denied is to test it with the amount of enemies there and then slowly add the enemies to balance it.

 

But I fear that that can take to long to make one level and the end product might be lost as I would probably start memorizing everything and make it to hard.

 

 

 

The reason I'm asking this is that when playing these types of games they usually have certain areas where you're safe from enemy fire which are basically gaps in which the bullets don't land. Is this purely based on luck that this happens or is there a way to prevent it based on how the enemies are placed?

Unless they last too long, allowing the player to kill too many enemies without enough risk, safe spots are a good thing. Discovering them, reaching them by dodging enemy fire, following them as they move, and sometimes building them by herding aimed bullet are activities that require skill; there's usually a choice between shooting more stuff and being shot less; and lulls of modest threat level between twitch dodging moments are a fundamental pacing tool.

 

 

Well I do understand that having the risk-reward system where you can give the player a chance to risk their ship in order to get a higher score, but I feel that it could ruin the experience when the player has to just sit and cower in their safe spot. I want to try to give them a sense of balance in gameplay or at least gradual difficulty.



#8 Yrjö P.   Crossbones+   -  Reputation: 1412

Like
2Likes
Like

Posted 05 August 2013 - 12:51 PM

But I fear that that can take to long to make one level and the end product might be lost as I would probably start memorizing everything and make it to hard.

In other words, your plan to prevent creeping difficulty is by keeping yourself ignorant of the game you are supposedly designing? That's never going to work. You'll inevitably memorize your own levels to a high degree. To combat creeping difficulty you have to playtest with fresh players who actually don't know the game.

More importantly, if you don't playtest the daylights out of your own levels, I guarantee the end product will be terrible. Skill-centric games have to be designed for experts first, and tuned for beginners afterwards. Going the other way is a waste of time.

You could use graphical diagnostics to easily notice any safe spots that show up. For example, keep a temporal heatmap of enemy/bullet/obstacle presence on the screen, and once some region of the screen has become "cold" enough, draw it as a transparent overlay. Some examples of heatmaps here:
http://blog.gameanalytics.com/blog/heatmapping.html

#9 mk.jr.fan   Members   -  Reputation: 536

Like
0Likes
Like

Posted 05 August 2013 - 01:24 PM

 

But I fear that that can take to long to make one level and the end product might be lost as I would probably start memorizing everything and make it to hard.

In other words, your plan to prevent creeping difficulty is by keeping yourself ignorant of the game you are supposedly designing? That's never going to work. You'll inevitably memorize your own levels to a high degree. To combat creeping difficulty you have to playtest with fresh players who actually don't know the game.

More importantly, if you don't playtest the daylights out of your own levels, I guarantee the end product will be terrible. Skill-centric games have to be designed for experts first, and tuned for beginners afterwards. Going the other way is a waste of time.

You could use graphical diagnostics to easily notice any safe spots that show up. For example, keep a temporal heatmap of enemy/bullet/obstacle presence on the screen, and once some region of the screen has become "cold" enough, draw it as a transparent overlay. Some examples of heatmaps here:
http://blog.gameanalytics.com/blog/heatmapping.html

 

 

 

Okay when I say I don't want to memorize the level doesn't mean I want to be ignorant. What I was hoping is that instead of gradually adding just a couple of enemies at one time I would instead add a bunch, see how the level plays out and then edit through that instead. But as I constantly test out different enemies I create it's sort of becoming a level. So I guess I can just design section of a level and then add it all together to create a level.

 

So what  you are saying is that I try to base the game for more experienced players first and then maybe lower the enemy count or damage for the lower levels? Yes that sounds like a good idea. I'm still wondering how hard I am going to make this but definitely designing for the skill cap first is an interesting take on level design.

 

With the heat map idea I really like and I will definitely want to check that out. The only problem is I'm not sure how I'm going to do this. Any tips on that?



#10 Yrjö P.   Crossbones+   -  Reputation: 1412

Like
0Likes
Like

Posted 06 August 2013 - 01:36 PM

With the heat map idea I really like and I will definitely want to check that out. The only problem is I'm not sure how I'm going to do this. Any tips on that?

The heatmap implementation I was thinking about is very simple. You just need to keep an extra framebuffer, the same size as the screen, which stores one number per pixel and starts zeroed out. On every frame you increment all the pixels by one. Then, whenever you draw enemies, hostile bullets or obstacles, you also draw them in the extra buffer with all zeroes. The higher the value is on the map, the longer that position has been safe. It's then trivial to draw different visualizations of that heatmap, for instance to show as transparent red any area that has been a safe spot for longer than five seconds.

#11 mk.jr.fan   Members   -  Reputation: 536

Like
0Likes
Like

Posted 10 August 2013 - 02:53 PM

Sorry for the late reply (I thought the thread died).

 

So the way your describing it makes it sound like I would need to make a 2d array that holds every coordinate possible for the whole screen and then when drawing the bullets it would add one to each pixel that it hits and then afterwards I can just pull up a screen that shows the total outcome.

 

Now would it be smart or efficient to look into a way in which when I run the program I can have another screen pop up and that one will show just the heat map? The other way I could do it is when I press a button it will pause the game and show the heat map.



#12 Yrjö P.   Crossbones+   -  Reputation: 1412

Like
0Likes
Like

Posted 11 August 2013 - 06:11 AM

So the way your describing it makes it sound like I would need to make a 2d array that holds every coordinate possible for the whole screen and then when drawing the bullets it would add one to each pixel that it hits

Almost, but not quite. The thing we're interested in is how long a particular pixel has not contained any bullets or enemies. You can do that in several slightly different ways. The way I suggested was to increment every pixel on every frame, and when drawing enemies and bullets, setting those pixels in the array to zero.

Now would it be smart or efficient to look into a way in which when I run the program I can have another screen pop up and that one will show just the heat map? The other way I could do it is when I press a button it will pause the game and show the heat map.

You should be able to see the data in real time. Having to pause is not effective or convenient.

You could indeed use a side-by-side view, where the heatmap is visible beside the normal game view, but think I would rather draw a transparent heatmap on top of the normal view, so it's easy to identify exactly which areas are problematic.

#13 mk.jr.fan   Members   -  Reputation: 536

Like
0Likes
Like

Posted 11 August 2013 - 08:12 AM

Well the first idea was mainly going to be used to test if it was possible to do with my skill set (which it is). Now I was wondering would it be better to not go pixel by pixel, but instead make the dots go by the size of the bullet (mainly just the height, the width would equal the height)? This way I could clearly if the player could be hit or not by placing the player in that area.

 

Also,the way you described it on post #10, are saying that where ever the bullet is located set that pixel value zero? Then the higher the pixel value the colder that area is?






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS