Below are some examples of small side/hobby projects I've worked on. Some have videos of the game play and some you can actually try/play.
The idea for this game never got completely fleshed out. However, as it currently stands, the circles rotate (alternating rows between clockwise and anti-clockwise). If you get exactly 2 2's in a row (on a vertical, horizontal, or diagonal line) then they are removed and replaced with new nodes. The ? nodes take two steps to expose their inner value and are broken by creating sequences using the nodes adjacent to them. (Think Drop7 as much of the inspiration behind this.)
With this game I was trying to improve my iOS skills and also try to play around with a puzzle concept. It never made it super far, more because I was never really sure what the actual "problem" was that the player would be solving. However, it was an fun challenge, figuring out where to place the all the circles, being able to correctly rotate the circles when tapped, and then checking to see if a streak was found and removing/replacing those nodes.
My first attempt at iOS game development. Okay, technically second, as I tried a couple years ago but never had the time to really start to learn Objective-C as my PhD and startup took over my life. This game was inspired by an old hand held Mario game where you had a platform that continually shifted to the left and you had to keep moving forward. Your only actions were to move left or right and to jump.
My PhD was focused on making believable emotional NPC characters in video games. I created many test games for this project. I didn't have to model the characters (thankfully), or animate them, but I did write all the code to blend the animations properly and switch between them.
The game linked to here is one of the final games I made for my research. It involved playing through a "guess who" game twice, where you were tasked with trying to find the character that had been harassing the ducks. Talking to other characters gave you clues about the accused.
Because I was using Unity for my PhD, it ended up being an easy way to relatively quickly create simple "games"/activities. At the time, I was visiting my sister and her family, and my niece was struggling a bit with math. I created Numbers mainly to show how numbers are cyclical and that each column (ones, tens, hundreds, etc) can only hold the values 0-9 before increasing the value to the left. I added in some simple math practice, just because.
I like games. I like programming. How could I combine the two together? I decided to use a maze game, where you had to code the directions for the creature to move in order to solve the game. This is another project that, because of life at the times, I never completely finished, but did enough to showcase my idea.
I think the maze works really well, because by setting up different conditions, you can easily teach many programming concepts. For example, arrays, stacks, and queues can be taught by having a series of locked "doors" and a series of keys for the doors that must be used. Depending on whether your storage is an array, a stack, or a queue, the same puzzle will require different paths such that you can successfully unlock the doors and reach the end.