MM
← All work

Software engineering foundations

Cross-Language Interactive Systems

Interactive game systems implemented across Python, Java, JavaScript, and C++ to teach programming through command-line, desktop GUI, and browser interfaces.

Role
Developer / Technical Educator
Period
2022–2023
Category
Five applications across four languages
Stack
Python · Java · JavaScript

A shared domain across multiple languages

I created these applications as teaching material for my YouTube channel. The engineering value is the deliberate translation of the same domain concepts—player state, combat, inventory, navigation, validation, progression, and win/loss conditions—across different languages and execution environments.

Python architecture

The largest project is a modular terminal space RPG divided into Player, Alien, Boss, and Planet models plus application orchestration. It includes randomized enemy and planet generation, resource-gated progression, combat actions, experience, upgrades, currency, and nested command loops.

Event-driven interfaces

The Java version uses Swing and AWT components with ActionListener handlers and state-dependent command dispatch. The browser GUI version uses ES6 classes, dynamic DOM rendering, callbacks, inventory arrays, and conditional interface updates.

Asynchronous browser terminal

A separate JavaScript implementation converts form events into Promise-based input. This allows the application to express browser interaction sequentially through async and await, while the browser remains event-driven underneath.

Engineering signal

The suite demonstrates language transfer, object-oriented design, state modeling, procedural generation, event-driven interfaces, asynchronous control flow, input validation, file I/O, and Git-based iteration.