Jump to content

  • Log In with Google      Sign In   
  • Create Account

Comments on level design?


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
19 replies to this topic

#1 LunaticEdit   Members   -  Reputation: 143

Like
1Likes
Like

Posted 21 January 2013 - 11:07 PM

I am working on some areas for my game and wanted to get feedback on the general layout of things. It is a mix between an RPG and platformer. You can see an example of how the game plays here: 

 

And what I have so far of one of my areas is here:

http://img833.imageshack.us/img833/8852/startingarea.png (warning: large image!)

 

Please note that the background is white because in-game it renders the background (as per the video). Also note all in-game assets are NOT present in the image export because that layer also contains collision data and is very hard to see the actual layout if I show it as well -- this includes vertical platforms (as hinted by the rails), doors, enemies, flame pipes, item boxes, etc. And of course, the left part of the lower drop is not done yet.

 

I just want to know if the general flow of the areas makes sense or if I will cause too much confusion for the players. I want to lead them somewhat, but give them freedom without them feeling totally lost.

 

Any feedback would be greatly appreciated!


Edited by Tim Sarbin, 21 January 2013 - 11:08 PM.

http://www.proggytuts.com - Premium Programming Tutorials!


Sponsor:

#2 Ashaman73   Crossbones+   -  Reputation: 7471

Like
0Likes
Like

Posted 22 January 2013 - 12:16 AM

There's not much to say. It looks pretty solid and intersting. The level flows looks good too, best to finish your level and give it someone to test it. Feedback of testers is a good way to improve your design.



#3 Dan Violet Sagmiller   Members   -  Reputation: 896

Like
0Likes
Like

Posted 22 January 2013 - 08:05 AM

Looks good in general, relatively good feel to how it moves.  I have a few things to consider though.  Please remember, that for the most part, this is just my opinion.  

 

 

1) early in the video, when jumping from one floating island to another, the landing site actually went completely off the screen.  This makes it more difficult to make sure your going to hit it.

You might want to lower the screen view a little, or zoom out a bit.  Maybe even only change the Y/Height if the player moves outside of a certain Y range from the last platform they rested on.  I.e. jumping wouldn't make the screen go up and down.

 

 

2) The camera movement is a bit jerky.  (It called me names)

 - I would recommend a leash camera with a spring and friction.  Right now, it appears you have the camera tied directly to the player, so when they jump, the scenery moves as intensely as they player's force.

 - Example of spring : http://www.myphysicslab.com/spring2d.html - though this only shows a spring, and without friction, so it just keeps moving.

 - without involving too much physics, I'll just give you the concept of a very simple spring.  Determine the difference between the X locations of the center of the view on the map and the location of the player on the map.  Then, reduce it to 90% at every update, or 95%.  (I.e) CamX = (PlayerX - CamX) * 0.95.  Then do the same for Y. Also add an if statement to determine if CamX is greater then PlayerX, and if so swap the subtraction variables.This will allow the camera to move a little more smoothly.   Normally, I would apply polar coordinates, and multiply the distance by 0.95 (also taking into account a leash length and friction), and then reset the camera to the new polar coordinate from the player, but that involves a bit more physics.

 

 

3) from looking at the image map, its hard to determine where the player should go.  What happens if they were to go all the way to the left side of the map?  is it an alternative way out of the map?  Its not bad, I'm just a little confused from its purpose.

 

4) there were areas where the player had to jump down, into something they could not see.  I.e. the point where you landed on the enemy unit by accident.  You are creating circumstances that prevent the player from succeeding without luck.  Usually the idea of jumping down to where you cannot see is instinctively bad for game players who don't have some kind of assurity that they will be OK   I.e. will players land on spikes, on an enemy or perhaps a bottomless pit that just gets called death?  

 - Perhaps a peek method, I.e. if a player crouches, or holds a button plus a direction, the camera will shift that direction so they can see a little farther.

 

5) relating to (3), since the player has no specific direction, I.e. in Super Mario Brothers you could only go left, for instance, it seems like something else about the level should imply a direction the player should go.  I didn't see hints.

 

