Dotch Game
Dotch. now runs entirely in the browser. The entire Java game, with four difficulty levels, four boss levels, and all progression, has been ported one-to-one to TypeScript.
Development
Dotch. – Browser Edition
Years after the first version of DotchGame, I dusted off the game and completely rewrote it into Dotch. It is a Java game of over 12,000 lines of code. To finally make the game playable without a Java installation, I ported the entire codebase to TypeScript and Canvas 2D. Instead of redesigning the game for the browser, I first built a compatibility layer for Java: custom versions of Graphics2D, Color, Rectangle, java.util.Random, and DataOutputStream. This allowed the original code to run on top of it virtually unchanged. The result is a single package of approximately 250 kB without external dependencies, which works on any server.
Game instructions
Gameplay & Mechanics
You control a player who moves through an arena using W/A/S/D or the arrow keys and must dodge enemies for as long as possible. There are five types of enemies, and they make every run different: red blocks bounce in straight lines, turquoise diamonds shoot up and down rapidly, purple circles chase you, and yellow triangles change direction with every collision. Every enemy is announced in advance: a second before they appear, you see a pulsating telegraph so you can read the arena before it fills up. If you dodge an enemy at the last minute, you build up a dodge streak that increases your score multiplier to x3. In addition to movement, you have a dash function, a slow-motion mode that reduces everything to 30% speed, and a shield that absorbs one hit. There are four difficulty levels: Normal, Hard, Insane, and Combat. In Combat, the roles are reversed: there, you shoot back yourself, and bosses do not die automatically.
Progression
Bosses, Coins & Progression
You encounter a boss every ten levels, and there are four of them: the Classic fires spreads and rings in three phases, the Splitter falls apart into faster copies of itself upon death, the Laser sweeps rotating beams through the arena, and the Swarm summons waves of minions. In addition to the standalone runs, you also build permanent progression: every run yields XP for your profile level and coins for the Coin Shop. There you can buy 25 items, such as permanent upgrades, skins, color palettes, and early access to perks. For each run, you put together a loadout yourself consisting of up to two perks, from Glass Cannon (half health, double score) to Streak Master. Furthermore, there are 50 achievements, 6 shapes with 8 colors, a statistics page with your run history, and a built-in music player with six songs.