tldr: Father’s Day is tomorrow, and instead of falling into a consumerist trap and spending a lot of money buying something, I decided it might be fun to build my husband (father of my 2 kids) a simple game that he could play on his laptop. I’ve always loved mindless, or rather flow-state games where there are very few player actions, and the goal is clear - jump, duck, fall, restart. Last year, I went down the track of building games for my 7 year old, and it was a fun 3 weeks of learning and implementing. Before I could ‘level up’ however, many people fell sick and life happened and holidays happened and I started a new job, and I had to shelve all my hobbies away for a few months. Here I am now, 6 months later, back at it - and Father’s Day is as good a motivation as anything to get a new game going!
I have 4-5 hours today to complete this game, let’s see how it goes. I’m relying on AI of course, and some tutorials - and I have a bunch of notes and tips from my previous experience building 3 games fo rmy 7yo (Dictation Potato, Backpack Go and OddEven Cat).Let’s get started!
The Mechanics
An endless runner game consists of a few fairly simple game-actions. Its a great way to start building small games, and it can be customised to your interests and specific life situations. I decided to build an endless runner
Any endless runner game (Dino Chrome game, Subway Surfer, Temple Run etc.) has a few basic components:
-
Automatic movement: The character moves forward automatically.
-
Artefacts: The character interacts with these artefacts such as obstacles or loot, or power-ups.
-
Character actions: The character needs to react to the artefacts via actions such as jump, duck, or shoot.
There are many ways to build a game, but the simplest one I’ve found that helps me learn as I do, is to use JS, HTML and CSS. There’s no need right now to use any kind of physics engine, or any complex levels/saving type structure, so we can focus on getting the basics right with just these 3.
-
HTML
-
Vanilla JS for game loop, collisions, scoring
-
CSS for layout + fonts
We also avoid setup overhead and can keep everything in a few files and easily customise art, sound etc. Plus, I’m learning JS and I know it better than Python, so the choice is easy for me!
, I wanted to upload the pdfs of the school academic calendar (each child has its own calendar), and then create ical files, that I could add to my calendar apps.
This did not work well, and the 30 mins I had earmarked for this task and other sundries, has not been well utilised.
On the other hand, I did make 2 payments (not urgent), and set up 2 appointments (pending from last week).
I like to call this the internal 30 min bucket, i.e. what is the volume of disjointed task work I can undertake in 30 mins.
Today was:
- Try to achieve a time-saving thing using technology, and only get to 10% of desired results (learning that the required library for creating .ics files isn’t available in Chat GPT’s environment (?) and the best way ahead is to get a pdf- csv file that you I can convert to a .ics file).
- Make 2 payments to vendors
- Set up this repo and link the right files so I can start blogging.
- Make 2 meeting appointments. Disregard the 2 medical appointments because they involve talking to humans, and I’m not feeling upto it.
- I’ll admit I got distracted and read 2 articles about Tokyo Medical University and their practice re limiting the number of female doctors -this took 3 minutes, and in hindsight, was 3 mins wasted. I could have spent a minute reading one article (instead of 2) and started on an easy Sudoku instead.
That’s today’s 30 mins.