6) This may not relate to the nature of your game, but it didn't feel like there was a purpose to the level.  I.e.  In SMB1, you immediately have a very simple character to jump over, and then a block to hit and you get a mushroom to make you big.  You could make it through as a small character without squashing anything, getting the mushroom/extra life, using a warp, etc...but it does introduce you to the concepts.  Then you leave the level through a pipe, hinting that pipes can lead you down.  

 - Typically in a game, each level has a purpose to show a challenge of gradually increasing difficulty, introduce a concept, or move the plot.  

 - to be fair, there is not a lot to go on, so you very well could have more than the video and text showed.  

 

again, these are just some takes I had on it.  Over all, I like what you already have.  


Moltar - "Do you even know how to use that?"

Space Ghost - “Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer."

Dan - "Best Description of AI ever."

My Game(s), Warp Wars is in early development and can be found here: http://blog.WarpWars.Net.


#4 PyroDragn   Members   -  Reputation: 404

Like
0Likes
Like

Posted 22 January 2013 - 08:07 AM

Just a critique based on the video; the collision detection for your box hits doesn't seem to be consistent. Don't know what kind of collision detection you are using but it might need some tweaking.



#5 LunaticEdit   Members   -  Reputation: 143

Like
0Likes
Like

Posted 22 January 2013 - 04:59 PM

On the camera, I agree. Right now it is hard fixed to the player, but this is simple to adjust. I think I'll combine springy camera with down to look down. Not sure how I want to handle jumping/falling yet though. As far as direction goes - I have not added NPCs yet so that may be part of the confusion. There will be someone at the beginning to give some direction. I'll think hard about the 'falling into the unknown' scenario - I didn't really think about it like that as I know the map and forget the player will not. Do note the maps will be explorative and you will be able to go anywhere (well, anywhere possible given your skills and inventory) you'd like at any time. Open ended I guess you would say. It's a hybrid of action/platformer and RPG - i'm sure I should have specified that earlier.. sorry!

 

As for the physics PyroDragn, I use Box2d - what part seems inconsistant? I have to tweak box2d a bit to feel more platformerish. The player itself has a circular collision at his feet (really, the bottom half) as it makes certain things easier to deal with (getting caught on collision boundaries and such). The up/down platform is a bit odd but I believe its some sort of floating point issue as it only 'shakes' sometimes. The character actually suffers from infinite inertia until I figure out a better way to define the bodies to prevent sliding while also preventing wall-hugging.

 

Thanks for the input guys! I'll adjust what I have and try to work on the camera some so the game isn't so mean to the player biggrin.png

 

Oh and for the camera again -- I first want to try the opposite of the 'lag' style, making it move to show more vision in the direction the player is going - smoothly expanding to a certain point, and settling on center when stopped (down and up will adjust up and down offset of course for looking).


Edited by Tim Sarbin, 22 January 2013 - 05:06 PM.

http://www.proggytuts.com - Premium Programming Tutorials!


#6 PyroDragn   Members   -  Reputation: 404

Like
1Likes
Like

Posted 22 January 2013 - 05:38 PM

what part seems inconsistant?

 

Around the 14-15 second mark in the video, when you're jumping to hit the second ! box, it doesn't seem to detect the hit each time. You end up jumping once when it appears you're still inside the box (3rd jump) and the fourth jump looks like it should register, but you don't get the last coin until you pause a moment for your fifth jump. Looks mostly like you're able to repeat a jump while inside the box and therefore the collision doesn't register since the last collision is still valid.



#7 LunaticEdit   Members   -  Reputation: 143

Like
0Likes
Like

Posted 22 January 2013 - 05:52 PM

Very clever observations. Currently I do not have a good way to tell if i'm on the ground or not so there is currently no limitation on jumping (aww, busted ph34r.png). If I double jumped that was an input mistake on my part. For the 'not registering' issue, that is because I have a minimal delay before you can hit the coin box again. It does see it as individual hits, but disregards the hit due to the minimum time delay not being exceeded. I'm actually going to animate it a little bit and not allow it to be hit again until animation finishes. Really keen observation again, I'm impressed :D


http://www.proggytuts.com - Premium Programming Tutorials!


#8 Dan Violet Sagmiller   Members   -  Reputation: 896

Like
0Likes
Like

Posted 22 January 2013 - 08:53 PM

Currently I do not have a good way to tell if i'm on the ground or not so there is currently no limitation on jumping

 

I'm guessing with your jump physics, you can tell the momentum or force propelling the player.  If that Y-force is at 0, then you are on the ground.  That doesn't solve for jumping from the moving platforms, or a clever player timing the second jump at the pinnacle of a previous jump though.  I guess it really depends on your player.  In my games, I haven't adapted any external physics engines, so determining ground was pretty easy.  I'm not sure about Box2D, and how that works.


Moltar - "Do you even know how to use that?"

Space Ghost - “Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer."

Dan - "Best Description of AI ever."

My Game(s), Warp Wars is in early development and can be found here: http://blog.WarpWars.Net.


#9 thade   Members   -  Reputation: 1652

Like
0Likes
Like

Posted 22 January 2013 - 09:18 PM

How do you prevent the actor from falling through the ground if you can't tell whether the actor is on the ground or not? smile.png Something in your code is aware that it's happening.

 

ADDENDUM: It just occurred to me that this may be due to some library/tool handling the collision for you; if that is the case, you may want to bring this question over to the coding/libraries section on the site...or seek out resources specifically for that library. Sorry I can't offer more, but I've never heard of Box2D until this thread. :(


Edited by thade, 22 January 2013 - 09:31 PM.

I was previously serratemplar; a name I forfeited to share a name with an angry rank-bearing monkey.

http://thadeshammer.wordpress.com/


#10 Dan Violet Sagmiller   Members   -  Reputation: 896

Like
0Likes
Like

Posted 22 January 2013 - 09:35 PM

Surely there is a collision event you can react to.  Such as when you collide with enemies.  Does a similar event fire for the ground?  That can tell you.


Moltar - "Do you even know how to use that?"

Space Ghost - “Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer."

Dan - "Best Description of AI ever."

My Game(s), Warp Wars is in early development and can be found here: http://blog.WarpWars.Net.


#11 thade   Members   -  Reputation: 1652

Like
0Likes
Like

Posted 22 January 2013 - 09:38 PM

Surely there is a collision event you can react to.  Such as when you collide with enemies.  Does a similar event fire for the ground?  That can tell you.

 

It does seem a safe assumption for any library geared towards making platformers/games. if groundHit then currentlyJumping=false, or what have you.


I was previously serratemplar; a name I forfeited to share a name with an angry rank-bearing monkey.

http://thadeshammer.wordpress.com/


#12 traptin85   Members   -  Reputation: 101

Like
0Likes
Like

Posted 22 January 2013 - 10:22 PM

I'm interested in why you decided to have the player move from right to left, when most other platformers have the player more left to right?

 

it really doesn't affect the game much, it's just an interesting decision.



#13 Krohm   Crossbones+   -  Reputation: 3118

Like
0Likes
Like

Posted 23 January 2013 - 02:26 AM

I like.

Only thing it really confused my is the white pipe underground (0:48, on the right). It really looks like the floor we're walking on and I was quite surprised it was just background.



#14 LunaticEdit   Members   -  Reputation: 143

Like
0Likes
Like

Posted 23 January 2013 - 05:04 AM

I have to get to my day job for the next 10 hours but I'll at least answer the 'jumping' bit. Players always have gravity applied to them via the physics engine, so they are indeed 'held down' to ~something~ by default. There is no "floor" technically. Whenever you jump, it does pulse a linear velocity upwards to cause a jump; the arc of the jump is fine (holding doesn't produce infinite jump), the issue is pressing jump AGAIN (causing the just to re-apply). I do get hit events, but there are some catches. I cannot simply say 'am i colliding with something" because if I did, wall jumps would work, as would "ceiling jumping". I can't go by vertical momentum because vertical platforms adjust this by pushing the player up or letting them fall - plus there is a point in the player's jump that "appears" to be stopped (at the peak), which allowed for a double jump.

 

My solution will be to place a collision sensor at the very bottom center of the character, I just haven't done it yet.

 

And  for the column, I'll let my artist know about that; thanks Krohm!


Edited by Tim Sarbin, 23 January 2013 - 05:05 AM.

http://www.proggytuts.com - Premium Programming Tutorials!


#15 Orymus3   Crossbones+   -  Reputation: 8996

Like
0Likes
Like

