Saturday, 7 December 2024

So I tried to make a video game...




It's been a roller coaster of a year - I say this almost every year - so I guess it has been a roller coaster of almost a decade. But this year was probably the toughest and yet at the same time the most enlightening out of all of them. 

Long story short, I took some extra time off from full time teaching duties. Step away, rethink my life and how I want to spend the second half of it now that I've crossed the 40 year threshold.

I always wanted to finish making a game. I learned a bit of Unity back during COVID, but when home learning started ramping up and we started looking into some really exciting ideas at school - introducing an idea called 'Quest' (something I would really like to reflect back on one day here) - I ended up putting the game stuff to the side. 

Fast forward 4 years and as some of you may or may not know, Unity went through some weird payment stuff and so I decided to give the Godot engine (an open source free engine) a go. 



The Learning Process

I found some free and discounted online tutorials for Beginner Godot courses and also for pixel art. I wasn't too worried about the audio part since I did a lot of that stuff in uni so I just needed a refresher (and some new gear since I sold off most of mine when going into teaching)

Learning Godot was quite a challenge. I always felt that I was missing something and wasn't sure how the tutor went from A to B and more importantly, WHY they did it that way. Eventually I came to accept this feeling and move on, hoping that later things will start to connect itself in my brain.

Pixel Art was really interesting. I don't consider myself an illustrator at all. I doodle occasionally, but never really worked on it to improve. But the thing that opened my eyes with the pixel art learning was it taught me what NOT to do when teaching a skill. 

In theory their approach made sense. "I do and then you do". But the problem was that too much of this resulted in feeling like I was following a Art 4 Kids Hub tutorial, where I didn't really learn how to draw or create my own pixel art - all I learned was how to copy the tutor's work.

Music wise, I needed to learn how to use a different DAW (Digital Audio Workstation) since I only had a really old version of Cubase that ran on a really old macbook that I don't own anymore. Also bought a mini MIDI keyboard and deep dived into the world of VSTi's (virtual instruments) for a week or so. This would lead me to dipping my toes into some basic musicology stuff like the "Cycle of 5ths" and some common 4 chord chord-progressions.

Putting it all together

The most challenging part of this was not setting a plan for when to work on the coding, the art assets or the audio. It was constantly switching hats. From programmer, to level designer, to animator, to background designer, to audio designer, to music composer, etc... 

Sometimes I would sit down and create a bunch of different 'sprites' (2D models) and some animations but completely forget that I did these because I would get stuck on some bug in the code for a few days.


      

I think the most fun I had was composing the main background music for the game. Creating layers, trying to do build ups, breakdowns, beat drops, and seeing how it all came together. It did not feel like a chore at all. But to be fair I only needed to make 2 songs. One for the menu and one for the game.



The game itself was a very simple infinite runner platformer. Think like, pared back visuals like Flappy Bird but jump platforming like Geometry Dash or Jetpack Joyride.

I've only been learning these for about 3-4 months, so I didn't want to bite off more than I could chew. I just wanted to finish a game - from start to finish - and make every asset on my own and experience that journey. 

In the end I did end up using some other people's assets for a couple of sound effects (footsteps, jump and game over), but still very proud that I was able to create the rest of the assets myself. 

Reflection

I've been making mini updates to the game here and there. Some new sprites, updated backgrounds, fixed some bugs and added small features like a random quote on the start menu (like Minecraft).

I think the thing that really helped me get this completed was thinking about the target audience. It's aimed at kindergarten students (as that was the grade I was teaching before I went on leave) and there were a couple of kids who really like ninjas. 

Had I just tried to make this very generic, aimed at for everyone, then it probably wouldn't be near as engaging. 



The game

Anyway, if you want to check it out, you can do so HERE.

It works on mobile and desktops. 

I'm thinking of little adjustments to make to it moving forward, but nothing too crazy. Maybe some little polishes here and there and then move on to starting a new, slightly bigger project.


Epilogue... (kinda)

One thing that I did take away from this - once I started working as a casual, although I didn't have any work to take home, I was still feeling pretty exhausted from needing to be thinking on my toes all the time. Because of this, the development slowed to a crawl until I forced myself to work through the sleepiness just to get a little bit closer to finish it. 

This is something that I hope to continue doing as a hobby. I have no ambitions in trying to pursue this hardcore and eventually make it a job. In a lot of ways, thinking about making this a job actually deters me. I think it will take away a lot of the fun and creativity if I make it something where my livelihood depends on it...



Sunday, 17 December 2023

Device for specific needs

When I first learned about linux OS and how it can extend the life of older machines, I tried to refurb my sister's ancient laptop that weighed more than a desktop by cleaning it out and booting it on Mint OS.



It worked out surprisingly well. The computer that used to refuse to get past the login screen on Windows xp, was now running quite smoothly. I could browse the web, watch videos, type of documents using the Open source office software.


Then I realised it had a video out port. So I thought, let's see if I can plug it into the TV and watch some YouTube. Sure enough, it worked. There was the odd stutter here and there, but it was watchable.


My thought would move on to seeing if this thing could run any games. I installed Steam and downloaded Team Fortress 2 and CS:GO. It barely ran and I needed to put everything to low settings and even scale down the resolution, making it look like I was playing from a POV of a person with bad eyesight who lost their glasses.



After this, I realised that I spent a lot of time trying to research and figure out how to get games running optimally on an old rig - even though I knew there would rarely be a time I would use it to do so. I didn't really have a purpose for refurbing the machine, just wanted to try.


I remembered doing something similar with those eePCs that were all the rage back in late 2000s, early 2010s. I got one on a super sale (shop misadvertised price, but had to sell them at that since it was on print) and at first I would use it for work (worked at an office at the time), something portable but could run some word processors and spreadsheets. Eventually I started to try and run some games on this thinking it could be a portable games thing. I ended up only being able to run a 90s game - Fallout 2 off GOG (Good Old Games) and I played it probably twice - once on a flight from Sydney to Tokyo and once on a bullet train from Tokyo to Hiroshima. 



So fast forward to today and I got an early birthday present in the form of the ASUS ROG Ally. It is supposed to be like a Steam deck but running Windows 11 so I can play games not just from Steam. 



The first thing I did with this? I uninstalled ALL productivity software. 


I learnt my lesson. The ROG Ally is going to be a machine just for games on the go (and the odd streaming videos via a dock). To be honest, there were tempations while setting up a dock with keyboard and mouse - thoughts of doing work on it, maybe some emergency video editing, etc... It all came down to "maybe if x happened..." or "what if..."



Kind of like trying to build the ultimate robot but you try to make it have no weaknesses and give it protection to everything while making it have the deadliest weapons. In the end it would probably just become a stationary metal cube.



I have a laptop for working on the go. An iPad for consuming media and producing media (Garageband and Adobe Sketch). A desktop for high end gaming and video editing. And now my ROG Ally to play some PC games on the road, or even to stream games via Xbox Ultimate Gamepass or Chiaki (PS Remote Play).


In education, I feel like companies are trying to create these all-in-one solutions. But I always feel these feel bloated and sluggish to run. It also lacks a lot of options to customise because I'm guessing that allowing this could break parts of the software if the wrong options were touched. Some educators want these all-in-one solutions too. "Too many different tools to remember", "Why can't x do y as well?", "It's all just too much" - are some common statements I hear.



However, I think having multiple, purpose-specific tools makes more sense for our profession. If we could learn everything with one approach then everything would be doing it. If we could teach everyone at 100% success rate with one approach, then a computer would be doing it. But we haven't figured these out yet...


Yes it might be more convenient to have everything in one spot. But usually these come at a cost of sacrificing other functions in order to streamline it all. 


Basically, it ends up being a stationary cube. 

Saturday, 6 May 2023

My journey as a gamer turned learner (part 3)

Continuing from my last post, I wanted to talk about how my experiences with Starcraft 2 (SC2) helped me understand the connection between games and learning. As I pursued my postgraduate degree in education, I found myself fascinated by the intersection of games and learning, and SC2 was the perfect game for me to explore that connection.



Unlike with WoW, I was no longer satisfied with simply finding easy strategies to win. Yes I started seeing the importance of the 'why', but I was still more focused on the result. Instead, I wanted to truly understand the game mechanics and the reasoning behind them. Through podcasts, news articles, and videos, I dove into the world of SC2, and thanks to Day9tv and his dailies, I began to learn the "why" behind the game's strategies.



Even though I never reached the highest ranks in SC2, I'm proud of how far I came, starting in Bronze 1 and reaching Gold 3 or 4 before running out of time due to my full-time job and newborn child. But more than that, I'm proud of what I learned from the game and how it influenced other aspects of my life.


I realized that the macro mechanics of SC2 were my strong suit, just as I was better at thinking of big ideas and interconnecting them in my job. But I struggled with the micro mechanics, or the execution of those ideas. This realization helped me understand my strengths and weaknesses and how to leverage them in my personal and professional life.


For example, a little after this, I started playing (low-level) competitive basketball with some old friends. I had a solid understanding of the game, I knew what type of game plan to go in with for the players that we had (strengths and weaknesses) and read the situations during a game to make little adjustments. However, having not played for many, MANY years, my mechanics of the game itself was rather rusty. In other words, I did not have the skills to execute my plan. So using the lessons learnt from SC2, I examined what skills I needed most, prioritised and started researching drills and tips that I can practice on a daily basis. 


One of these was losing weight. My weight got in the way of my ability to be quick, my endurance and I also had a hunch it played a role in getting minor injuries often. This took me down a whole new rabbit hole. It was a lot of experimenting, research and reflecting. Eventually I was able to find some new habits that I could sustain even after playing basketball - and able to pick up easily again after gaining a lot of this weight back from no longer playing basketball** and lockdowns.

**Not playing competitive basketball made me lose a lot of motivation to exercise as I couldn't find a WHY that I could really latch onto.


A really big lesson I learnt from Day9tv that I always keep in my mind in ALL aspects of my life is the mindset - "What can I do better NEXT TIME?" I found that 99% of the time when things weren't going to plan, whether it be in a video game, basketball, classroom or in life, I started to stray from the original plan and try to patch leaks on the fly, usually making it worse or having no effect. But with the "next time" mindset, I stick to the plan as much as possible until the end of that session and reflect on it afterwards and THEN make adjustments to the plan where needed for next time. In games this is quite easy to do, as a lot of them have the abilities to save replays so you can go back and analyse your performance. IRL things however, it's harder to do. I normally jot something down quickly on my phone or a piece of paper when I notice things I might need to address for next time - usually the small things I might forget. The big things I will always remember first anyway :)


To add to this, SC2 was primarily a 1v1 game. It meant that no matter what, YOU are responsible for every outcome. I took this mentality on to team games as well. That's why the mindset is "What can I do better", not "What can they do better". I did realise soon though, lots of people find this hard to swallow. They don't want to believe that they are flawed and can improve. Like I used to hear a lot in team video games like Dota and Overwatch - "Everyone on my team sucks. Except me." I truly believe people who hold onto this type of idea tightly will hit a big wall in their lives.


Going back to basketball, I took this approach so in the first season starting 'the plan', I was doing my drills, my exercise and diets, all the while reflecting on the season. I didn't look at executing, just treated it like a practice season. The next off-season, I stepped on the accelerator and every free moment I had I would use this to practice my dribbling and shots. Sometimes I'd call my teammates to see if they were up for a practice session together. These cooperative sessions were also valuable because I could pick their brain for feedback.


The next season after some nail-biting games in the playoffs, we won our first (and only) championship as that particular team. When I watch sports or eSports finals and see the players just collapse into tears, I never understood why - until that final buzzer in the finals. It was something that needed to be worked on over time and results weren't immediate. A lot of the time I did question whether I needed to scrap my entire original plan and make big adjustments - but I stuck to it and it did pay off. Obviously I wasn't the sole reason our team won. One of my close teammates (who practiced with me often) also did the same thing. The rest of our team were just straight up hustlers. There were no free baskets and we all had each others' backs. I just wanted to make sure that I built myself enough so that I wouldn't be a detriment to the team, but a contributor.



The skills I learned from SC2 naturally lead to other competitive games I played later on like CS:GO, Dota 2, Rocket League, or Overwatch. Nowadays, I don't play competitive games often, because if I commit, I dive into the deep end and it just takes over my schedule, my mind and my life. I am more of a spectator, appreciating the awesomeness others showcase. But I still apply the lessons learnt in other aspects of my life and I don't think it will ever go away.


WoW helped me extend my online research skills, and analysing gameplay to improve. It started me on a journey of learning. SC2 humbled me, made me realise we learn at different speeds, importance is persistence and consistency, every game is a step to improve in our next game and looking at things I can do to help the team, rather than the other way around.




Tuesday, 25 April 2023

My journey as a gamer turned learner (part 2)

Gaming and Learning: My Journey Continues in the World (of Warcraft)




In my previous blog post, I talked about how I first got into gaming and the role it played in my early learning experiences. Now, I want to continue that story and share how my passion for gaming continued to shape my learning and problem-solving skills in the years that followed.


When World of Warcraft (WoW) was released, I was immediately hooked. At first, I played with friends but soon found myself drawn to PvP and, when arenas were introduced, I was all about it. However, I never considered myself to be very good at games, and I think that's because I was always looking for shortcuts and end goal oriented. That changed with WoW.


