https://github.com/alicerunsonfedora/costumemaster

Applied AI with GameplayKit project

https://github.com/alicerunsonfedora/costumemaster

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary

Keywords

ai game-center gameplaykit macos spritekit swift

Keywords from Contributors

interactive projection archival sequences observability gridding autograding hacking shellcodes modular
Last synced: 5 months ago · JSON representation

Repository

Applied AI with GameplayKit project

Basic Info
Statistics
  • Stars: 11
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 8
Topics
ai game-center gameplaykit macos spritekit swift
Created almost 6 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Contributing Funding License Codeowners

README.md

The Costumemaster

License Version Swift 5 Documentation

An acclaimed costume designer and software engineer wakes up from a blackout to an eerily familiar scene. But, something isn't quite... right.... Traverse through a dream-like, constantly changing bedroom and office and get out as quickly as you can. Can you make it out and figure out what's going on?

Get it on the Mac App Store The Costumemaster - A puzzle game where you switch costumes and escape | Product Hunt

Try The Costumemaster: Reloaded

The Costumemaster: Reloaded is a completely redesigned version of The Costumemaster with support for controllers, new features and improvements, and compatibility with Windows and Linux. You can get The Costumemaster: Reloaded today from the Mac App Store or from itch.io today.

Get it on the Mac App Store

Features

Feature Set

Objective

The primary objective of this project is to take the concepts from CS440: Principles of Artificial Intelligence and build a better understanding of agents and apply these concepts by implementing and comparing agents in a video game.

More information on the objective of this repository can be found in the design proposal.

Project Roadmap

| Status | Due Date | Milestone | | ------ | ----------- | ----------- | | 🟢 | September 21, 2020 | Working Game | | ❎ | October 19, 2020 | Adding Apple's agents with GameplayKit* | | ✳️ | November 9, 2020 | Adding custom agents and beating Apple | | 🟢 | November 16, 2020 | Final presentation and cleanup |

Details on these milestones can be found on the Milestones page on GitHub.

Documentation on how to work with agents can be found on the documentation pages.

*Due to the nature of the strategists with GameplayKit's AIs, it is impossible to complete this milestone. Currently, the goal is to supply custom agents that attempt to solve the world.

Due to limitations with the second milestone, beating Apple is not really possible.

Build instructions

Requirements

  1. Clone the Xcode project and ensure that dependencies are install with the Swift Package Manager.
  2. In the project settings, change the bundle identifier to your own bundle identifier (See Game Center, In-App Purchases).
  3. Run the Game scheme to build the project in Xcode.

To make a release version, click on the destination ("My Mac") and select "Any Mac (Apple Silicon, Intel)", then go to Product › Archive.

Game Center

The Costumemaster integrates with Game Center to allow players to earn achievements, challenge others, and rank in the leaderboards for the best scores on levels (scoring system similar to what AI agents use). Game Center is a service that requires an Apple Developer account and an app registered in App Store Connect with the bundle identifier of the game. To test Game Center achievements, make sure that you update the build identifier in the project to the app's identifier in App Store Connect and make sure that the achievements with the IDs listed in GameAchievements.swift in the Achievements list of the Game Center section.

Game Center

To access features like the new access point and leaderboard submission, ensure that Xcode includes at least the macOS 11.0 SDK.

In-App Purchases

The Costumemaster also integrates with StoreKit to provide in-app purchase support for DLC content such as "Watch Your Step!". In-app purchases require an Apple Developer account with an app registered in App Store Connect with the bundle identifier of the game. In-app purchases will need to be configured with the IDs listed in IAPManager.PurchaseableContent in App Store Connect.

About SwiftLint

This project includes support for SwiftLint, a utility that enforces recommended Swift styling practices. While it is not required to install SwiftLint to build the project, it is highly recommended. The project, during build, will do the following with SwiftLint:

  • Resolve any quick, auto-correctable fixes with swiftlint autocorrect.
  • Run the linter on all source files and present warnings/errors in Xcode after running.

