
SwiftyRoguelike
github.com/dimillian/swiftyroguelike- Category
- Entertainment
- Rank
- No. 2051Tools index
- Pricing
- Open Source
- Type
- GAME
- Builder
- dimillian
- GitHub
- 9 stars
- Date
About
Dimillian's Swift-based roguelike experiment — turn-based dungeon adventures rendered with SwiftUI.
What it does
A compact native macOS game prototype built around procedural exploration. Each action advances a run through generated rooms and corridors, while monsters pursue nearby players, combat resolves on contact, loot improves resources, and stairs open deeper floors.
Why it's ranked here
Worth a look as a readable AI-assisted game artifact, not as a finished roguelike. It connects procedural generation, seeded randomness, combat, progression, inventory, discovery, and a polished desktop interface without sprawling beyond a small prototype.
What's good
The core loop has meaningful breadth: deterministic seeds drive generation, monsters move toward the player, combat awards experience, shards can trigger leveling, and potions consume turns. The interface exposes health, mana, experience, seed, equipment, inventory, nearby loot, and recent events.
Tradeoffs
The project explicitly calls itself an early prototype. It requires macOS 26 and a Swift 6.3 toolchain, which sharply limits who can run it. There is no test target, despite deterministic generation, movement boundaries, combat, pickups, and leveling offering clear testing seams.
How to use it well
Best for Swift developers studying a compact native game architecture or AI-assisted prototyping process. Build it locally, play a few runs, then trace state changes from input through generation and combat. It does not cover cross-platform delivery, production testing, or a reusable game engine.
Technical notes+
Package.swift declares a Swift 6.3 SwiftPM executable named SwiftyRoguelike for macOS 26. Sources/SwiftyRoguelike/Game/GameStore.swift centralizes observable run state, turn advancement, combat, loot, leveling, discovery, and floor transitions. Sources/SwiftyRoguelike/Game/DungeonGenerator.swift builds a 64x38 map from seeded randomness, carving non-overlapping rooms and corridors before placing monsters, loot, and stairs. Sources/SwiftyRoguelike/Views/ContentView.swift composes fixed-width side panels around the HUD, Canvas dungeon view, and command bar. README.md states that no test target exists.
Observed
- Primary language
- Swift
- Packaging
- Swift Package Manager executable
- Interface
- Native macOS graphical application
- Platform support
- macOS 26 or newer
- Toolchain
- Swift 6.3, with Xcode 26.4 or an equivalent toolchain
- Testing
- No test target is present
Read from README.md, Package.swift, Sources/SwiftyRoguelike/Models/Actor.swift, Sources/SwiftyRoguelike/Game/GameStore.swift, Sources/SwiftyRoguelike/Models/GridPoint.swift, Sources/SwiftyRoguelike/Views/GlassPanel.swift, Sources/SwiftyRoguelike/Views/TopHUDView.swift, Sources/SwiftyRoguelike/Models/GameAction.swift, Sources/SwiftyRoguelike/Views/ContentView.swift, Sources/SwiftyRoguelike/Views/SidebarView.swift, Sources/SwiftyRoguelike/Models/DungeonTile.swift, Sources/SwiftyRoguelike/App/DungeonCommands.swift, Sources/SwiftyRoguelike/Views/InspectorView.swift, Sources/SwiftyRoguelike/Views/CommandBarView.swift, Sources/SwiftyRoguelike/Game/DungeonGenerator.swift.
What it can do
Generate dungeon levels
Game initialization or level progression → Procedurally generated dungeon maps
Control character movement
Player input commands → Character position updates on dungeon grid
Execute turn-based combat
Player actions and enemy AI decisions → Combat results and health/status updates
Manage character stats and inventory
Player actions and item interactions → Updated character attributes and equipment
Spawn and control enemies
Dungeon layout and game progression → Enemy placement and AI behavior
Render game visuals
Game state data → SwiftUI-based dungeon and character graphics
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.