Vibeleaderboard
Index / game
Visit github.com
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 progressionProcedurally generated dungeon maps

  • Control character movement

    Player input commandsCharacter position updates on dungeon grid

  • Execute turn-based combat

    Player actions and enemy AI decisionsCombat results and health/status updates

  • Manage character stats and inventory

    Player actions and item interactionsUpdated character attributes and equipment

  • Spawn and control enemies

    Dungeon layout and game progressionEnemy placement and AI behavior

  • Render game visuals

    Game state dataSwiftUI-based dungeon and character graphics

Tags

swiftroguelikedimilliangameswiftui

Tech Stack

Swift

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.