The camera is tilted instead of looking straight down, and my phone needs to be flat to be in the no movement neutral position. This is unpleasant in to ways: How I'm sitting right now makes it hard to look at my phone while it's flat; it would be much nicer to be able to set my neutral point so I could play with the phone mostly vertically. The combination of flat phone and camera angle is awkward, as when you're looking straight down at the flat phone it looks like the level is tilted, and the ball should be rolling. If you're sticking with flat always being neutral, the corresponding camera angle should be from directly above, imo.
After trying the phone and dying, I ended up playing on the desktop with the arrow keys, much more pleasant.
Your light is coming from a direction where the magnitude is the same in x,y, and z. This means there's no difference in shading between three of the visible faces. (Or, you're using shaders which does this for some other reason.) This may be an intentional choice on your part, but I think it'd probably look better with a light angle which gives more definition to the geometry. Especially the level text suffers from this.
On the last level, is the spinning obstacle at a slightly offset pace from the first moving platform? When I first saw the level, they were very poorly timed with the obstacle sweeping past where you'd go to get on to the moving platform right as the moving platform came closest. Waiting a bit seemed to slowly improve the situation, and I eventually got tired of waiting and just went for it. Still unsure if they're actually in sync or not.
I died the third time on the last level, and called it quits when it put me back at the start. A very harsh punishment.
Awesome! Make it a daily Wordle-style game! I need something new in my morning routine.
I think having a universal 3-life max is very harsh. I died on level 9 and was sent back to level 1. No way am I going to do the first 9 again, so I won't find out what was on 10.
I think it would be more casual friendly to have infinite repeats in every level, but you could have a total count of deaths, for people who care about their score.
Tempest had the best implementation of this. Every 3-4 levels was a checkpoint and with 3 lives as long as you cleared at least one level, you can start at your last checkpoint. If you died 3 times without completing the level, you have to start at the checkpoint below.
One of the first big games on the original iPhone after the App Store was shipped was “super Monkey Ball”, a port of a popular console franchise. It was basically this but with fancier graphics, many more levels and mechanics and cute characters. I remember being amazed how well it worked with the phone’s accelerometer and how good it looked back then. Hard to believe that was ~15 years ago already.
It is cool, but having to redo from the first level after 3 drops kills the fun for me. Of course some would like that aspect, but for me as a casual fun game it's a no.
I felt the same way at first, but it's ten levels, so you'd be done in one session if you could redo every level infinitely. This extends the fun a bit.
After 10 levels, it could be the same levels again, but with a time limit that gets shorter for each cycle, or something else to make it harder, like wind that blows the ball off course and changes direction all the time.
Marble Madness vibes. One of my favorite nostalgia games.
I think having 3 lives per level with it resetting just that level might be better for starters, then the 3 lives for the entire game being a “hard mode”.
Very cool! An issue I immediately had is that it seems to be coded for a horizontal plane being zero. This means I must hold my phone looking down at it, which isn’t how I want to hold my phone.
One idea is to sample orientation for a little bit at start, then consider the average to be zero. Then have a button that zeroes motion to whatever it currently is as a backup.
That way I can play your game without getting up from bed just yet.
My neutral position is tilting away from me, even. Not ideal but fun game either way. Reminds me of Oxyd: https://en.m.wikipedia.org/wiki/Oxyd (I've only played the nineties mac version)
I feel like that would make intuitively finding the zero point hard. At least with the zero point being horizontal, all you need to do is look at the world around you and see which way things fall.
You can always have a “bubble level” showing you the orientation. Anything is better than requiring a player to orient themselves very specifically to play at all.
You can get the ball off the ground if you turn your phone upside down. Then you can just sort of fly over the places where you'd normally fall. Takes maybe a minute or two to complete all the levels.
I wonder what could be done with a Super Mario Maker style community of people who make obscenely difficult maps. I guess maps where you have to hover the ball by rapidly flipping the phone would be just the start.
Idea: It would be super cool if the camera angle also shifted a bit when you tilt your phone, making the level look more like a real object. You would have to assume the relative position of the phone from the viewer, but that assumption is already being made (given that the view of the level is not from directly overhead currently).
BUG: If I make it to under the finish square by accident (falling off right before the end of a level), it still counts as a win when it should count as a death.
Modern game design would suggest it’s better to simply put a death tracker for those who want a challenge rather than impose tedium on those who just want to play the game casually
A win win would be if both types of people were happy, but the status quo frustrates one of them. It’s only a win if you stop playing because you’re satisfied, not because you’re annoyed. Games are supposed to be fun.
Plenty of games have a “zen mode” or “story mode” or “explorer mode” or any other kind of name to enable an option where’re you’re not severely punished by mistakes. Better yet, they usually allow you to switch modes mid-game. Which means you can progress at your own pace and appreciate everything without getting stuck and rage quitting.
Anecdotally, even if I never turn those modes on I find that the games who have them tend to be more fun and better designed in terms of difficulty progression. Examples include Celeste and Cross Code.
For this game, such a mode would even allow someone to see all the levels or practice in one where they’re stuck and then try again with lives turned on. That would be a win win.
This is some insane logic. The goal of the game isn't just to get the player to stop playing. Obviously two players haven't reached the same point just because one quit because he doesn't want to replay the starting levels again. This is known as "artificial difficulty".
you can speedrun by playing with the phone screen facing down. tilt it slightly and the ball will go super fast. you can sort of "fly", too, and climb up walls. i got to level 9 in like 30 secs like this
It doesn’t have a privation aspect but if you like games like this you might want to check out “Road to Ballhala” [0]. I haven’t completed it yet but I’ve been enjoying it quite a bit. The “dialog” is very well done.
I was laying on my back. Started up the game without resetting my phone to a flat state. Then the ball fell off the map. No automatic reset like the other levels.
Maybe this is a speed run tactic that can be used later ;)
I did it with arrow keys on desktop. Got lost 2 lives at level 9 and got frustrated so I hit full throttle ahead and basically bounced over all of the gaps. Then on mobile got to level 5. Cool! Thanks!
Nice. I made one where you should guide a sphere into a hole a few years ago. It was in 2D and I don't think it worked all that great. I'll see if I find it and post it here
I’ve been following your work ever since that Lightning talk on Three.js at the Carolina Code Conference. You’ve got a lot of talent and motivation, which is a killer combination.
Create a webapp from it. The typical usecase for an installable version. Add service worker and a manifest.json. that way on android phones you have an icon.
I'm extremely disappointed to learn that Firefox allows access to motion sensors by default and provides no option to make it ask for permission. It can only be disabled completely but this silently breaks legitimate uses like this one. This is a privacy nightmare. There is so much that can potentially be inferred from motion data, like user identity, mode of transport (maybe even location), what they're likely to be typing in the url bar or in an iframe, emotional state, a bunch of health information...
edit: Nice game, though. I wonder what it's made with. There seems to be a huge amount of generated shader code in the js. I wonder if that could be avoided.
Also doesn't seem to work on FF for Windows. Can click thru initial [Start] screen, but no clicks are effective on the initial game screen showing the layout and [start] (at least none that I could find).
The camera is tilted instead of looking straight down, and my phone needs to be flat to be in the no movement neutral position. This is unpleasant in to ways: How I'm sitting right now makes it hard to look at my phone while it's flat; it would be much nicer to be able to set my neutral point so I could play with the phone mostly vertically. The combination of flat phone and camera angle is awkward, as when you're looking straight down at the flat phone it looks like the level is tilted, and the ball should be rolling. If you're sticking with flat always being neutral, the corresponding camera angle should be from directly above, imo.
After trying the phone and dying, I ended up playing on the desktop with the arrow keys, much more pleasant.
Your light is coming from a direction where the magnitude is the same in x,y, and z. This means there's no difference in shading between three of the visible faces. (Or, you're using shaders which does this for some other reason.) This may be an intentional choice on your part, but I think it'd probably look better with a light angle which gives more definition to the geometry. Especially the level text suffers from this.
On the last level, is the spinning obstacle at a slightly offset pace from the first moving platform? When I first saw the level, they were very poorly timed with the obstacle sweeping past where you'd go to get on to the moving platform right as the moving platform came closest. Waiting a bit seemed to slowly improve the situation, and I eventually got tired of waiting and just went for it. Still unsure if they're actually in sync or not.
I died the third time on the last level, and called it quits when it put me back at the start. A very harsh punishment.