Posted 23 January 2013 - 06:50 AM

I think you should reconsider this "PLZ" and write it out as "Please".

That said, gratz on going this far with this. Looks interesting!



#16 PyroDragn   Members   -  Reputation: 404

Like
0Likes
Like

Posted 23 January 2013 - 08:33 AM

If that Y-force is at 0

 

To address this point made my hpdvs2, you cannot simply check to see if the force is at 0 since the force would also be at 0 at the peak of the jump, this would make it possible to jump again while at the top of your jump an infinite number of times.



#17 Milcho   Crossbones+   -  Reputation: 1177

Like
0Likes
Like

Posted 23 January 2013 - 08:47 AM

If that Y-force is at 0

To address this point made my hpdvs2, you cannot simply check to see if the force is at 0 since the force would also be at 0 at the peak of the jump, this would make it possible to jump again while at the top of your jump an infinite number of times.

PyroDragn is right, of course. Another case is obviously when you collide with something above you, your y-vel will be 0, so you could stick to the ceiling if you're quick enough on the jump key.

 

Not sure if this applies exactly to your game, but I am too working on a 2d platformer, and the way I handled jumping was to grab my collision shapes, move them slightly downwards, check if they collided, and if they did, perform the jump.

Of course after I check if the shapes collided, I restore all the original parameters of my player - both in position, and collision info (in my case the collision flag and a normal vector)

 

On a side-note, this also works with wall jumping, by attempting to move the player slightly left/right and checking if he's collided. And as I said, as an added bonus, you also obtain a normal vector with this method, so you can jump based on that.



#18 LunaticEdit   Members   -  Reputation: 143

Like
0Likes
Like

Posted 23 January 2013 - 04:58 PM

Milcho: That's basically my solution, only instead of moving the physical body i'll just have a sensor that checks for collision 1 pixel underneath. Thanks again for all the responses! I'll post an update in the next week or two - until then I'll just spam the twitters with updates as usual :)


http://www.proggytuts.com - Premium Programming Tutorials!


#19 WavyVirus   Members   -  Reputation: 735

Like
0Likes
Like

Posted 24 January 2013 - 02:34 PM

If I recall correctly, Box2D allows you to listen for contacts between object, and then find the position and normal of each contact point. If touching a floor, your player object will have a contact point on the bottom, with a normal pointing downwards (approximately - sloped floors will mean some variation here). Check out http://box2d.org/forum/viewtopic.php?f=9&t=8005

 

I think the level's high-level layout flows nicely enough. Shouldn't be too confusing for a player - there's one major branch (the underground area), and it's fairly obvious to the player when they have explored the entire underground area and need to return to the surface (so they won't get frustrated trying to find a way through)



#20 SoundFX   Members   -  Reputation: 188

Like
0Likes
Like

Posted 25 January 2013 - 01:01 AM

I am working on some areas for my game and wanted to get feedback on the general layout of things. It is a mix between an RPG and platformer. You can see an example of how the game plays here: 

 

And what I have so far of one of my areas is here:

http://img833.imageshack.us/img833/8852/startingarea.png (warning: large image!)

 

Please note that the background is white because in-game it renders the background (as per the video). Also note all in-game assets are NOT present in the image export because that layer also contains collision data and is very hard to see the actual layout if I show it as well -- this includes vertical platforms (as hinted by the rails), doors, enemies, flame pipes, item boxes, etc. And of course, the left part of the lower drop is not done yet.

 

I just want to know if the general flow of the areas makes sense or if I will cause too much confusion for the players. I want to lead them somewhat, but give them freedom without them feeling totally lost.

 

Any feedback would be greatly appreciated!

 

It looks good. I wanted to suggest maybe getting a copy of super meat boy if you haven't already played it. While it's arguable its sort of in a genre on its own, the platformer is still a vast majority of it. The mechanics in the game led to some very intricate level design mainly through the placement of things that will kill you. I mention SMB because I for one absolutely loved the levels, and the way in which they ramp up the difficulty as you progress and perfect old moves.

 

With that said, your game will most undoubtedly have its own nuances in which you can design your levels around your mechanics. In addition you can always put, say extra lives, in tricky and/or dangerous spots. Tempation is a good motivator.






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