My favorite hobby is programming. I have exposure with a wide variety of languages, with the languages I am most
proficient in bolded:
Java
C++
C#
GML
TI Basic
Lua
Python
JavaScript
HTML
CSS
If block programming languages are counted as "real" languages, I can add a few more to the list:
Scratch
Lego Mindstorms EV3
MCreator
For each game or project, click the header link to download or play, or open the dropdown
section for more information.
Java
At SCHS, a student going into Computer Science is expected to take AP Computer Science Principles sophomore year,
AP Computer Science A junior year, and Game Design senior year. The technology teacher, Mrs. Sweeny, noticed that
I was far ahead of anyone else at the school, and allowed me to take AP Computer Science A my sophomore year,
skipping AP Computer Science Principles. I then learned Java my junior year.
I like Java. It's not my favorite language, mostly because I haven't used a good game engine using it. I definitely
prefer statically typed over dynamically typed languages, though. I also found the object-oriented nature of the
language intuitive and helpful.
Electron Configuration Calculator
After I had learned the basics of Java, my first program was an electron configuration calculator. I did this mainly
to study for Chemistry I. It worked, because after a whole year, I still know how to determine an electron
configuration by heart.
C# with Unity
I very much liked Unity. I think the syntax of C# and built-in systems offered by Unity make this my favorite
system, though I haven't gotten arround to using it as much as I would've liked to.
This game was a learning project for me. I used
this Youtube series by Ketra Games
as a helpful reference for many features of the game, including the basics of player, bullet, and enemy movement
and health. It taught me how to use GUI elements, scene management, and animations. Once I had learned how to
use Unity, I developed 3 new enemy types, a detailed inventory system, weapon types, weapon collectables, a
level system, and a better enemy spawning system.
Lua
My experience with Lua comes from its use in Roblox, as well as a few other embedded software systems. I didn't put
much effort into learning this language, as its 1-based indexing system and overly user-friendly syntax threw me
off. I found the free server systems used by Roblox Studio to be slow and unreliable. I am also not a fan of the
audience a roblox games would get, that being an audience of young children.
One thing I really liked about Lua in Roblox is the fact that variables can reference functions, and functions can
be table elements. This was an interesting element of the language to use.
"Doomspire Brickbattle" is a free asset available on Roblox Studio. It is essentially a finished game, and thus
many have published the same game under different names that are all essentially copies of Doomspire
Brickbattle. I thought it would be good practice for me to do something similar, but I couldn't publish
publish someone else's work as my own. I created my own map similar to the Doomspires, created my own game
progress tracking and restarting code, and tested with friends. I did not create my own weapons entirely from
scratch, though.
This game obviously takes inspiration from the Backrooms. This was mainly a project to help me learn the
programming language, as I created the game entirely from scratch, only using 3D models and 2D art from the
Toolbox. For that reason, it isn't a very impressive project. I abandoned it mostly because I realized I
couldn't sell any gamepasses to go along with the game without breaking copyright law.
GML
GML stands for GameMaker Language, used in GameMaker Studio 2 and not much else. It is an imperative,
dynamically typed, object-oriented language, similar in nature to Python, but with some features in common with
Lua. I very much liked GML because of the built-in systems it had, and I found the syntax easy to use and
understand while not being too shallow as to be boring.
Gun Guy
May 3rd, 2024
A very creatively named game, "Gun Guy" was the last one I ever made with GameMaker Studio before moving on to
Unity. I moved away from GML because I realized that I had no ability to compile GameMaker Studio games to
executables, as that requires an expensive liscence. Unfortunately, that means I can't share the ability to play
this game on this website. The best I can give is a YouTube video about the gameplay.
Scratch
The first programming language I learned was Scratch. I created a small handful of playable games.
Toward the end of my time using Scratch, I began to use Python.
Unlike the other games on this website, this game's development was assisted by a YouTube tutorial:
Simple Maze Generation | Scratch Tutorial
by griffpatch. See if you can find the maze type easter egg!
Use the arrow keys or WASD to move, and press R to restart. Each color has a different effect on the
player. Check new ones when you find them!
This was originally intended to be an alpha version of a game still in development.
Press m to chose singleplayer or multiplayer. Default is singleplayer. Player 1 uses arrow keys and
Player 2 uses a and d.
Game speed starts on Normal, though the AI is significantly worse on Fast mode, and sometimes makes simple
mistakes on Slow mode!
The High Score is the highest amount of points anyone has ever had over the AI, but it will only work
properly when on the website and logged in.