A 2D action-platformer developed by students at York County School of Technology using MonoGame and C#.
PolyGone is a tile-based 2D platformer set inside a perilous tower. Players fight through a series of handcrafted levels filled with enemies, hazardous terrain, and challenging platforming. Unlock new abilities and weapon attachments as you ascend the tower, and survive long enough to reach the top.
The game is currently in v0.2.0-Alpha and is actively in development.
PolyGone uses Formbar for authentication. When you first launch the game, you will be taken to the login screen. Click Login with Formbar — your web browser will open to the Formbar login page at your school's Formbar server. After completing the login there, the game will automatically continue.
Your session is saved so you only need to log in once per session expiry.
After logging in, you will be prompted to pay 200 Digipogs to unlock all levels. Digipogs are the currency used on the Formbar platform. Once purchased, you will not need to pay again.
After purchasing, you land in the Main Menu. Click Play to enter the Hub level — a safe starting area where you can access your inventory and choose which levels to enter.
From the Hub, walk up to a Level Door and press W (or DPad Up / Left Stick Up) to enter that level.
- Move through the level, defeat enemies, and navigate platforming hazards.
- Reach the Goal at the end of a level to win and unlock the next one.
- If you die, you can restart the level, return to the Hub, or go to the Main Menu.
| Action | Keyboard | Gamepad |
|---|---|---|
| Move Left / Right | A / D or Arrow Keys | Left Stick / DPad |
| Jump | Space | A (South) |
| Dash | Left Shift | B (East) |
| Shoot | Left Mouse Button / F | Right Trigger |
| Aim | Mouse | Right Stick |
| Interact / Enter Door | W | DPad Up / Left Stick Up |
| Pause | Escape | Start |
| Drop Through Platform | Left Ctrl | Left Bumper |
Controls can be remapped in Options → Controls.
- Physics-based movement — coyote time, wall cling, wall jump, and dash abilities
- Unlockable abilities — wall jump and dash unlocked through progression
- Enemy variety — Walker, Frog, Turret, Berserk, and Factory enemy types
- Weapon attachments — modify your blaster (e.g. piercing shots)
- Item system — equip up to 2 items before entering a level
- Tile-based levels — multiple collision types: solid, semi-solid (one-way), slippery, bouncy, and damage tiles
- Parallax backgrounds — visually rich environments
- Audio — music and sound effects throughout
- Fully remappable controls — keyboard, mouse, and gamepad supported
- In-game Help — tab-based help screen covering player, enemies, menus, and collision types
| Tool | Version | Notes |
|---|---|---|
| .NET 8.0 SDK | 8.0 or later | Required to build and run |
| Visual Studio 2022 | 17.x or later | Recommended IDE (Community edition is free) |
| MonoGame | 3.8 or later | Installed via NuGet, no manual install needed |
| Tiled Map Editor | Latest | For creating and editing levels |
- Go to https://github.com/jesse26603/PolyGone.
- Click Fork (top right) to create your own copy under your GitHub account.
- Clone your fork locally:
git clone https://github.com/<your-username>/PolyGone.git cd PolyGone
- Add the upstream remote so you can pull in future changes:
git remote add upstream https://github.com/jesse26603/PolyGone.git
- Open Visual Studio 2022.
- Select File → Open → Project/Solution.
- Navigate to your cloned folder and open
PolyGone.sln. - Visual Studio will restore NuGet packages (including MonoGame) automatically.
Build from the command line:
dotnet build PolyGone.slnRun the game:
dotnet run --project src/PolyGone/PolyGone.csprojOr press F5 in Visual Studio to build and run with the debugger.
Levels are created with Tiled Map Editor.
- Download and install Tiled.
- Open
TiledAssets/TiledMaps/to find the existing.tmxmap files. - Tilesets (
.tsx) are stored inTiledAssets/TiledSets/. - When saving a map, export it to JSON format and place it in
src/PolyGone/Content/Maps/. - Register the new map in the MonoGame Content Pipeline (
Content.mgcb) if adding a brand-new map file.
See CONTRIBUTING.md for a detailed guide on how to contribute level designs and code changes.
PolyGone/
├── src/
│ └── PolyGone/ # Main game project
│ ├── Core/ # Core systems (game loop, input, audio, scenes)
│ ├── Entities/ # Game objects (player, enemies, projectiles)
│ ├── Graphics/ # Visual components (sprites, camera)
│ ├── Items/ # Item and inventory systems
│ ├── Maps/ # Map loading and tile collision logic
│ ├── Scenes/ # All game screens (menu, game, pause, etc.)
│ ├── Weapons/ # Weapon systems and attachments
│ └── Content/ # Compiled game assets (textures, audio, maps)
├── TiledAssets/ # Tiled map editor source files
│ ├── TiledMaps/ # .tmx map files
│ ├── TiledSets/ # .tsx tileset files
│ └── TileMaps/ # Tilemap images
└── PolyGone.sln # Visual Studio solution file
- C# / .NET 8.0 — Primary programming language and runtime
- MonoGame 3.8 — Cross-platform game framework
- Tiled Map Editor — Level design tool
- Formbar — Authentication and Digipog payment platform
Please see CONTRIBUTING.md for full guidelines on reporting bugs, requesting features, and submitting pull requests.
See CREDITS.md for a full list of everyone who contributed to the project.
PolyGone is proprietary software. See LICENSE for full terms. Unauthorized use, copying, or distribution is prohibited except as permitted for students of York County School of Technology.