8-Bit Golf


8-Bit Golf is a side-on golf game using Defold’s built-in physics engine to move the ball around. The graphics are simple 8-bit style pixel art with a limited colour palette.

The aim of the game, unsurprisingly, is to chip the ball around each level and drop it in the hole. Not as easy as it sounds though as the levels are like simple mazes with obstacles (and gravity) hampering your efforts.

Lots of potential for variety here - different types of ball charateristics, various hazards, wind etc.

All simple stuff though from a technical point of view.

Targetting Android and browser.


@Ben_James! You’re back! And with a game that I’ll surely enjoy! Good luck!


Had a very productive week working on 8-Bit Golf with Defold. There are now 12 playable levels - all one-screen-wonders so far; the harder set of levels will be larger and scroll around with the ball position.

No major technical hurdles apart from some tricky behavior with the ball sometimes bouncing strangely on flat surfaces of the tilemaps. To fix this, I’ve created some flat collision objects and added them manually to each level - not ideal but it works.

Next week, I’ll be working on the harder levels. Some of these will have objects that interact with the ball in different ways - wind generators, sand traps etc.

Early demo is up on the Defold community page here.



Love the minimalistic style and surprisingly hard! :smiley:


It seems it’s a debug build that’s been uploaded there, and that means it will perform quite poorly on Chrome. You can either check the “Release” flag (if you don’t use native extensions) to create a more optimised bundle.
If you do use native extensions, you currently have to use an .appmanifest. You can download one from here. We’re currently fixing the “Release” button for native extensions too, but it’s one or two releases away still.


Thanks for the heads-up. I actually built the demo version automatically from the Defold community page, which didn’t give me the option to select a release build. I’ll make sure the next one is built locally in release mode though :slightly_smiling_face:


Aha, interesting! I would think that the release option is on by default in the automated build on the community page (I’ll check with @samuel.nystedt and @Axel-old-account). Do you use native extensions?


Fully agree with Sven. I especially like how the background looks.

You should definitely make the first couple of levels easier, though. As a creator, you likely already consider them trivial, but when the player is still getting the feel of how the ball behaves, how far full power gets you, how impacts on walls work etc, even the first level can be quite gruelling, and then you fall into water and have to start again.

I ended in that level where you start at the bottom and have to get all the way up (no water or anything else, I think it was the fourth one?) and after multiple tries only managed to get into the hole on stroke 8 or something. It felt bad. It would probably not be as bad if the game ran faster (hopefully the release mode fixes that), but you should consider giving the players more leeway with the number of strokes and start off with some really simple holes, like a flat surface with a small hill in the middle.


Thanks for the feedback! I’m in the process of adding 12 ‘easy’ levels to allow the player to get used to how the game plays. The demo levels are normal mid-tier difficulty so should be reasonably challenging. What I want to avoid is having annoying levels that prompt people to rage quit!


Really a great game. Makes fun to play ! I would like to have an arrow or small arrows while i am adjusting the strength of the hit. Just to be sure in which direction it will fly.

Cosmetic stuff: is it possible to put a trail (semi transparent) on the sphere, while its moving in the air ? Did you tried it?


Oh yeah - forgot to mention one thing. One thing that inevitably grates on me in pretty much every golf game ever is waiting for the slowly rolling ball to come to a complete stop. While it’s something that’s always going to be present to some extent, it would help if you added some subtle unintrusive sound that would let you know you can try another stroke. (The hourglass icon already does something like this, but a sound would be better, I think)


I would, too! Adding a task on this, thanks for making us aware.

Oh, and I found the game quite difficult—never once made it under par. It’s probably a matter of taste, but I would love to see a bit more friction to the surfaces, in order to more easily “plan” your route. For reference, check out Desert Golfing, which is probably the mobile game I’ve spent most time on.


One note on the input. In these types of games, I always find my finger is in the way of gameplay. Personally, I like it when games allow you to do the input “elsewhere”. Here’s an example: nano golf

One that note, there could be a “hard” mode where the force/direction is going backwards instead. That should make it more difficult to predict the the trajectories.


Yes, I’m using one extension for the Android release.

I wondered about using the reverse method for angling the ball (like in Angry Birds) but at the moment the ball is sometimes at the edge of the screen so there isn’t enough space for that to work.

@zl.kraljevic - Thanks! I’ve thought about putting in a trail, yes but not implemented it yet. A good idea though so it will be done!

@Axel-old-account Thanks for the feedback. I would like some more friction too so the ball doesn’t roll for so long. I’ve got the friction value and angular damping at 0.99 though so I don’t know how to make that happen yet.


