
So I’m working on this project I call ‘Lone Pong’ I’ve been working on for months. The idea comes from a lesson from a game programming online course by DiLO Academy on creating a pong game with the Unity engine. I didn’t finish the course by the way. Every time I tested the project, I found myself playing pong alone.
So I thought that I could modify the script, make it a mobile game controlled by touch, single-player, add a chat-like mechanism every time the ball bounce, and monetize it with an ad. That seemed easy. Just a few more things to learn, right?
Ha-ha.
Read the title.
Over months of frustration, distraction, and low motivation, I learned these kinds of stuff (most I’ll forget in days):
- How to implement effective and responsive multi-touch control on mobile devices. It’s the hardest thing in the project, I think, because many of its concepts are still beyond my comprehension. And when I asked a friend to test the touch control, he said it wasn’t responsive enough. Another reason why touch-screen is a terrible controller; It’s technically difficult.
- How to develop for mobile, especially Android. I learned stuff like SDK requirements, device screen resolution, orientation rotation, the difference between screen coordinate with world coordinate (ask me that, and I’ll still be confused), and the best way to test your game for mobile. Unity Remote app is quite convenient if you know the right setup, and your game doesn’t mind the dropped down frame-rate. Really, it’s just projecting display to the mobile device. But for this project, Unity Remote couldn’t simulate the responsiveness of the touch control I wanted to implement, so I stopped using it. Instead, I save the APK file on OneDrive, access the file from the OneDrive mobile app, download, and install. A little bit complicated, but it works for me.
- To make chatboxes appear every time the ball bounces to a racket, I learned layout components so the chatboxes could show aesthetically correct. There’s a lot of things to think about the mechanism as to how and when a chatbox appears. After a lot of trials, it’s still imperfect.
- To show a scripted chat conversation, I learned how to read from a text file (a concept I learned the hard-dysfunctional way before finding the easier-better way) and store the data from the file to a List (a data format I’ve just learned).
- To show a log of the conversation, I had to learn about scroll rect/scroll view. It needed a long time until I get it working properly.
- I have to re-learn how to implement audio and manage UI in the game. As simple as it may sound, a toggle button is a damn-difficult problem.

Of course, there’s a million little things I had to learn and re-learn. Not to mention a bunch of stuff I have to learn to add to this project, like social media sharing, tutorial, mobile-ad implementation, animation, polishing, etc. Sure the best practice is to learn only one thing per project. But if we just want to learn a feature or technique, isn’t it better to implement it to a halfway project than start from scratch? Well, sometimes it is. Next time, I’ll try to limit new things I want to implement.
I’ve been trying to always have a non-zero percent progress per day for this project. But I think it’s still unproductive. I feel that there’s a lot of impediment to my progress that makes me vulnerable to distraction and procrastination.
Lack of technical skill to make this game visually fancy should not be one of them. Sure, my design skill is limited, but the project never intended to showcase its visual beauty, rather its gameplay and writing. Still, I feel the game will impress fewer people with its current visual style.
I also lost some motivation to give 100% in this project throughout the writing process for the conversation. I thought that I can’t make an engaging and compelling dialog to showcase. From there on, I started to think that this game is a project that only need to be finished; not promoted. Still, I want to try share and ad features. However, I have some idea that may could improve the writing.
But the largest hurdle in this project (besides Genshin Impact and Mobile Legend), is my own laptop. I’ve met blue screen twice! On Windows 10! It makes me rethink my game-dev learning plan. Should I hold off from using Unity until I have enough money to buy a more suitable PC? Should I just focusing more on using lighter game engine like Twine or Construct?
The answer lies after I finish this darn project.
Anyway, this devlog has become too long and whiny. But with this, I can see the progress I’ve been going through and the things I need to fix. Also, I think I have a grasp idea now on what part of my game-dev journey needs help.
But I need to get this project done first!
