Alessandro Cuzzocrea

Push Golf and the Unreal Engine 5 Petit Contest: Creating the Game (Part 2)

Title screen for 'Push Golf,' featuring a humanoid robot pushing a giant golf ball on a vibrant green surface. The word 'START' is displayed in large letters on the left side, with 'Press ENTER to start' at the center. A stylized golf course and bright sky serve as the background

Unreal Engine 5 Petit Contest is a video game creation contest based on Unreal Engine.

There are not many rules to follow to participate in the UE5 Petit Con except participants must create their entry using Unreal Engine.

This contest is being hosted and managed by Historia Inc. It’s an Unreal Engine-based game development company based in Tokyo, Japan. You may know them for games like the LIVE A LIVE (2022 remake) and The Caligula Effect 2.

I took part in the Unreal Engine 5 Petit Contest 21st edition this March, and this is my story.

Push Golf and the Unreal Engine 5 Petit Contest: From Nostalgia to a Game Jam (Part 1) - thumbnail Push Golf and the Unreal Engine 5 Petit Contest: From Nostalgia to a Game Jam (Part 1)

UE5 Petit Con 21’s Theme: OSU (おす)

The Unreal Engine 5 Petit Contest (also known as UE5 Petit Con) is a fascinating game jam with simple rules: make a game using Unreal Engine.

The theme for UE5 Petit Con 21 was “Osu” (おす). In Japanese, Osu can mean several things—like “push” or “to persevere”—leaving the interpretation up to the participants.

I went with the most obvious meaning—push (lol). But I can imagine more creative developers going wild, incorporating multiple meanings or even obscure interpretations into their games.

Screenshot of Historia's website featuring the Unreal Engine 5 Petit Contest 21 page. The page prominently displays cartoon bear characters wearing karate uniforms on a colorful, stage-like background
Unreal Engine 5 Petit Contest 21 page on Historia’s website

UE5 Petit Con 21 ran from February 16, 2024 (Friday) to April 7, 2024 (Sunday)—about seven weeks. This relaxed timeline made it easy to work at your own pace without feeling rushed.

Judging from the entries in previous editions, most games look like fun, experimental prototypes.

There’s no pressure to deliver a polished experience; all you need is a fun prototype based on the theme. The goal is simply to participate, experiment, and enjoy the process of creating with Unreal Engine 5.

The Prototype Phase

I have some experience with 48-hour game jams, in which you have to think and act fast if you want to complete your game before the deadline, but this time I felt the whole 7 weeks gave me more time to breathe and experiment with various alternatives.

I started with the usual brainstorming and prototyping phase, but honestly, I couldn’t come up with anything satisfyingly fun to play.

Unreal Engine editor window displaying a simple 3D level with a curved pathway, a green staircase, and a directional red arrow in the center

One of the goals I had for this game jam was to come up with one simple and elegant main game mechanic and keep fresh in multiple situations. Sounds easy, but I can guarantee you that it is absolutely not.

Sadly, after a couple of false starts, I couldn’t come up with anything interesting. It was like my brain could only come up with the most boring stuff possible.

Unreal Engine editor window showing a 3D scene with a humanoid character pushing a giant golf ball labeled 'TEST.' A red arrow points to the ball, and the skybox is a gradient of blue and purple. The Outliner and Details panels are visible on the right side of the screen, displaying scene objects and their properties

The clock was ticking, and my limited knowledge of Unreal Engine didn’t allow me to create anything really compelling. I ended up settling with this kind of boring game in which the player goes through an obstacle course pushing a giant golf ball to the goal at the end of the obstacle course.

And thus, Push Golf was born.

Push Golf

The main goal in Push Golf is to push a giant golf ball into the course’s goal hole as quickly as possible.

It’s a very small game with 5 courses of increasing difficulty.

The first course is straightforward and serves as a tutorial, helping players get familiar with the controls.

With each new course, the challenges increase, testing player reflexes and decision-making.

Gameplay screenshot from Push Golf, showing a humanoid robot pushing a giant golf ball along an orange track. The track is obstructed by large rotating purple windmill blades. A yellow timer in the top left corner shows 00:43.783, and a yellow golf ball icon is displayed below it

To spice things up, I introduced 3 collectible golden ball power-ups in each course. Collecting each power-up enlarges the ball, increasing max speed and acceleration, but it decreases handling, creating a fun risk-reward trade-off that lets players choose their own approach.

The ultimate challenge is collecting all golden balls in every course while keeping total time as low as possible. For the visuals, I aimed to keep things simple and readable. I created the initial 3D models in KenneyNL’s Asset Forge for quick prototyping and then refined them in Blender for more customization. This combination of tools helped me assemble the courses quickly but with added flexibility for final adjustments.

Gameplay screenshot from Push Golf, showing a humanoid robot pushing a giant golf ball toward a glowing yellow ball on a green, enclosed platform with orange borders. A timer in the top left corner displays 01:25.417, and a yellow golf ball icon appears below it

For the player model, I went with the classic UE5 Mannequin (known as Manny or Gray-man in Japan), which felt fitting as the mascot of Unreal Engine, especially for a UE5-based game jam.

The game’s music and sound effects were sourced from royalty-free libraries, mostly pulled from my Humble Bundle library.

Blueprint vs. C++

Almost all of Push Golf’s game logic was built using Blueprint (Unreal Engine’s visual programming language), which surprised me since I initially thought C++ would be the default, “better” way to code a game in UE.

Boy, was I wrong!

Blueprint isn’t just faster for iteration; it also feels far more intuitive for interacting with Unreal Engine than using the C++ API.

The only thing to watch out for is creating “spaghetti blueprints,” which takes a bit of discipline to avoid—but isn’t that the case with any regular code?

And if you ever need the precision of C++, you can always integrate it into Blueprint where needed, getting the best of both worlds.

Unreal Engine Blueprint editor displaying an Event Graph for the BP_Player class. The visual scripting layout consists of connected nodes handling movement, input, and logic for the player. On the right side, the Details panel shows properties like max speed, acceleration, and other gameplay parameters
Blueprint Event Graph in Unreal Engine 5, showing the logic for player controls and movement in Push Golf

Making the Trailer

Every game entry for the Petit Contest requires a gameplay trailer.

I usually avoid making trailers for my games because I’m not very familiar with video editing software and also just plain lazy when it comes to stuff like this, but this time, I had no choice—so I took the opportunity to expand my skills. First, I needed some solid footage.

I recorded myself playing Push Golf for about 20 minutes using OBS. I was impressed by how smoothly everything ran at 4K@60fps, and recording didn’t impact the game’s performance at all.

Once I had the footage, it was time to edit it into a coherent trailer. I started with Kdenlive, a popular open-source, non-linear video editor. It worked well initially, but as I scrubbed through my footage (even using proxy clips), I ran into lag and frequent crashes, causing me to lose a lot of progress.

Frustrated, I switched to DaVinci Resolve, an incredible piece free software by Blackmagic Design. After a couple of tutorials to understand the UI and workflow, it felt intuitive. The performance was rock-solid, and Resolve’s editing workflow just made sense.

Editing interface of DaVinci Resolve 18.6, where a trailer for Push Golf is being edited
Making the trailer with DaVinci Resolve

It took me around 7 hours to complete the trailer, but by day Apr 2 2024, it was finally uploaded to YouTube.

The last step was submitting the Petit Con entry form with all my game info and the link to my YouTube trailer.

YouTube Live

On April 19, 2024, the results of the 21st Unreal Engine Petit Contest were streamed live on YouTube. The broadcast highlighted both winning entries and other stand-out submissions from the contest.

Unfortunately, Push Golf didn’t make the cut, but watching the creativity on display in the other participants’ trailers was inspiring. Some entries took the theme to new levels of craziness and innovation, which made me realize

I could have pushed both the theme and gameplay further. In the end, my entry was neither stellar nor poor—just somewhere in between.

Oh well, there’s always a next time!

/r/DestroyMyGame

I also posted my game trailer on the subreddit /r/DestroyMyGame. As the community description says:

Destroy My Game, a community for brutally honest feedback for game devs.

Right on!

I received plenty of helpful feedback that I’m summarizing/paraphrasing here:

Pretty spot on and fair. I’ll surely treasure and keep in mind these feedback comments for my next game.

Gameplay screenshot from Push Golf, showing a humanoid robot pushing a giant golf ball toward a glowing yellow target ball. The scene features interconnected orange barriers arranged in a star-like pattern on a bright green surface. A timer in the top-left corner reads 00:09.167

Conclusions

Joining this contest was a great experience, and I had a ton of fun throughout the process.

Not being very familiar with Unreal Engine initially, this project helped me quickly break the ice with UE5 and feel more comfortable with the tools.

Unreal Engine editor showing a 3D scene from Push Golf. A humanoid robot pushes a giant golf ball near a starting line marked by large 'START' letters. The course ahead features orange borders, a checkered finish line, glowing yellow targets, and a 'GOAL' marker in the distance. The Outliner panel on the right lists scene objects and lighting elements

It’s always exciting to compare your work with others’ at the end of a game jam, and with everyone working on the same theme, I gained valuable insights into different creative approaches.

As always, after receiving player feedback, I’ve realized that I tend to rush through the idea and prototype phases and jump right into full development.

This approach often leaves my games with a less solid or engaging foundation, so it’s something I’ll aim to improve in future projects.

If you’d like to play Push Golf, you can find it on Itch.io here.

That’s all for now Folks!

Gameplay screenshot from Push Golf, showing a humanoid robot pushing a giant golf ball along a narrow green path bordered by orange barriers. Yellow sparks scatter to the left, and the path leads to an elevated area with a square hole in the distance. A timer in the top-left corner displays 00:44.917

Clocked Hours Breakdown

CategoryDuration%
Game Development34:38:0852.01
Marketing08:26:2512.67
UI/UX08:13:3612.35
Post-Release06:33:209.84
Audio02:36:203.91
Art01:57:092.93
Effects01:47:362.69
Miscellaneous01:15:511.90
Uncategorized00:51:541.30
Learning00:15:200.38
TOTAL66:35:42100

Related Articles

Push Golf and the Unreal Engine 5 Petit Contest: From Nostalgia to a Game Jam (Part 1) - thumbnail Push Golf and the Unreal Engine 5 Petit Contest: From Nostalgia to a Game Jam (Part 1)
Ludum Dare 50: Delay the Inevitable - thumbnail Ludum Dare 50: Delay the Inevitable
I Participated in Ludum Dare 47 and Made a New Game in a Weekend - thumbnail I Participated in Ludum Dare 47 and Made a New Game in a Weekend
Tearful Heart Retrospective - thumbnail Tearful Heart Retrospective
Lands of Ambustio: A Retrospective - thumbnail Lands of Ambustio: A Retrospective