Can I actually create a video game? I asked myself this question and then I took a week of my vacation to find out the answer to this question. Actually, I planned this as my spiritual retreat 1.
Two weeks before my retreat, I used a weekend or two to make myself at least comfortable with the programming language Lua and the game engine love2d (or LÖVE) 2. I had some prior experience in Lua, but I was not up to speed. Lua is not a difficult language. Tiny, limiting, but not defeating. It’s kind of fun to write Lua. love2d is not a difficult game engine also. So, I was able to do some rudimentary game programming before the retreat.
I selected a game idea that I can probably do a lot in one week: a puzzle game. Why? No collision detection, no physics, no AI, no input/output lag management, no camera angle, no scrolling, no nothing. It eliminated all the hard parts of game programming. Also, as I am getting older, my reflex sucks. I can’t play platform and action games like when I was young 3. So puzzle game is a good and easy choice.
I further reduced the difficult of this by ignoring graphics and sound. A game that has left a lasting impact on me is a game called TIS-100. The game has no graphics and sound except a text-based environment and beeps. But the game is super original, at least I like to play it. So, I decided to copy the TIS-100 minimalistic approach 4. I don’t even want to use sprites.
I also decided to be not super creative for this one in terms of game play. And therefore my choice is to implement a Picross game. My wife likes to play Picross. So, I want to design a game that she will enjoy playing. This is the general goal. She is like the QA lead of this game project. Other subgoals grows organically. 5 The title of the game is called PICR-033 (which has been renamed to PIKR-033 later).
My wife and I decided to make it an enjoyable retreat. So, she suggested going to the nearby park to spend this one week retreat. She painted there. I programmed. It sounded super stupid to take a laptop and program in a park. But it turned out to be quite nice. For one big thing, there is no Wifi there. I was able to completely unplug myself from my work 6. I have the entire Lua manual and love2d API with me offline. If I needed on some very rare occasions of producing some art, I must download the references before going to the offline park. If I really needed to check anything online during programming in the park, I used my iPhone with a super tiny screen. I did not expect that this can boost my productivity and it actually made me reflect how distracting Internet on a work computer can be.
As I was technically on vacation, I took rest outside on the lawn or by the lake whenever I like. I had my lunch in the park restaurants. I visited the animals there. I worked on the lawn with some lovely Canadian gooses. I worked with the scant of the flowers in the air.
And after a week, well, I have a playable video game. It is not 100% finished, my estimation is like 60%. But I will continue working on it 7. I have a lot of fun 8.
To put it lightly, I found some aspects of my job kind of annoying. Starting from this year, I have some negative feeling about my job. Please note that according to research 62% of the researchers in my category have some kind of mental health issue. I thought that’s occupational burnout, but not everyone would agree with this self diagnosis. So, I write “negative feeling” here. A “negative feeling” is surely an understatement. But I don’t want to dramatize it too much. I feel that my service is only about filling out some (boring) boilerplate of my existing software for a lost course. Even for my research, I now have almost no feeling when a paper has been published (even in a so-called “high-impact” journal) or even at the point when I received accolade. My feeling about my academic career has been so numb. Everything about it is becoming meaningless, if it is not already meaningless. The Kardashianization of academia deserves heavy criticism. I hate doing any self promotion these days as I don’t need to. Because of that, I have become even more aware of the dark side of the academia. Even for the area that I used to find it quite enjoyable, namely writing and maintaining open source software, is becoming a source of repetitive, demanding but unrewarding chores. Maybe that’s simply my own mid-life crisis. But can I afford another career change? It’s almost impossible. Also, I know that grass is not greener elsewhere. So, that’s the (true) nature of having a job. I compensate by doing something else to make myself happy—a part of my life that I ignored for perhaps two decades. I play more video game. Also, I take some German classes again to improve my speaking (even without the need to pass any exam). It makes me feel better, but it doesn’t provide a complete sense of relief. I still have to face my job. I still enjoy programming and making things. But the creative aspect has been deprived of due to the boilerplating and software maintenance. Now, I have to think about the long term consequence of putting anything as open source / open access, i.e. I have to maintain it like forever. I know that the nature process of working with the world I am living in. But I really want to be able to do something creative again. I thought about the 8-year old me. I enjoyed drawing, even though my drawing was (and is) super bad, which I wrote about it previously in Chinese. I did not have a computer at the time. Not even a game console. But my neighbors and classmates got a game console (mostly the Famicom, aka. the Japanese NES; or the NES should be the Western Famicom). Of course, the talk between my classmates was mostly about video game, if not about the latest anime. I liked to go to my neighbors to watch them playing their latest video games, be it Rockman 2 (aka. Megaman 2), that Kunio-kun soccer game, Double Dragon II, or that weirdo Dragon Ball Z Game that one has to play with barcode. There was so much fun even just watching. I hoped that I had a computer, but I didn’t (well, up until perhaps about 7-8 years later when I was in secondary school). I read or watched about the latest technology on the TV. One day, I watched a segment on a little gizmo called handheld scanner. That’s magic! The anchor drew something on paper and then put that scanner thing on top of it, the drawing got sucked into that green-only monitor and then that computer guy used the computer to edit the drawing. Oh wow! I don’t even know what computer it was (probably not Macintosh / MacPaint, probably some crappy DOS machine), but just wow. I thought, um… maybe if I draw some game pictures on paper and with that handheld scanner thingy, may someday that pictures could be turned into a video game? Then I drew. I drew some beat em up game like Double Dragon. I told my classmates that those pictures can be turned into video games. Most of them thought that I was nut. After all, they were right: I was nut. I did not have that handheld scanner. And well, I did have neither a computer. Now I of course know that even with that handheld scanner and a computer, I probably cannot turn those pictures into a video game. But now it’s 30+ years later. I was wondering about this again. I have previous attempts of writing a game, for example using Lisp with functional programming technique. But producing a game was not the end goal, but to learn the programming technique. ↩
My original idea was to program a NES game and learn 6801 Assembly along the way, because I found this book. But this is too ambitious as a one-week retreat. ↩
But it doesn’t mean I played platform and action games well when I was young. ↩
My original idea is to write a programming game like TIS-100. But I don’t think I can write a programming language (and its interpreter) in a week. But the current project has some elements of it. ↩
When I was young and after playing Mario’s Picross on Super Famicom, I produced some Picross puzzles on paper for my classmates to play. But they were uninterested. I thought even at the time to release a doujinshi with picross. But well, I did not have a happy secondary school life. ↩
From this year, I decided to uninstall all work-related applications from my phone. Therefore, I can only receive anything from work with my laptop. It made me feel much better without the constant bombardment of work-related messages and anonying people trying to be funny. My Phone has only a few apps to keep it minimal. And almost no notification. ↩
Definitely, I will not release this game as open source software. I have been so fed up by maintaining open source already. See footnote number 1. Definitely also, I will not sell it. But I am still thinking whether I should release it publicly in a form, e.g. itch.io for free to play. ↩
I have great confidence that I can finish this game, because I know the audience of this project is not the people I feel comtempt for. It’s a great propulsion force. Also, during the development of this game I actually have another game idea like the programming game mentioned in footnote 4. I will surely reuse the elments in this current game. ↩