{"id":40584889,"url":"https://github.com/dorianbayart/pixel-fortress","last_synced_at":"2026-04-01T20:41:36.800Z","repository":{"id":322829623,"uuid":"1084420664","full_name":"dorianbayart/pixel-fortress","owner":"dorianbayart","description":"Pixel Fortress combines strategic base-building with automated warfare. Design your fortress, establish resource production, and deploy self-directed units that explore, gather, and battle autonomously. Strategic depth without the micro-management.","archived":false,"fork":false,"pushed_at":"2026-01-28T21:50:05.000Z","size":67673,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-29T00:07:07.710Z","etag":null,"topics":["2d","achievements","auto-battler","automated-strategy","base-building","browser","canvas","fortress","game","gplv3","html5","javascript","open-source","pixel","pixel-art","pixi-js","pixijs","resource-management","strategy","web"],"latest_commit_sha":null,"homepage":"https://dorianbayart.github.io/pixel-fortress/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dorianbayart.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-27T16:51:31.000Z","updated_at":"2026-01-28T21:47:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"3bba498e-d112-4cc1-b1d9-e2bf9b2a74be","html_url":"https://github.com/dorianbayart/pixel-fortress","commit_stats":null,"previous_names":["dorianbayart/pixel-fortress"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dorianbayart/pixel-fortress","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorianbayart%2Fpixel-fortress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorianbayart%2Fpixel-fortress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorianbayart%2Fpixel-fortress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorianbayart%2Fpixel-fortress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dorianbayart","download_url":"https://codeload.github.com/dorianbayart/pixel-fortress/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorianbayart%2Fpixel-fortress/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28877888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T10:31:27.438Z","status":"ssl_error","status_checked_at":"2026-01-29T10:31:01.017Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2d","achievements","auto-battler","automated-strategy","base-building","browser","canvas","fortress","game","gplv3","html5","javascript","open-source","pixel","pixel-art","pixi-js","pixijs","resource-management","strategy","web"],"created_at":"2026-01-21T03:00:33.806Z","updated_at":"2026-04-01T20:41:36.788Z","avatar_url":"https://github.com/dorianbayart.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Pixel Fortress Logo](assets/logo_banner.svg)](https://dorianbayart.github.io/pixel-fortress/) \n\n# \u003cimg src=\"assets/base_512_pixelated.png\" alt=\"Favicon\" width=\"auto\" height=\"32\"\u003e Pixel Fortress\n\n**Pixel Fortress combines strategic base-building with automated warfare.** Design your fortress, establish resource production, and deploy self-directed units that explore, gather, and battle autonomously. Strategic depth without the micro-management.\n\n➡️ [Play live](https://dorianbayart.github.io/pixel-fortress/play.html)\n\n## 🎯 Genre\n**Base Building • Automated Strategy • Resource Management • Auto-battler • Pixel Art**\n\n\u003c!-- Marketing Tagline Options:\n- \"Build smart. Let them fight.\"\n- \"Strategy without the stress.\"\n- \"Your fortress. Their war.\"\n- \"Design. Deploy. Dominate.\"\n--\u003e\n\n\n\n\n## ✨ Features\n\n* **Strategic Base Building:** Choose what and where to build - buildings automatically produce specialized units\n* **Automated Warfare:** Units move, explore, gather resources, and battle enemies autonomously\n* **Resource Management:** Build gathering buildings (lumberjacks, quarries, wells) to fuel your economy\n* **Multiple AI Opponents:** Play against up to 3 AI players with different difficulty levels (easy, normal, hard)\n* **Diverse Unit Types:** Deploy workers, soldiers, archers, and mages - each with unique abilities and stats\n* **Procedural Maps:** Unlimited randomly generated maps in 3 different sizes, plus many predefined scenarios\n* **Dynamic Exploration:** Huge maps with fog of war - your units automatically explore uncharted territory\n* **Intelligent Pathfinding:** Units navigate complex terrain autonomously using A* pathfinding\n* **Defensive Towers:** Place towers that automatically detect and shoot down approaching enemies\n* **Building Specialization:** Upgrade buildings along branching paths to unlock specialized variants tailored to your strategy\n* **Game Modes:** Classic, speedier gameplay, fast gathering units, and more variants (planned)\n* **Campaign Mode:** Story-driven missions (planned)\n\n## 🎮 Game Modes\n\n**Single-player (vs AI):** Face off against 1-3 AI opponents across:\n- **Classic Mode:** Standard gameplay with balanced pacing\n- **Speed Variants:** Faster game speed multipliers for quick matches\n- **Difficulty Levels:** Easy, Normal, and Hard AI challenges\n- **Map Selection:** Choose from predefined scenarios or procedurally generated maps (small, medium, large)\n\n**Campaign Mode (Planned):** Story-driven missions with unique objectives and challenges.\n\n**Multiplayer (Planned):** Online player-versus-player functionality is planned for a future release.\n\n## 📸 Screenshots\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/screenshots/InGame_Screenshot_01_building-placement-paths.png\" alt=\"Base building and unit pathfinding\" width=\"100%\"\u003e\n  \u003cem\u003eStrategic base building and unit pathfinding gameplay\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/screenshots/InGame_Screenshot_02_big-maps.png\" alt=\"Large map exploration\" width=\"100%\"\u003e\n  \u003cem\u003eHuge procedurally generated map exploration with large bases and resource management\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/screenshots/InGame_Screenshot_03_lots-of-units-going-battle.png\" alt=\"Epic automated battles\" width=\"100%\"\u003e\n  \u003cem\u003eEpic battles with numerous units engaging in automated combat\u003c/em\u003e\n\u003c/p\u003e\n\n## 💻 Technologies Used\n\n* **HTML/2D Canvas:** Provides the structure and visuals of the game.\n* **JavaScript:** Handles game logic, rendering, and player interactions.\n* **Pixi.js:** Used for rendering, animation and in-game UI.\n* **Web Workers:** To enhance performance, the pathfinding calculations are offloaded to a web worker thread.\n\n\n## 🕹️ Game Mechanics (Brief Overview)\n\n* **Automated Unit System**\nBuildings automatically produce units that operate completely independently. You **never** directly command individual units. Instead, you make strategic decisions about:\n  - **What to build:** Economy (resource gatherers) vs military (unit producers)\n  - **Where to place buildings:** Proximity to resources, defensive positioning, expansion strategy\n  - **Resource allocation:** Balancing wood, stone, water, and gold production\n\n* **Unit Behavior**\nUnits handle everything autonomously:\n  - **Workers:** Automatically gather resources (wood, stone, water, gold) and return to your base\n  - **Combat Units:** Explore the map, engage enemies within range, and defend your territory\n  - **Pathfinding:** All units intelligently navigate terrain using A* pathfinding\n  - **Exploration:** Units automatically reveal fog of war and discover enemy positions\n\n* **Combat**\nCombat is fully automated - units attack nearby enemies within range or move to engage threats. Your strategic choices in building composition and placement determine the outcome.\n\n* **Victory Conditions**\nEliminate all enemy players by destroying their buildings and units. The AI opponents use the same automated systems you do.\n\n\n## 🚀 Getting Started\n\n### ✅ Prerequisites\n\n* A modern web browser (such as Chrome)\n\n### 💾 Installation\n\n1. Clone the repository: `git clone https://github.com/dorianbayart/pixel-fortress.git`\n2. Navigate to the project directory: `cd pixel-fortress`\n3. Use `nvm install` and `nvm use` to install the required Node version (stored in .nvmrc)\n4. Install dependencies with `npm install` if you want to use the Electron version\n5. Run the unit tests with `npm run test`command\n\n### ▶️ Running the Game\n\n1. Open `index.html` (landing page) or `play.html` (game) in your web browser, or run `npm run start` to launch the Electron app.\n2. Enjoy!\n\n### ⚠️ Troubleshooting\n\n* **Game Doesn't Load:** Ensure you have properly cloned the repository.\n* **Performance Issues:** Try closing other browser tabs or applications to free up system resources.\n* **Unexpected Behavior:** If you encounter bugs or glitches, please report them on the project's issue tracker. Please remember it is still a work in progress.\n\n## 📦 Releases \u0026 Builds\n\nThe project utilizes GitHub Actions for continuous integration and release management.\n\n### GitHub Workflow\n\nUpon every push to the `main` branch, a GitHub Actions workflow is triggered. This workflow performs the following steps:\n1.  **Build:** The game is built into platform-specific executables for Windows, macOS and Linux.\n2.  **Release:** A new GitHub release is created (or an existing one with the same version is updated/overwritten).\n3.  **Artifact Upload:** The built executables are uploaded to this release.\n\n### Releases\n\nYou can find all official releases and their corresponding build artifacts on the [GitHub Releases page](https://github.com/dorianbayart/pixel-fortress/releases).\n\n### Build Artifacts\n\nFor each release, the following platform-specific executables are provided:\n*   **Windows:** `.exe` installer/executable\n*   **macOS:** `.dmg` installer/disk image - does not work as of now due to missing Apple Developper account\n*   **Linux:** `.AppImage` executable\n\nThese artifacts allow you to run the game natively on your preferred operating system without needing a web browser.\n\n## 🎯 Roadmap\n\nHere's a look at the planned features and improvements:\n\n1. **Enhanced AI:** Improve the AI opponent's decision-making and strategic capabilities.\n2. **Multiplayer Support:** Implement online multiplayer functionality for player-versus-player battles.\n3. **Campaign Mode:** Create a single-player campaign with a series of missions and objectives.\n4. **New Units and Buildings:** Introduce new unit types and buildings with unique abilities and roles.\n5. **Advanced Resource Management:** Expand resource gathering and management systems with new resources and strategies.\n6. **Terrain and Environment Effects:** Add more diverse terrain types and environmental elements that impact gameplay.\n7. **Improved Graphics and Animations:** Enhance the visual fidelity of the game with better sprites and animations.\n8. **Sound Effects and Music:** Integrate sound effects and music to create a more immersive experience.\n9. **User Interface Enhancements:** Improve the user interface for better clarity and usability.\n   \nThese are just some of the ideas I have in mind, and I am open to suggestions and feedback.\nStay tuned for updates as I continue to develop and expand Pixel Fortress!\n\nA detailed roadmap can be found here: [plans/ROADMAP.md](plans/ROADMAP.md)\n\n## 📋 Planning \u0026 Documentation\n\nThe `plans/` directory contains strategic planning documents for major features and development milestones:\n- **[ROADMAP.md](plans/ROADMAP.md)**: Development roadmap with planned features and their status\n- **[LICENSING_BUSINESS_MODEL.md](plans/LICENSING_BUSINESS_MODEL.md)**: Open source licensing strategy and freemium business model\n- **[STEAM_DEPLOYMENT.md](plans/STEAM_DEPLOYMENT.md)**: Comprehensive guide for Steam platform deployment\n\n## 🤖 AI Assistant Guidelines\n\nThis project includes `CLAUDE.md` and `GEMINI.md` files with detailed context for AI code assistants. If you are using an AI to help with development, please ensure it has access to these files to understand the project's conventions and architecture.\n\n\n\n## 🙌 Credits\n\n* Very useful SVG icons: [Pixel Icon Library](https://github.com/hackernoon/pixel-icon-library)\n* Main game assets: [Puny World from Merchant-Shade](https://merchant-shade.itch.io/16x16-puny-world)\n* Original game assets: [Mini World from Merchant-Shade](https://merchant-shade.itch.io/16x16-mini-world-sprites)\n\n\n\n## 📜 License\n\nThis project is licensed under the **GNU General Public License v3.0 or later (GPL-3.0-or-later)**.\n\nThis means you are free to:\n\n* **Use** — run the program for any purpose\n* **Study** — examine how the program works and modify it\n* **Share** — redistribute copies of the original program\n* **Improve** — distribute copies of your modified versions to others\n\nUnder the following terms:\n\n* **Copyleft** — If you distribute modified versions, you must also license them under GPL v3 and make the source code available\n* **Attribution** — You must provide appropriate credit and indicate if changes were made\n* **No Additional Restrictions** — You may not impose further restrictions on the recipients' exercise of the rights granted herein\n* **Commercial Use Allowed** — You may use this software commercially, including selling it (e.g., on Steam), as long as you comply with the GPL v3 terms\n\n**Full License Text:** See the [LICENSE](LICENSE) file in the repository root.\n\n**Learn More:** [https://www.gnu.org/licenses/gpl-3.0.html](https://www.gnu.org/licenses/gpl-3.0.html)\n\n\n## #️⃣ Keywords\n\npixel fortress, base building, automated strategy, auto-battler, resource management, pixel art, 2D strategy, HTML5 game, JavaScript, canvas, web game, browser game, pixijs, open source, achievements, procedural generation, AI opponent, autonomous units, strategic gameplay, casual strategy, idle strategy, automated warfare, exploration, fog of war, pathfinding\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdorianbayart%2Fpixel-fortress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdorianbayart%2Fpixel-fortress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdorianbayart%2Fpixel-fortress/lists"}