If you roll with Mathias’ suggestion that you could hold and drag from anywhere on the screen, this isn’t that much a problem though.


Exactly, that’s what I referred to, that you can click anywhere. It’s still obvious that you control the ball since the force and direction is displayed there


Yeah I get what you mean now. Sounds like a good idea so I’m giving it a try now.


Another very productive week working on my golf game.

There are now 3 sets of 12 levels, easy, normal and hard to play through. I’ve added a few objects to interact with on some levels such as anti-gravity lifts, mechanisms that move the ball around etc.

Thanks to everyone who made suggestions a week ago. I’ve worked hard to implement most of them:

  • the clicking and dragging control of the ball can now be done anywhere on the screen so your hand wont get in the way on the mobile version
  • some trails have been added to the ball to make it more visible when moving around
  • levels have generally been made easier to clear with higher par numbers
  • an arrow has been added to the ball direction indicator to remove any doubt what that’s for
  • the game has been renamed “Furious Golf” given that’s probably how you’ll feel after playing it for a while

Community page has been updated with the latest version. This is the release build so shouldn’t be slow and laggy like before - play HTML5 demo



Nice! The difficulty progression feels pretty good this time. And the fact that it runs faster helps a lot. First hole that gave me some serious trouble is Easy 7, but by that time I felt it was my impatience / lack of skill, rather than the game being unfairly difficult, so that’s good. And I liked that the next hole was very easy so I could take a breather.

I love the design of the first part of hole 12 Easy. It’s easier to execute than it looks, so getting up there made me feel real good. Some notes:

I wasted a couple of strokes by clicking the ball at first. Maybe you should implement minimal power required for the stroke to count.

There’s a minor bug when the ball falls off a ledge after it came to an almost complete stop if you already started to get ready for another stroke.

Speaking of this, you can sometime exploit the mulligan mechanic by shooting the ball just as it’s about to fall of a cliff and mulliganing immediately, so that it’s still when it respawns with no stroke lost.

After taking a mulligan, the old ball takes way too much time to disappear. I think the same happens if it falls into water.

There needs to be a way to scroll around the multi-screen levels. Being forced to shoot over a body of water without knowing what’s on the other side doesn’t feel very good. Perhaps a “move screen” icon which could be clicked and dragged to drag the map around when the ball is not moving? Maybe a minimap would be enough.

Though I was advocating for less difficulty previously (and I think it’s in a good spot), I think it would be good to put some limit of the mulligan option, as the only thing that stops me from overly abusing it is that I often don’t want to bother opening the menu when a corrective shot might do the trick.

If you hit water with your first strike, there’s no downside to restarting the level. Maybe it could be done automatically?

I’m always trying to close the menu by clicking elsewhere.

I’ve managed to have the ball come to a stop on the ceiling on hole 8 hard above the anti-grav mat. I feel like you should exdploit this behaviour in some future levels more.

On the other hand, on hole 9 hard the ball just got stuck hovering and I had to mulligan. That shouldn’t happen IMO.

If the ball falls into water while you have the menu open it won’t die until you close it. If you mulligan at that point, you get reset back to the start of the level. In deep water the game even allows you to play from the bottom, though you have to use the same trick to get out.

The top of the arrow sometimes gets “stuck” on the ball during a shot. It happened to me a couple of times, but I haven’t found a way to reproduce it.

The strokes counter should probably turn red sooner - if you’re on par + 2, it’s still white, but you can’t possibly finish the level.

I believe the bug where the ball bounces wrong if you hit the boundary between two tiles still happens sometimes, though I only saw it happen when bouncing against the ceiling.

I would love to see some variations on water, like fire that would burn the ball up or acid where it would dissolve, for variety.

…and that should be it for now.


That’s a really helpful and concise set of observations and suggestions - thank you!

I will address most of these in the coming days. A couple of things I’m not sure I’ll be able to do is the arrow head bug - I’ve only seen this once ever! And the “bad bounce” you get occasionally when hitting the join between two tiles - I’ve already manually added collision boxes to all flat surfaces on every level so at least it doesn’t happen when hitting the ground. As you can imaginee that was quite an arduous processes. I don’t even want to think about having to do all 36 levels walls and ceilings like that too.

The ball not disappearing thing I’m aware of. Right now, the ball trails are a static particle emitter at the location of the ball, so when ‘teleporting’ the ball to a different location these trail particles still persist for their lifetime at the old location. I may have to scrap that and write my own trail code as I don’t think you can force a existing particles to annihilate.

Thanks again for taking the time to play and report back :slightly_smiling_face: