Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


BeerNutts

Member Since 27 Jun 2001
Offline Last Active Yesterday, 10:00 PM

Posts I've Made

In Topic: Some help with creating a Street Fighter style Beat Em' Up game?

Yesterday, 02:06 PM

In my mind such a game can be made to be quite simple.

 

If you limit the game to one kick move and one punch move per character, two characters, and one special move per character this is within the reach of any person new to gamedev and possibly only as complicated as maybe something like Tetris or at most a simple platformer.

 

You could also keep the animation frames to a minimum, use existing graphics from free resource sites to get the ball rolling, and this would give you something to build off as you learn.

 

The main thing is to remember the age old adage "Keep it simple". You can always make incremental changes to your game after you have something working, rather than trying to do everything all at once. Big plans up-front are a dinosaur from the past for most developers and agile methodology can be applied (google it if you're not sure, Tbshirk) which makes game development much easier.

 

Please let me know if you have any questions!

 

I don't really agree with you here, nor do I see any advice for the OP to make this game.  How do you propose a brand new programmer make SF2 clone as his 1st game?

 

If you're brand new to programming, then you're just not going to be able to make a SF2-type game right off the bat.  You need to understand the basic of programming 1st, then understand how games in general can be programmed, and doing simple, no animation-type games with a single screen is a great start.  Pong, Breakout, and then you can throw in some animations when you get an idea how animation works.

 

Python and pygame should be fun to program, and fun to learn to make games.

 

Good luck and have fun.


In Topic: SFML Bounding box but how to implment collision with side detection?

07 November 2014 - 12:54 PM


@Beernutts So basically check the X axis then check the Y axis? But lets say my ball has just fallen inside of a block, wouldn't my ball now bounce up and the opposite X direction for no reason?

 

Move along the X axis, and check for collision.  If there is a collision, then you know it happened moving X.  Move the object back to the original spot, and inverse the X velocity.

 

Now move along the Y axis, and check for collision.  If there is a collision, then you know it happened moving Y.  Move the object back to the original spot, and inverse the Y velocity.

 

That handles hitting blocks from any side, and reacts properly.


In Topic: Trouble with 2D collisions

07 November 2014 - 07:14 AM

 

I am fine with the collision detecting, there are tutorials all around internet about that, but they don't explain what to do after. 

 

Because it depends on what you want to happen after that. The effect most people are looking for is probably just to stop right before "entering" the object. Or you could be sliding along the object (more common). Basically if you have your movement vector v, you can alter it so that you do not enter the object. Example: sphere to box. Let's say that you move towards the box and hit it at some point (let the box be aligned with the main axes) by moving (Vx,0,Vz). If the box is exactly in front of you, you should alter your vector, so you do not enter the box - the easiest is to remove the Vz component, or somehow even add some part of it to Vx. And here's where the collision normals come into play. Let's say you collide into a triangle. This triangle has a normal facing out of it - what you could do is remove all contribution from your movement vector in the opposite direction of the normal. That is done by new_V = V + n*dot(-n,V)/(length(n)) (unless I m writing bs tongue.png  - happens pretty often to me).

Or you could make it so you bounce off the triangle - new_V = 2*(n*dot(n,-V)/length(n))-V

 

P.S. Seems I did write some bs yesterday - fixed - the new_V should be correct now.

 

 

This is not a very helpful response IMO.  The OP is asking for a 2D solution for a tile based game, and the OP is asking in a beginner's forum.  You're response is for 3D objects (sphere and box), and covering subjects that are going to be way over his head.

 

Unless prompted, in the "For Beginner's", I suggest following the KISS principle (Keep It Simple Stupid).

 

OP, I would follow what Buckeye suggested.  Move your objects, then test for collision.  In fact, to help determine which direction the collision occurred, I would suggest moving along each axis and checking collisions, and just revert the axis movement if collision occurs.  

 

This allows you to do things like jump and slide up against a wall, instead of just stopping all movement (vertical and horizontal) if you're jumping up and right, and hit a wall on the right.


In Topic: Two-dimensional array, finding a unknown index

23 October 2014 - 03:21 PM

There's a lot wrong with your code.  It's really too much to cover in one post.

 

You need to go over the code yourself, and find the logic errors.  A few obvious ones are, "rows" should correspond to y axis, and "columns" to x, you're setting island[rows/2, column/2] = 'D' but your Drunk guy should be at island[DrunkX, DrunkY].  The 1st line of "MoveDrunk" you check is the drunk guys is on a 'B' tile, but it will obviously have to be a 'D' tile.  Your else if after checking if he's on a 'B' tile is to check if he's on a 'B' tile!!

 

You really need to go over it yourself, or, if you're still stuck, try a smaller exercise 1st.  You're normal game loop should be somethig like this:

GameInitialize(); // Setup the land, water, bridges, and drunk guy spot
 
while (IsAlive)
{
  UpdateDrunkGuy();
  CheckDrunkGuyAlive();
  DrawGame();
}

 

Good luck, and keep at it, you'll get it, and things will come together soon.


In Topic: Two-dimensional array, finding a unknown index

22 October 2014 - 05:00 PM

Use another variable, int DrunkGuyX and int DrunkGuyY.  Initialize them to a random value between 0 and column-1 (or rows-1).  Then pass those variables to the MoveDrunk() function.  You'd then modify DrunkGuyX and DrunkGuyY as he moves around the island.
 
Good luck and have fun.
 
Oh, BTW, you should use the
[code]source code here [ /code ] (no spaces on close)
when entering code. It makes it look much better

PARTNERS