Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Everything posted by Dovakhiin

  1. While doing my platformer game, I realise that the game isnt fun. It was fun when I was thinking it but on actual game its just boring. Right now I cant design anything that is fun at all. Say for example, if I want to design a puzzle game, do the designer anticipate every move a player can do? Do the designer have to know every posible solution on the puzzle? If not, how can you design this kind of game where you dont have to worry about the solution? For a platformer, does every placing of platform means something? or does the designer randomly place such things? How do you design a fun and engaging game yet the mechanics are simple? As a designer how can you limit your game in your desired scope yet make it fun? How to make the game move from easy to hard for example level 1 is easy yet still fun to play until level 20 hard, challenging and fun.
  2. Since I havent done a lot of games, I guess you are right on this part. But as everyone have mentioned prototyping the game is important. Im not sure how everyone prototype their game, but for me I just push a box making it as a place holder for the final sprite. I dont put any sound effects and good sprites. So the game I said on my first post isnt a game I guess but a prototype and I dont find it fun. If what you are saying is right should I  add sound effects and visual to a prototype? But that destroys the meaning of the prototype. It will be look like I am making the whole game
  3.   I have just a little bit of clue about the difference of mechanics vs design. Often I use both interchangeably. Adding rules is part of designing the game perhaps the mechanics youre talking about is the gameplay?   Thanks for the link. Im gonna watch them all
  4.     Just wanna know how long did you study for game design? :D  The response here is awesome and I realize I  really have to study game design. I found a book about game design and thanks for the links :D
  5.   I guess this is the hardest part of game development. Its making the game fun. I dont have anyone to play test my game not because I dont have friend but because most of them doesnt even enjoy playing computer games. And im pretty sure if you are the one developing your game you dont find it fun. Same like when you are drawing something you think its not good :D
  6. First of all sorry to disappoint you, its not "friends with benifits" :P   Anyway  about me, Ive been programming in monogame for quite a while now. I did some games like pong, space shooter if thats what you call and, break out. Right now I want to learn something new like RGP style and also shaders. Im still new but I can say Im slowly progressing. Would like to team up with someone who has the same interest as mine. We are not gonna build the next Elder scrolls game. Its just that its fun learning something new with someone who has the same interest. A simple RPG   and we will be adding new features in future.
  7. Dovakhiin

    Ball passing through gap between blocks

      I am not, the code is the code I saw from some OpenGL tutorial and implemented it to my own. If you think about it, (0,0) always start at the top-left of sprite. adding some constant number will move the point somewhere in the circle. Im not a math savvy person but I like things that are simpler to understand. But I guess yours are much better. Here is my output . The dot is place to show the center of ball   Also I followed a lot of tutorial and accepted some ideas. The Direction will always be between 1 and 0 because of the way how I move the ball. This is how Position += (Direction * (float)dt.ElapsedGameTime.TotalSeconds) * Speed This is the code I found from pluralsight tutorial. I find it easy to understand as I can set the speed and change the direction instantly. Thats why I see no reason to normalize it since it is just there to change the direction of the ball. Some tutorial do is like this which is normally from Pong tutorial. Position += position * dt; Although its simpler I find the first code easier for me to understand.
  8. Dovakhiin

    Ball passing through gap between blocks

      This is how i get the radius         public  Vector2 getRadius()         {             Vector2 center;             center.X = Position.X + BALL_RADIUS;             center.Y = Position.Y + BALL_RADIUS;             return center;         } The BALL_RADIUS is just a constant number of 15f
  9. Hi, Thanks everyone. I really wanted to implement that math thing to code. Its really really hard. I just dont know how to implement it. Might be because I still lack experience. I hope though sooner or later I will learn how to just look at the formula and have an idea on how to implement it to code   . Anyway I just did something really really simple. if (Position.X + Width > catcher.Position.X  && Position.X < catcher.Position.X + catcher.Width / 2   && Position.Y + Height > catcher.Position.Y + (catcher.Height / 2))                     {                         Debug.WriteLine("hit at side");                         Position = new Vector2(catcher.Position.X - Width, Position.Y); // place the ball on the side where it hits(left side of paddle) before bouncing the ball downwards                         Direction = new Vector2(-1, -Direction.Y);  // bounce the ball downwards                         //Speed = 0f;                     }                                        // If the Left side of the ball hit the Right side of the paddle and the height of the ball is greater than the paddle's y position                     else if (Position.X < catcher.Position.X + catcher.Width  && Position.X > catcher.Position.X + catcher.Width / 2 && Position.Y + Height > catcher.Position.Y + (catcher.Height / 2))                     {                         Debug.WriteLine("hit at right side");                         Position = new Vector2(catcher.Position.X + catcher.Width, Position.Y); // place the ball on the side where it hits(the right side of paddle) before bouncing the ball downwards                         Direction = new Vector2(-1, -Direction.Y); // bounce the ball downwards                         //Speed = 0f;                     } I just basically check if the balls position is greater than the paddles X position and less than the paddles width in half. Same in the right side of paddle. I got a feeling this might not be the best work around for this but this is just on my level of my understandings.
  10. I am trying to make a breakout game using Monogame. There is a bug on the game where when the ball hits the side of the paddle it kept on shaking.     So I was wondering is there a good way to determine which side of the paddle has been hit? I am using the intersect method of the rectangle.   I thought of getting the distance of the two lines but Its not working for me. Any ideas? TY  
  11. Hi, Ive been trying to convert your formula to code. Im not sure if this is correct? currentDeltaTime = deltatime;           //k:= (t - t0) / (t1 - t0)  so that  0 <= k <= 1 within the last time step,           float k = (currentDeltaTime - prevDeltatime) / (currentDeltaTime - prevDeltatime);           //   pb(k) := pb(t0) + k * ( pb(t1) - pb(t0) )           Position = prevPosition + k * (Position - prevPosition);           //pp(k) := pp(t0) + k * (pp(t1) - pp(t0))           catcher.Position = catcherPrevPosition + k * (catcher.Position - catcherPrevPosition);           // ctl(k) := pp(k) + [-w / 2 + h / 2]T           Vector2 ctl = catcher.Position + new Vector2(-catcher.Width /2,catcher.Height / 2);           // ctr(k) := pp(k) + [+w / 2 + h / 2]T           Vector2 ctr = catcher.Position + new Vector2(catcher.Width / 2, catcher.Height / 2);           // cbl(k) := pp(k) + [-w / 2 - h / 2]T           Vector2 cbl = catcher.Position + new Vector2(-catcher.Width / 2, -catcher.Height / 2);           // cbr(k) := pp(k) + [+w / 2 - h / 2]T           Vector2 cbr = catcher.Position + new Vector2(catcher.Width / 2, -catcher.Height / 2);           prevDeltatime = currentDeltaTime;           prevPosition = Position;           catcherPrevPosition = catcher.Position; Basically, I just copied your formula and try to convert it to code base on how I understand it(How I understand your explanation on your 2nd post).       Although the next part was just an example, can you help me convert it to code? The f here is kinda magic. I dont know where it came from?
  12.     How I wish I could understand it clearly as you. Im pretty bad at math especially reading a formula and then converting to code. Although I can understand basics of vectors and a little trig. I still coudnt read math signs and formula in your answer. If I can get where the exactly collision takes place and which side, then this will help me a lot. But sadly, its just too foreign for me to read this kind of thing. I really dont understand this following. Might help if you can explain this to me. TY    pb(k) -- I call it Player Ball(Pb) but what is (K) doing there? is it to multiply or something? :=  --  is this some condition on math?   [ -w/2  +h/2 ]T    --  what is the T here? Is this the same t? or is it different? and are you denoting this as an exponent? or does it meant something else?   k' --  this I sometimes see a lot the ' thing. What does it meant by this?     I notice about the radius. I guess, this is applied for Bounding-circle collision? I didnt go any complicated, I just use two rectangles(AABB).
  13.       Hi, Sorry for confusion. Actually I always use functions, but sometimes when my code got some bug on it, I just put it together on for example my main function and when its fix, Ill move it to a function.     I am using XNA/c#. What I had in mind is that when the ball hits the left side it will bounce the object downwards(not upwards) because the ball wasnt at the top of the paddle. Same thing happen in the right side. I am coding it on the Ball class. the this represents the ball itself and the catcher is the paddle. // If the right side of the ball hit the left side of the paddle and the height of the ball is greater than the paddle's y position                if (Position.X + Width > catcher.Position.X    && Position.Y + Height > catcher.Position.Y + (catcher.Height / 2))                {                    Debug.WriteLine("hit at side");                    Position = new Vector2(catcher.Position.X - Width, Position.Y); // place the ball on the side where it hits(left side of paddle) before bouncing the ball downwards                    Direction = new Vector2(-1, -Direction.Y);  // bounce the ball downwards                                        //Speed = 0f;                }                // If the Left side of the ball hit the Right side of the paddle and the height of the ball is greater than the paddle's y position                if (Position.X < catcher.Position.X + catcher.Width  / 2 && Position.Y + Height > catcher.Position.Y + (catcher.Height / 2))                {                    Debug.WriteLine("hit at right side");                    Position = new Vector2(catcher.Position.X + catcher.Width, Position.Y); // place the ball on the side where it hits(the right side of paddle) before bouncing the ball downwards                    Direction = new Vector2(-1, -Direction.Y); // bounce the ball downwards                    Speed = 0f;                } I added some comments to better understand it. The Speed is set to 0 as a debugging thing. I just want to make sure that when it hits the side, It will stay there.  Although I fix the shaking of the ball, the problem now is that bot If's statement returns true. So an unusual thing happend. When I execute the program, both debug messages show on my output command line so when the ball hit the left-side, the ball will position itself to right and vice versa. This happens because both If's condition return true. Also keep in mind that the origin(0,0) is on the top-left corner of the screen. The two If's is inside an if statement but this if check the rectangle to rectangle collision by using the intersect method. Basically it looks something like this if(rectangle.intersect(ball)){     Position += (this.Direction * (float)dt.ElapsedGameTime.TotalSeconds) * Speed; // update the ball position     If(leftsidePaddleHit()){        // bounce the ball going downwards from the left side of paddle    } if(rightSidePaddleHit()){  // bounce the ball going downwards from the right side of paddle    } } I hope this will make the code easier to understand.
  14. Hmmm this is quite hard. if (Position.X + Width > catcher.Position.X && Position.Y + Height > catcher.Position.Y + (catcher.Height / 2))                  {                      Debug.WriteLine("hit at side");                      Position = new Vector2(catcher.Position.X - Width, Position.Y);                      Direction = new Vector2(-1, -Direction.Y);                                            //Speed = 0f;                  }                  else if(Position.X < catcher.Position.X + Width && Position.Y + Height > catcher.Position.Y + (catcher.Height / 2))                  {                      Debug.WriteLine("hit at right side");                      Position = new Vector2(catcher.Position.X + catcher.Width, Position.Y);                      Direction = new Vector2(-1, -Direction.Y);                      Speed = 0f;                  } Both will return true cause the ball position X will always return true even if it hit the left side or the right side. Its hard to differentiate them accordingly. Doing that Ill be able to bounce the ball as well base on where it hits. Any tips? ty
  15. Cool thanks for the tip
  16.   Oh god the blue color hurts my eye.. But thanks.. ill see if i can understand it
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!