I would watch videos on Warcraftmovies (can't believe this site still exists!) and read articles on different matchups. It was the first time I practiced mechanics and did drills suggested in the guides - this taught me how I can break down a skill into smaller pieces to make it more manageable to practice, but also give me the WHY behind it. I even created a schedule to fit in WoW practice and PvP times around my work and study times to maximize my time. These skills would later prove to be very useful in my life.





My learning in WoW was still game-based, but I tried to apply some of those skills to my everyday life. I worked on my peripheral vision and keyboard mechanics while at work. Well, it was still game-based, but doing it irl! It was a flip of an idea my dad showed me once when I was following him around with his cleaning jobs. I must've looked quite unenthusiastic (obviously, I mean I was cleaning some shop during my school holidays) and he showed me how I could use mopping like a basketball drill, killing two birds with one stone. To be fair it wasn't the best drill - he was saying that when I push the bucket on wheels to get the water changed and push it back, I can pretend I'm dribbling past a busy defence, making sure I keep low and weave. I added a little jump shot at the end, imagining I was pushing the ball up, going coast to coast and pulling up for clutch J. And by just getting my head into it, I did end up enjoying it more - not sure if it translated well to basketball, but for some reason this memory is something that I will probably never forget.





As life went on, WoW became more of a second home for me and my wife, who had been playing with me for years. We got married, graduated, got jobs, etc... and couldn't keep up and became casual players, but I still used my internet search skills to find guides on how to complete quests, bosses, dungeons, and achievements.


During my post-graduate degree, this skill came in super handy. I was able to dig out references and information without leaving my home and make it look like I borrowed books from the library. Later on, in my work life, people thought I was very tech-savvy because I was able to troubleshoot a lot of computer and IT issues at school, when really, I was just good at googling compared to them.




Looking back, I realize that gaming taught me more than just how to beat a level or conquer a boss. It taught me how to learn and problem-solve in a way that was fun and engaging. It taught me how to create a schedule and maximize my time. It taught me how to research and find information effectively. And most importantly, it taught me that learning can be enjoyable and that it's never too late to learn something new.





We took a long hiatus from WoW. We dipped our toes in here and there but never really got to commit enough time for it. My wife took on a higher level position and she was working non-stop and our son was still a little nublet. But every time we do revisit Azeroth, we reminisce the 'good old days' - all the battles, banter, adventures we had, forging friendships that many still hold strong even today. Recently we came back once again, for the Dragonflight expansion, convinced by an old friend we made in WoW over a catchup dinner. With our son being much older now and able to figure out most of the mechanics by himself, we reentered Azeroth once again, this time as a family. 


So, to anyone who thinks gaming is just a waste of time, I say: you're missing out on a whole world of (warc... nevermind...) learning opportunities. 


To end, here's a really cool talk about games and learning by the awesome James Gee.




Friday, 14 April 2023

My journey as a gamer turned learner (part 1)


I grew up in the 90s and early 2000s, a time when gaming was not just about entertainment, but also about learning new skills and connecting with others. My dad found an old 286 Commodore that was being thrown away and brought it home - fortunately it was in working condition. (By this time 386 PCs were the norm and cost about $3000) I used this 286 for 4 years - playing games that could run on EGA graphics (like commander keen, arkanoid 2, ET's Rugby, Lakers vs Celtics NBA). We had a family friend who was a computer wiz and he taught me how to use DOS and troubleshooting when things didn't work. 

I remember in year 6 when CDs were starting to become the norm, I tried putting in a demo CD that came with a PC magazine into the 5.25" disk drive - just in case it works... That ended up with a stuck disk and the first time I opened up a PC as I frantically figured out how to get the disc out before my dad comes home and sees a broken computer.

I was always a generation behind with gaming consoles too. I got hand me down Atari when people were playing the NES, a Master system (and later a NES) when SNES and Mega drive were the norm. And I completely missed the PS1, Dreamcast, Xbox era as we could not afford to buy a current gen console.

My dad bought me a new PC as a high school present - and it was good for about 1 month but then the specs started becoming obsolete pretty soon. He expected me to use it until I graduated high school - which I somehow managed.

I had to figure out things like autoexec.bat to get our sound blaster working, and we often had to tap into the computer nerds at school or seek out family friends who were really good at computers to help us troubleshoot issues. And of course, the fear of breaking expensive equipment and getting in trouble from my dad was always looming.

Reading PC game magazines and finding tweaks to files, as well as learning about game hacks from editing files from friends, was a popular way to enhance our gaming experience. Games like Starcraft, Counter-Strike, and Diablo 2 were not just about having fun, but also about improving our skills and competing with others.

Dial-up internet was the only option for most of us, but we learned to make the most of it, using it to play games or check NBA scores. The only resources we had were people we knew or met at internet cafes. We watched them, asked for advice, and learned from their experiences.

When Dota came out, I finally had broadband, and I found out that people released guides on the internet. This was a game-changer. I started looking up how-tos for not just Dota, but for basically everything. The internet became my primary resource for learning, and I could access information from anywhere in the world.

However, one problem I faced was that I was always results-oriented. I didn't care about the why; I just wanted to know how, so I could win. This mindset led me to face some serious walls down the road, but it was also an essential part of my learning journey. Eventually, I learned that understanding the why was just as important as the how - I'll write more on this in later parts.

A thing to add here was also the WHERE we used play games. As a kid, I first learnt about a gaming community on a visit to South Korea to see my grandma. I took Tae-Kwon-Do lessons down the street and it was right next to this small, dinghy arcade. I would go there after my lessons and just watch all the kids (and adults) play a variety of games from Mario to Street Fighter. I would hear people giving each other some pointers, talking about strats or even just patting the players shoulders to congratulate or sympathise with them. Back in Australia, the local milk bars would often have an arcade cabinet - usually a fighting game like Street Fighter or Final Fight - and I would be familiar with the other kids who frequented there. We never knew each others' names, but it felt like a silent community who came to be just by being there.


In high school, internet cafes started opening up all over Sydney. It was the norm in Korea but we never knew of such things. It completely changed our gaming experience. Before this, we would play at home and then talk about it at school. But now it was like a brand new playground opened up. We could go as group of friends and slug it out for bragging rights, or join the local server and play against random people who were there. Nowadays with internet connections being so fast, these places aren't as popular as they used to be - we are back to playing at home, communicating virtually behind a monitor.


One thing that hasn't changed is the importance of the community. Today, I can connect with others from all over the world through online communities, forums, and social media. This provides opportunities to learn from others and share experiences, just like in the early days of gaming. It's just like being the schoolyard again, albeit a large, virtual one.

Thursday, 22 December 2022

Getting some more ideas down

Firstly, happy holidays!

Secondly, in the spirit of trying to keep promises to myself, I thought I'd use this opportunity to use this to at least jot down ideas for more posts so at least I don't forget...

The one that came to mind today...

How my introduction to Fromsoft games - from absolutely hating to not being able to get enough - has transformed the way I approach learning and its influence on how I look at lesson planning and examining the merits of an "easy mode". 

By easy mode, I don't mean making it difficult for difficulty sake, but rather having "easy modes" available via playing rather than it being an option from the get-go. (Lots of kids who already know how to play the game of school have figured this easy mode out...)

It's a contentious issue in gaming and I'm sure it'd be the same in the context of education; where things are even more sensitive..

As usual, my approach is based on opinion posts by other gamers, as this particular topic doesn't have much in the way of scientific research. And even if it did, it wouldn't be out for a few years and as with any research, there's always the risk of underlying bias and/or purpose.

Anyway, as usual, I know this is more of a journal I keep for myself than for others to read, so it's just another monologue :)

Enjoy the break! 
Game on :)

Thursday, 18 August 2022

And just like that, it's been 4 years...

It's not that I forgot about this blog. Far from it. It's actually always been on the back of my mind. 

I would make notes of all the different ideas, every time I came up with one, but I never ended up getting around to it due to - energy levels, time, or just life being life.

But I thought today, I'm just going to post something. 

Think of it as my first step in my second (third? fourth? fifth?) attempt at re-updating this thing. "The journey of a thousand miles, starts with a single step." or something, right?

I've learnt so much over the last four years. About teaching, learning, leading, being a dad, hell, being a person. 

I've also met and built relationships with so many amazing people. Some of them, they probably don't reciprocate the feeling as we had our clashes and debates (re: arguments), but in hindsight, it only expanded on my experiences, my knowledge and ultimately, who I am now. I thought I understood what Steve Jobs meant when he said to trust the process and "the dots will connect later on", but now I really understand what that means.

Anyway, enough with the airy fairy fluff stuff.

Some things that have been on my mind (the past 1000+ days) include:

- Role players (think, 'support') making ideal leaders (in some cases)

- Feel vs Pattern

- Some problems with using games in education

- Why aren't educational games as engaging as 'normal' games?

- My history/journey of learning from games (and my hobbies)

- What I've been up to (more for personal reflection later for future-me - just like the rest of this blog :))


I think one of the first reasons I stopped updating this as often was because I started it thinking I could find other like-minded people out there. But I didn't really want to promote it, because I didn't think it really has anything of value - afterall, just one person's opinion. So it kind of just became like my collection of random thoughts.

After reading through these though, made me realise how I've progressed as a thinker, learner and as a person. So, moving forward, I'd like to continue doing this for myself. Like a logbook of sorts.

I'm in my last year of being in my 30s. I can't wait to see how my outlook changes and shifts as I get old (and probably grumpy)!