Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Tennis Pong!  (Read 5104 times)

0 Members and 2 Guests are viewing this topic.

namu

  • Newbie
  • *
  • Posts: 3
    • View Profile
    • manudz.com
Tennis Pong!
« on: February 04, 2016, 11:07:56 am »
Hello everyone! I will like to share with you my first game with SFML: Tennis Pong!. My intention is to start creating classic games (15 puzzle, Snake, Arkanoid, Asteroids...) to adquire a good basis on SFML and C++ and later on create my own games.
Because it's just a Pong game I'm posting it here because I don't think it deserves its own thread, but I like to share the result.

Features:
  • 1 vs CPU mode.
  • 1 vs 1 mode.
  • 3 difficulties in both modes: Beginner, Intermediate and Expert. The ball have different speeds and in 1 vs CPU mode the AI racket have different speeds too.
  • The entire art of the game is made by me (except for the main background)   ;D. I'm a programmer and I'm learning pixel art as a hobby.
  • Effect applied to the ball simulating height (i.e: it's bigger when ritches  the center of the field). Also added a shadow.
  • Chiptune music (by Jredd) and sound from Mario Tennis of Wii U.
  • Doesn't have Pause button but if the screen loses the focus it plays a sound of pause and the rackets and the ball are not updated. And if you press Escape while playing it quits to main menu.
  • I'm not very happy with the UI but it's something I will improve for future projects, although I kinda like the main screen (not the instructions) and the Digital Scoreboard in game  :D

Controls:
  • Menu navigation: Arrows and Enter (it isn't mouse interactive)
  • Player 1: W - up / A - down
  • Player 2: O - up / L - down
  • In Game: if you play Escape will go back directly to Main Menu

Things that suck / Future improvements:
  • Collision detection with the rackets, especially with the top/bottom of it.
  • UI and Screen Management. It's functional but it's something I would like to improve to be more easy to implement and mantain

And that's all! Here some images and you can download it from here: Download Tennis Pong



« Last Edit: February 04, 2016, 12:18:59 pm by namu »
I'm on twitter! @m4nudz

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11032
    • View Profile
    • development blog
    • Email
Re: Tennis Pong!
« Reply #1 on: February 04, 2016, 12:22:21 pm »
I've split the post from the screenshot thread into its own thread, since this is a complete post and not just a random screenshot for which the screenshot thread was created for. ;)

Looks very nice, good job on the pixelart.
Will try it out in a bit.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

namu

  • Newbie
  • *
  • Posts: 3
    • View Profile
    • manudz.com
Re: Tennis Pong!
« Reply #2 on: February 04, 2016, 12:31:42 pm »
I've split the post from the screenshot thread into its own thread, since this is a complete post and not just a random screenshot for which the screenshot thread was created for. ;)

Ok sorry! I though it that way because it's just a pong game, I will considere it better for future projects and post only individual screenshots on that thread  ;)

I'm glad that you like it visually, I always try to make attractive games  :)
I'm on twitter! @m4nudz

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11032
    • View Profile
    • development blog
    • Email
Re: Tennis Pong!
« Reply #3 on: February 04, 2016, 12:49:42 pm »
I have to say it's a neat little game. Nice visuals, good sound work and I like that the AI doesn't just become "unbeatable".

Here some minor nitpicks:
  • The link you provide in the zip obviously only works for your specific directory structure.
  • You ship the debug and release libraries, which ones are needed?
  • The green colored background for the "Select Difficulty" makes me think That this is the selection. I think having that phrase in green color and making the background of the different difficulty levels green would communicate the intent better.
  • There are different levels of "pixel" density, which can come across as a bit inconsistent (e.g. rackets vs stands or "Home"/"Away" text vs the field).
  • I'm not sure if it's on purpose, but the serve ball moves quicker than otherwise and there's no indication on who'll be served.
  • Balls can be "caught" even when they're pretty much behind the racket. Maybe reduce the collision box slightly.

Again, good job! :)
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

namu

  • Newbie
  • *
  • Posts: 3
    • View Profile
    • manudz.com
Re: Tennis Pong!
« Reply #4 on: February 04, 2016, 03:54:54 pm »
The link you provide in the zip obviously only works for your specific directory structure.
You ship the debug and release libraries, which ones are needed?
My desire to post the game made me forget about that part ::) I'm newbie with compilers and building "by my self" (I had only worked with Unity3D before) and I thought that I had only shipped the release lib, I have to review this

Quote
The green colored background for the "Select Difficulty" makes me think That this is the selection. I think having that phrase in green color and making the background of the different difficulty levels green would communicate the intent better.
I came with the green colored background because of the main black and white background, in some areas it was hard to use a white font. I have to think about a better solution for that screen, I'll try your approach.

Quote
There are different levels of "pixel" density, which can come across as a bit inconsistent (e.g. rackets vs stands or "Home"/"Away" text vs the field).
Yep, I started making the field with a size of 128x128 but later on I made the game window as 640x640 so I had to resize the field. I know that this is the main difference of pixel densities, but I'm still learning pixel art and I'm more confortable working with small canvas but definetly I have to improve my skills on it.

Quote
I'm not sure if it's on purpose, but the serve ball moves quicker than otherwise and there's no indication on who'll be served.
Initially I made that the one who scores is served after the point, but I decided to make it random. The speed is aldo random on the serve but is true that maybe I have to reduce the speed.x

Quote
Balls can be "caught" even when they're pretty much behind the racket. Maybe reduce the collision box slightly.
Yes, I'm aware of this and I should have fixed but I didn't xD. I'll fix it on the next version.

I very appreciate your comments! :)
I'm on twitter! @m4nudz

Hapax

  • Hero Member
  • *****
  • Posts: 3379
  • My number of posts is shown in hexadecimal.
    • View Profile
    • Links
Re: Tennis Pong!
« Reply #5 on: February 05, 2016, 01:04:55 am »
From the screenshots, it looks nice.
Really only the inconsistent pixel size is strange but the rest looks pretty  :)
Selba Ward -SFML drawables
Cheese Map -Drawable Layered Tile Map
Kairos -Timing Library
Grambol
 *Hapaxia Links*