• 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.

Archived

This topic is now archived and is closed to further replies.

Jedaye

Inclined slope travelling under gravity

5 posts in this topic

Hi, I am trying to encapsulate some physics into my collision resolution but am having the following problem: I have a player (human) model walking around a map (imagine a 1st person shooter). It is colliding with all pollys (walls and floor) and resolving a new velocity via: *vel -= CollidedNormal * DotProd(vel, &CollidedNormal); Where CollidedNormal is the normal of the poly it collided with. Gravity is added to the velocity initially to keep the player ''on the floor''. The slidding along walls is fine however when the player tries to walk up a slope of any real gradient he/she ends up slowing to a stop on the slope. Can anyone throw some light on how I might go about fixing this so the player can slide along walls and walk up slopes?? Thanks in advance ** Ste
0

Share this post


Link to post
Share on other sites
just an idea...
is your movement a force like the gravity ?
your movement should be a force along the poly you are walking on....
as I said ... just a thought
0

Share this post


Link to post
Share on other sites
Well, the position is an applied update of vel + gravity vectors...if thats what you are asking...

It will travel up lesser inclined clopes (say 30 degrees) but 45 degree or above it refuses to travel more than a short distance up...
0

Share this post


Link to post
Share on other sites
Decrease the gravity and i can walk up slopes oki (sliding is fine also) but with a higher, more realistic gravity, i just cant walk up slopes (altho sliding down them is more realistic with a modest gravity value)
0

Share this post


Link to post
Share on other sites
In my game I do this:

player.y-=0.3f (which would be 30 cm. in my game)
then I find out if the distance between the coordinates of the player and a face is less than 1.50f, and If it is, I push the player away 1.50f along the face''s normal. This way the speed at which the player slides down a slope depends on the steepness of the slope.. Another way is, which I am using now(better for shoot em ups), is to find out if the face is a wall or a floor, for example, if the steepness of the face is more than 45 degrees it''s a wall. if its a wall I use the same method as i described before, but if its a floor I dont push the player away along the normal of the face but up vertically. This is better for shoot em ups because you won''t slow down when walking up, which is very annoying. I hope this is what youre talking about...

icecode
0

Share this post


Link to post
Share on other sites

I tried to make my game with accurate physics like yours, and it took months, and it still isn''t right in some cases.

My game was in 2D, but the same rules apply. Gravity is applied to an object''s velocity every loop, and whenever there is a collision, it is resolved by changing the velocity in the direction normal to the colliding surface, as you said. I also change the velocity in the shear(?) direction, representing friction.

How does your player get its velocity in the first place? Whether you calculate it by friction or just by assigning it to a number, there will always be a slope too steep.

The physics here is not too complicated, but the problem for me was what I called "scraping problems". When you adjust the velocity after a collsion, the object should be sliding along the surface. But with rounding errors you might find that it''s still moving very slightly into the surface, and so you have a collision which can''t be resolved. Even having a velocity slightly away from the surface may not solve it, depending on the way you check for collisions.

If you want to handle multiple body problems, that gets more difficult again, as the simple 2-body rules will not solve them.

I can go into more detail here if you want, or you can email me. I have a lot of code (C++) which deals with moving objects and resolving collisions between them.
0

Share this post


Link to post
Share on other sites