The art and the sound design are super solid! Good job!
Play game
AIR FOOTBALL's itch.io pageResults
| Criteria | Rank | Score* | Raw Score |
| Gameplay | #14 | 3.632 | 3.632 |
| Sound | #25 | 3.421 | 3.421 |
| Overall | #64 | 3.191 | 3.191 |
| Theme | #114 | 3.158 | 3.158 |
| Aesthetics | #120 | 2.553 | 2.553 |
Ranked from 38 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.
If you posted a link to your game on twitter paste it here so we can retweet it!
https://x.com/MH_Gamedev/status/2003459073606566129
Comments
Classic air hockey game with nice implementation! AI is really good, I think it would pass turing test. Maybe you can add powerups to make it even more interesting
I don't know how much AI was used for this project, but the gameplay feels pretty good! I also like the sounds and gamejuice
Thanks! Yeah I used AI for most of the coding. Had a selfmade template ready before the jam with menu, audio system and leaderboard integration, plus some custom prompts to keep AI from going crazy lol
I've been in tech for 10+ years (DevOps background) so I know when AI output is garbage and when it's fine. Game jams are actually perfect for this, you ship fast and there's no tech debt building up. The juice stuff (screenshake, hit freeze, particles) was the fun part to work with, enemy-AI balancing was cool and I did not wasted hours on a manual tasks and had more time on polishing and gameplay itself. Win-win, I guess :D
Ask an AI first :D
Like, literally. Communicate with it, ask how it works better for some tasks, how don't do. It will improve you fast. Just create a chat for it, whenever you prefer. But don't use it for a vibe-code everywhere BEFORE you can code yourself, deathtrap.
Claude for code and tech-tasks, perplexity for a fact-checking & bureaucracy, chatGPT for a picture generating, and asking some general(ly stupid) questions.
You used Godot for this.
How much of the physics for the ball and the paddle was part of Godot and how much did you have to had code.
Do you have the GDScript?
Yeah I used Claude for most of the code, not gonna hide it. Game jams are where vibe coding actually makes sense, you don't build up tech debt in 72 hours. Would've developed half the features doing it "properly". Still, doesn't meant I prompted "make me a game" and did nothing else. F.e. ball and physics balancing took like a few hours. I've tried to make a feeling of the ball and paddle a little bit more footballish, but in some moment it became to feel too slow and undynamic, so I've finished with the numbers below:
Ball physics:
- RigidBody2D, linear_damp 0.18 for gradual slowdown
- Hit direction = vector from paddle center to ball center (normalized)
- If paddle is moving its velocity adds 25% influence to hit direction(just balanced it manually). So moving into the ball shifts the angle
- Paddle speed also adds 25% to ball speed
- Wall bounces have 0.88 factor (loses 12% speed per bounce)
- Max speed scales with combo: 2000 + combo * 10
Paddle physics:
- CharacterBody2D, max speed 2200(Player) 2000(Bot)
- Player follows mouse with 0.3 smoothing (for web jitter)
So you added 25% of the speed of the paddle to the ball. Godot give you paddle speed are did you have to track that yourself. So you change ball direction by taking the normal and adding 25 percent. I like the wall bounce damping.
Two things:
1. Could you ever move the paddle so fast that the ball misses it between frames or did capping the speed stop that? Did you use _physics_process() or _process()
2. I have been a programmer for almost 50 years, I still use ChatGPT, Grok, Calude.ai and another tool that I can get my hands on. In the arena of programming you use every tool you can get. It is no different than watching a tutorial on YouTube, buying some course, or reading it in a book which is what I did when I started programming 50 years ago. People have this stigma about AI. To me it is just a command line where you type in questions and it looks it up for you. Don't ever forget, you are a coder and all this code being spewed out by AI still needs to be checked.
I really liked your game, you are an excellent coder and designer. Keep it up, you never know you might have the next hit game in your head right now!!
1. Both. I use:
func _process(_delta: float) -> void:
_visual_position = _visual_position.lerp(global_position, VISUAL_SMOOTH_FACTOR)
sprite.global_position = _visual_position
And for physics I use physics_process. That combination gives really smooth movement visually and catch slightest mouse movement changes at the same time.
2. Glad we're on the same page, really. AI balancing was a semi-manual machine learning and current version of evolving, super-smart npc took me like a one working day, I'm kinda impressed. Took me a whole week to do the same task on other game without some GPT.
3. Thank you once again, I really appreciate your support. I'm dedicated to do more games, so stay tuned! Have a nice time of day you have :D
Enjoyed playing it, the AI was hard enough to keep it engaging and was a well executed game.
The game is pretty phenomenal. I had a great time. I had 2 scores, 92, and 94. Neither seemed to get registered. Just a heads up.
That is weird, there might be an issue that you have to wait until it submitted, cause if you'll switch to other window fast - it might not be sent. There will be a confirmation text after it submitted.
I'll check it out now, but if it's not too hard for you - could you try to submit some score once again? You have to enter a name and press "Submit" button and wait for a few seconds.
Nice game, the AI is really well done, but it feels more like air hockey than soccer.
It's over , I'v been humiliated by an ai with a 3/11score. great game tho!
Really fun game! I enjoy the combo system which really makes for a tense experience at the end of a rally when you know there are a lot of points on the line. The music is epic lmao! Great submission
The quick speed of the Ai and the ball speeding up makes for a really entertaining game



Leave a comment
Log in with itch.io to leave a comment.