My name is Denys Almaral, a 3ds Max artist with game development dreams, becoming true thanks to UE4.
30 days ago (December 3) I re-subscribed to download 4.6, and decided to be serious this time in learning blueprint programming with UE4 editor. I tried before, but I only watched some videos and sample demos. This time, after an intense week of tutorials and sample explorations, I decided to start my first 2D simple game for android devices, experimenting with this gameplay: Where the first early version of my game born (YT Video)
Crabby Ball is a simple 2D physics platformer game in which you have to control the ball with little Crabby’s head, and the objective is to try to cross the ball over or trough a colorful sign. It currently has 12 levels.
Notes about my experience UE4:
I love the editor and blueprints programming, I already had a background programming with Delphi 7, MAXScript and I can read (read-only) C++ code. My intention is to avoid C++ programming and work only with blueprints in the editor.
I’ll keep sharing more notes about past and future development of Crabby Ball on this thread:
Translucent sprites
The first issue you will face when working with sprites with translucent material from using .PNG images is the drawing order problem. I assumed first that setting different depth (Y coordinates) will be enough to create the layers of my game… FAIL! Translucent materials in 3D engines are sorted by object position and they not take benefits of rendering Z-Buffer. Then the magic property is: “Translucency Sort Priority”, from Rendering category of sprite details.
Would be very bad if your gameplay depends on Physics and it behave different when running on different devices with changing frame-rate. Using console command t.maxFPS 40, I though was good to limit frame-rate to safe some CPU usage but while the game runs always fine in my PC when playing it on Galaxy S2 sometimes the ball behaved like having half of its gravity force. Removing the console command fix it, but my game is still not completely safe of glitches, specially when the level have just loaded the player jump and send the ball at very high speed… I managed to clamp its velocity vector after any impact but this is not very nice solution.
I have tried sub-stepping and many configuration combinations until my game is acceptable but I’m not completely satisfied. What I’m think is to avoiding, making my game-play depending on UE4 physics next time .
** Android compatibility and package size **
A lot is already said about this subject here in the forums and answerhub. If you are making a simple 2D game you will enjoy the developing process but your game will suffer a big disadvantage on google play competition because your app will require a nice GPU and more than 36MB (minimun download), while a similar 2D game made elsewhere will run on almost every phone with less than 10MB of download size.
This is when you left your project last night working perfectly then in the morning with your head full of new ideas to implement and then UE4 crashes on your face from the first time you click Play In Editor. Without modifying anything, without a clue, without apparent reason.
**Changes and additions: **
For the new update the ball will be bigger, double size … more fun and easy to handle.
New optional controls will be added: Tap left/right of the screen to move left/right and swipe up to Jump.
Was hopping today to work on main menu, level selection, options, and test new ideas… let’s see when I can get rid of the current crash
Hi @Fuchs, thanks for trying it, yes is not an easy task make good controls for a platformer that need movement precision, hope you like better the new controls in the next update
Very nice, a simple but fun game design. Clever, because it will mean making new levels will be pretty simple to do.
I played through to level 11 in one sitting, but had to call it quits there its very challenging - I’ll try again later
Personally I found the controls easy and intuitive to use, but I would be interested in trying the other controls you described (left right screen regions / swipe jump)
The game performed well on my S4 (given it sounds like you are testing on a S2 that’s not surprising) the player character does get a bit jittery when moving fast in one direction though, the clouds were still moving smoothly.
Do you have plans for collectables? I noticed with levels like level 8 you can actually take a slightly easier path by balancing the ball rather than trying to knock it over the top, having collectables along the top route would reward people for taking that path over the easier one which makes it more competitive and give it a higher replayability.
How about moving platforms in later levels? I could imagine a spinning platform with 4 prongs could be an interesting challenge.
In terms of aesthetics, I do like its simplicity. Here are a few ideas you can take with a grain of salt. Secondary motion on the player would be nice, a bit of drag on his claws, and maybe even some subtle rotation of his body when he is moving and overlap when he jumps and lands. It would be good to get his little feet moving as well, even if it’s just up and down in alternating pairs. I love how his eyes follows the ball, maybe even put a blink in there when he hits the ball from a great height. Parallax on those clouds would go a long way aswell
Its a shame about the engine size, the size of the download was something I noted straight away.
Sorry for being so wordy, but I think it has a lot of potential and am looking forward to seeing more developments!
Hi @Laz84! That’s was a nice constructive analysis of my game! Thank you very much!
I’m happy to tell you that many things you’re pointing out are already in the roadmap! for fixes and additions! And it’s great that you take the time to write me such a descriptive feedback!
The jittery of the player movement I thing is a bad synchronization of Camera Tick Event when updating the X position relative to the Player… I need to find a workaround on this to fix it!
Current controls are ok for people like me that came form PC games, but mobile players are not very friendly with these buttons, using both thumbs for lateral movement increase precision, but we need to get used to the swipe-to-jump. Both options will be available.
Yes! Crabby will collect sea stars (starfish)! I was against adding collectibles without a good reason, but then I found a good reason for it: You can spend Starfish currency skipping “hard to win” levels, unlocking new ball designs, and the most fun: Unlocking new mini-game modes, where you can also win more Starfish!! Already have about 5 modes in mind (Thanks to the easy of making versatile levels with UE4 )
The claws? Yes … they are already individual sprite elements that I can animate. More fancy animation and ornamental things could be added in a later stage, keeping the simplicity and keeping the SIZE bellow 50MB for upload to google play.
As you can see the ball has double its size! This was a hard decision because now I have to redesign all levels, but with a bigger ball the game play are more fun and easy to play for the starting levels.
Moving platforms? Yes… and maybe some buttons and doors
Thanks again, With more people like you giving me motivation and if the engine crashes allow me, I hope this game become something really fun.
Good news are that version 4.8 fixed many things and added new features that allow me to make it better
The only thing I try to no think too much about it is the problem with incompatibilities with many devices, what make my game very weak to compete with other 2D games that runs on any device.
New slowdown in development due to moving to new version 4.9, and dealing with many issues…
Additionally I have to take a pause on this for about a month because high workload… :-/