The following practices are also being implemented with SwiftLint:

  • Lines should be no longer than 120 characters long, similar to PEP8 standards with Python.
  • Function body length will be ignored.
  • Bodies for types should not exceed 400 lines (warnings issued at 250 lines).
  • Files should not exceed 1000 lines (warnings issued at 500 lines).
  • When possible, avoid making a filtered list and iterating over it; use the for x in x where y format instead.

Documentation

Documentation is handled by Jazzy, a documentation generator provided by Realm. Follow the instructions to build the documentation:

  1. Run bundle install to install the dependencies needed. In some cases, you may need to set parameters for installing sqlite3 or for installing the Xcode Command Line Tools.
  2. Run docs_build.sh to build the docs.

(C) 2020 Marquis Kurt. All rights reserved. Game Center, the Game Center logo, SF Symbols, and macOS are registered trademarks of Apple Inc.

For olders versions of The Costumemaster (v1.x-v2.0.0), music is written by Kai Engel.

Owner

  • Name: Marquis Kurt
  • Login: alicerunsonfedora
  • Kind: user
  • Location: Bear, DE

[mar.kɪs kɚrt] He/him. iOS app and game developer.

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 406
  • Total Committers: 2
  • Avg Commits per committer: 203.0
  • Development Distribution Score (DDS): 0.012
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Marquis Kurt s****e@m****t 401
dependabot[bot] 4****] 5
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 28
  • Total pull requests: 12
  • Average time to close issues: 8 days
  • Average time to close pull requests: about 8 hours
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.82
  • Average comments per pull request: 0.08
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • alicerunsonfedora (28)
Pull Request Authors
  • alicerunsonfedora (6)
  • dependabot[bot] (6)
Top Labels
Issue Labels
task (25) bug (3) wontfix (1)
Pull Request Labels
dependencies (6)

Dependencies

Gemfile rubygems
  • jazzy >= 0
Gemfile.lock rubygems
  • CFPropertyList 3.0.4
  • activesupport 6.1.4.1
  • addressable 2.8.0
  • algoliasearch 1.27.5
  • atomos 0.1.3
  • claide 1.0.3
  • cocoapods 1.11.2
  • cocoapods-core 1.11.2
  • cocoapods-deintegrate 1.0.5
  • cocoapods-downloader 1.6.3
  • cocoapods-plugins 1.0.0
  • cocoapods-search 1.0.1
  • cocoapods-trunk 1.6.0
  • cocoapods-try 1.2.0
  • colored2 3.1.2
  • concurrent-ruby 1.1.9
  • escape 0.0.4
  • ethon 0.14.0
  • ffi 1.15.4
  • fourflusher 2.3.1
  • fuzzy_match 2.0.4
  • gh_inspector 1.1.3
  • httpclient 2.8.3
  • i18n 1.8.10
  • jazzy 0.14.0
  • json 2.5.1
  • liferaft 0.0.6
  • minitest 5.14.4
  • molinillo 0.8.0
  • mustache 1.1.1
  • nanaimo 0.3.0
  • nap 1.1.0
  • netrc 0.11.0
  • open4 1.3.4
  • public_suffix 4.0.6
  • redcarpet 3.5.1
  • rexml 3.2.5
  • rouge 3.26.1
  • ruby-macho 2.5.1
  • sassc 2.4.0
  • sqlite3 1.4.2
  • typhoeus 1.4.0
  • tzinfo 2.0.4
  • xcinvoke 0.3.0
  • xcodeproj 1.21.0
  • zeitwerk 2.4.2
Conscious.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved swiftpm
  • github.com/alicerunsonfedora/GBMKUtils 0.2.1
  • github.com/alicerunsonfedora/bunker
  • github.com/dehesa/CodableCSV 0.6.7
  • github.com/sindresorhus/KeyboardShortcuts 0.7.1
  • github.com/sindresorhus/Preferences 2.6.0