Friday, January 1, 2021

Retrospective XII

Last year, I conducted a simple retrospective for 2019. Therefore, here is a retrospective for 2020.

2020 Achievements
  • Transition 8-bit Sega Master System development setup to 16-bit Sega Genesis
  • Collaborates coding Sega Master System homebrew game project MARKanoIIId
  • Revise C/C++ programming techniques rebuilding classic code bases like Doom
  • Reverse engineers Sega 8-bit ROMs for fun Z80 assembly language code hacks
  • Upgrade MonoGame 3D model + custom shader content pipeline cross platform
  • Integrate Docker + Kubernetes as software project containerization and scaling
  • Expands programming skillsets into DevOps and employ Infrastructure as Code
  • Prepares Python machine learning environment available per future exploration
Note: transitioning 8-bit Master System development to 16-bit Genesis is an achievement!

2021 Objectives
  • Collaborate with 16-bit Sega MegaDrive community similar to 8-bit Sega Master System
  • Leverage MonoGame 3D development environment to complete cross platform projects
  • Incorporate Docker and/or Kubernetes into personal and professional software dispatch
  • Explore retro game development applications for modern AI + Machine Learning upskill

Collaboration
After years of self publishing video game projects, concerns of an over-saturated marketplace and fears that it will soon be impossible to make any progress as an indie developer, it is becoming more apparent that the next phase of independent game development will be powered more by collaboration.

The network effect of working collaboratively, where each person has enhanced access to various networks, may lead to future collaborations which could inevitably perpetuate throughout the indie game community.

Earlier in the year I was fortunate enough to collaborate with some of the coding elements on MARKanoIIId which was awesome and exposed stronger relationships with other developers, pixel artists and musicians.

Discord is great vehicle also to encourage participation as I was fortunate to help test the new Emulicious VS Code plugin for the Master System. I am hopeful experiences like these will broaden to the Sega MegaDrive!

Connection
Another motivation to transition from 8-bit to 16-bit stems from earlier this year Sega Master System project Candy Kid as features were cut due to the constant challenge to stay within the 32KB ROM game code limit.
Fortunately, Candy Kid being a Pacman clone, presents new opportunities to port to the Sega MegaDrive with additional capacity and the possibly to explore a connection between Artificial Intelligence and video games.

Video games are an interesting field of study for many Artificial Intelligence (AI) researchers especially with Pacman because it is simple enough to be understood quickly and does not require powerful machine to run.

One approach could be to train automatic bots to play video games like Pacman via Reinforcement Learning: RL algorithms learn policies that associate good actions to execute in different game states based on reward obtained during the game simulation. Reinforcement Learning has also been used in other domains such as First Person Shooters like Doom.

Therefore, retro game development with Pacman and Doom clones seem like an excellent avenue to pursue with regards to future applications in software with Artificial Intelligence, ML and Reinforcement Learning J