{"id":15684340,"url":"https://github.com/alicerunsonfedora/costumemaster","last_synced_at":"2025-07-30T21:34:28.520Z","repository":{"id":42407182,"uuid":"259512814","full_name":"alicerunsonfedora/costumemaster","owner":"alicerunsonfedora","description":"Applied AI with GameplayKit project","archived":false,"fork":false,"pushed_at":"2024-05-16T19:22:57.000Z","size":81141,"stargazers_count":11,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"root","last_synced_at":"2025-05-07T17:05:34.835Z","etag":null,"topics":["ai","game-center","gameplaykit","macos","spritekit","swift"],"latest_commit_sha":null,"homepage":"https://costumemaster.marquiskurt.net","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alicerunsonfedora.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS.txt","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"alicerunsonfedora","patreon":null,"open_collective":null,"ko_fi":"marquiskurt","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-04-28T02:43:15.000Z","updated_at":"2024-08-20T06:26:35.000Z","dependencies_parsed_at":"2024-10-23T18:26:15.099Z","dependency_job_id":null,"html_url":"https://github.com/alicerunsonfedora/costumemaster","commit_stats":{"total_commits":406,"total_committers":2,"mean_commits":203.0,"dds":"0.012315270935960632","last_synced_commit":"31fda64a8bfaccdb08e1b293b6c92ca870387007"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/alicerunsonfedora/costumemaster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alicerunsonfedora%2Fcostumemaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alicerunsonfedora%2Fcostumemaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alicerunsonfedora%2Fcostumemaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alicerunsonfedora%2Fcostumemaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alicerunsonfedora","download_url":"https://codeload.github.com/alicerunsonfedora/costumemaster/tar.gz/refs/heads/root","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alicerunsonfedora%2Fcostumemaster/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267945276,"owners_count":24170216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ai","game-center","gameplaykit","macos","spritekit","swift"],"created_at":"2024-10-03T17:15:03.954Z","updated_at":"2025-07-30T21:34:28.497Z","avatar_url":"https://github.com/alicerunsonfedora.png","language":"Swift","funding_links":["https://github.com/sponsors/alicerunsonfedora","https://ko-fi.com/marquiskurt"],"categories":[],"sub_categories":[],"readme":"\u003cdiv\u003e\n\u003ch1\u003e\n\u003cimg src=\"https://github.com/alicerunsonfedora/CS400/raw/root/logomark.svg\" alt=\"The Costumemaster\"/\u003e\n\u003c/h1\u003e\n\u003c/div\u003e\n\n[![License][img-license]][license] ![Version][img-version] ![Swift 5][img-swift] [![Documentation][img-docs]][docs]\n\nAn acclaimed costume designer and software engineer wakes up from a blackout to an eerily familiar scene. But, something\nisn't quite... right.... Traverse through a dream-like, constantly changing bedroom and office and get out as quickly as\nyou can. Can you make it out and figure out what's going on?\n\n\u003cdiv\u003e\n\u003ca href=\"https://apps.apple.com/us/app/the-costumemaster/id1529632296\"\u003e\n\u003cimg height=\"54\" src=\"https://github.com/alicerunsonfedora/CS400/raw/root/.readme/macappstore.svg\" alt=\"Get it on the Mac App Store\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.producthunt.com/posts/the-costumemaster?utm_source=badge-featured\u0026utm_medium=badge\u0026utm_souce=badge-the-costumemaster\" target=\"_blank\"\u003e\u003cimg src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=270923\u0026theme=light\" alt=\"The Costumemaster - A puzzle game where you switch costumes and escape | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## Try _The Costumemaster: Reloaded_\n\n_The Costumemaster: Reloaded_ is a completely redesigned version of _The Costumemaster_ with support for controllers,\nnew features and improvements, and compatibility with Windows and Linux. You can get _The Costumemaster: Reloaded_ today\nfrom the Mac App Store or from [itch.io](https://marquiskurt.itch.io/costumemaster-reloaded) today.\n\n\u003cdiv\u003e\n\u003ca href=\"https://apps.apple.com/us/app/the-costumemaster-reloaded/id1573181569\"\u003e\n\u003cimg height=\"54\" src=\"https://github.com/alicerunsonfedora/CS400/raw/root/.readme/macappstore.svg\" alt=\"Get it on the Mac App Store\"/\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\n\n## Features\n\n![Feature Set](https://github.com/alicerunsonfedora/CS400/raw/root/.readme/featureset.png)\n\n## Objective\n\nThe primary objective of this project is to take the concepts from _CS440: Principles of Artificial Intelligence_ and\nbuild a better understanding of agents and apply these concepts by implementing and comparing agents in a video game.\n\nMore information on the objective of this repository can be found in the [design proposal][proposal].\n\n### Project Roadmap\n\n| Status | Due Date | Milestone |\n| ------ | ----------- | ----------- |\n| 🟢 | September 21, 2020 | Working Game |\n| ❎ | October 19, 2020 | Adding Apple's agents with GameplayKit\\* |\n| ✳️ | November 9, 2020 | Adding custom agents and beating Apple\u003csup\u003e✝\u003c/sup\u003e |\n| 🟢 | November 16, 2020 | Final presentation and cleanup |\n\nDetails on these milestones can be found on the [Milestones page on GitHub][milestones].\n\nDocumentation on how to work with agents [can be found on the documentation pages][ai].\n\n\u003csmall\u003e*Due to the nature of the strategists with GameplayKit's AIs, it is impossible to complete this milestone.\nCurrently, the goal is to supply custom agents that attempt to solve the world.\u003c/small\u003e\n\n\u003csmall\u003e\u003csup\u003e✝\u003c/sup\u003eDue to limitations with the second milestone, beating Apple is not really possible.\u003c/small\u003e\n\n## Build instructions\n\n### Requirements\n\n- Xcode 12.2\\* or higher\n- macOS 11.0 (Big Sur) or higher\n- [KeyboardShortcuts][keys] (added when cloning)\n- [GBMKUtils][utils] (added when cloning)\n- (Optional, but recommended) [SwiftLint][linter]\n\n1. Clone the Xcode project and ensure that dependencies are install with the Swift Package Manager.\n2. In the project settings, change the bundle identifier to your own bundle identifier (See Game Center, In-App\n    Purchases).\n3. Run the **Game** scheme to build the project in Xcode.\n\nTo make a release version, click on the destination (\"My Mac\") and select \"Any Mac (Apple Silicon, Intel)\", then go to\n**Product \u0026rsaquo; Archive**.\n\n### Game Center\n\nThe Costumemaster integrates with Game Center to allow players to earn achievements, challenge others, and rank in the\nleaderboards for the best scores on levels (scoring system similar to what AI agents use). Game Center is a service that\nrequires an Apple Developer account and an app registered in App Store Connect with the bundle identifier of the game.\nTo test Game Center achievements, make sure that you update the build identifier in the project to the app's identifier\nin App Store Connect and make sure that the achievements with the IDs listed in [GameAchievements.swift][gcachieve] in\nthe Achievements list of the Game Center section.\n\n![Game Center](https://github.com/alicerunsonfedora/CS400/raw/root/.readme/gamecenter.png)\n\nTo access features like the new access point and leaderboard submission, ensure that Xcode includes at least the macOS\n11.0 SDK.\n\n### In-App Purchases\n\nThe Costumemaster also integrates with StoreKit to provide in-app purchase support for DLC content such as \"Watch Your\nStep!\". In-app purchases require an Apple Developer account with an app registered in App Store Connect with the bundle\nidentifier of the game. In-app purchases will need to be configured with the IDs listed in \n[IAPManager.PurchaseableContent][iapcontent] in App Store Connect.\n\n### About SwiftLint\n\nThis project includes support for SwiftLint, a utility that enforces recommended Swift styling practices. While it is\nnot required to install SwiftLint to build the project, it is highly recommended. The project, during build, will do the\nfollowing with SwiftLint:\n\n- Resolve any quick, auto-correctable fixes with `swiftlint autocorrect`.\n- Run the linter on all source files and present warnings/errors in Xcode after running.\n\nThe following practices are also being implemented with SwiftLint:\n\n- Lines should be no longer than 120 characters long, similar to PEP8 standards with Python.\n- Function body length will be ignored.\n- Bodies for types should not exceed 400 lines (warnings issued at 250 lines).\n- Files should not exceed 1000 lines (warnings issued at 500 lines).\n- When possible, avoid making a filtered list and iterating over it; use the `for x in x where y` format instead.\n\n### Documentation\n\nDocumentation is handled by [Jazzy][jazzy], a documentation generator provided by Realm. Follow the instructions to\nbuild the documentation:\n\n1. Run `bundle install` to install the dependencies needed. In some cases, you may need to set parameters for installing\n    sqlite3 or for installing the Xcode Command Line Tools.\n2. Run `docs_build.sh` to build the docs.\n\n---\n\n(C) 2020 Marquis Kurt. All rights reserved. Game Center, the Game Center logo, SF Symbols, and macOS are registered\ntrademarks of Apple Inc.\n\n\u003e For olders versions of The Costumemaster (v1.x-v2.0.0), music is written by Kai Engel.\n\n\u003c!-- Links in page --\u003e\n[milestones]: https://github.com/alicerunsonfedora/CS400/milestones?direction=asc\u0026sort=due_date\u0026state=open\n[linter]: https://realm.github.io/SwiftLint/\n[utils]: https://github.com/alicerunsonfedora/GBMKUtils\n[keys]: https://github.com/sindresorhus/KeyboardShortcuts\n[gcachieve]: ./Conscious/Enums/GameAchievments.swift\n[iapcontent]: ./Conscious/Classes/App/Purchases/IAPManager.swift\n[jazzy]: https://github.com/realm/jazzy\n[proposal]: ./Guides/Project%20Proposal.md\n[license]: LICENSE.txt\n[docs]: https://costumemaster.marquiskurt.net\n[ai]: https://costumemaster.marquiskurt.net/working-with-agents.html\n\n\u003c!-- Image links --\u003e\n[img-license]: https://img.shields.io/github/license/alicerunsonfedora/CS400\n[img-version]: https://img.shields.io/github/v/release/alicerunsonfedora/CS400\n[img-docs]: https://costumemaster.marquiskurt.net/badge.svg\n[img-swift]: https://img.shields.io/badge/swift-5.3-orange.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falicerunsonfedora%2Fcostumemaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falicerunsonfedora%2Fcostumemaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falicerunsonfedora%2Fcostumemaster/lists"}