Skip to content

Yascob99/BluePrinceArchipelago

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues License: MIT


Blue Prince Archipelago

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License

About The Project

This is an in development Archipelago mod for the 2025 roguelite puzzle game Blue Prince. Please note that the mod is not currently playable yet and is still being developed.

Special Thanks to:

  • ChaseoQueso for the item code and archipelago version of items
  • Mac for helping out on the mod and APworld
  • deefdragon and BatemenzDW for their work on the APworld.
  • Shavnir for helping out with the mod.
  • The Silksong/HK community for a lot of great tools which made modding so much easier.

(back to top)

Getting Started

If you are a player, there's no installation instructions yet. If you are developer please check out the Installation section.

Prerequisites

Please make sure you have Bepinex 6 installed as we need the IL2CPP support.

Installation

  1. Install Bepinex 6
  1. Clone the repo
    git clone https://github.com/Yascob99/BluePrinceArchipelago.git
  2. Change git remote url to avoid accidental pushes to base project or check out Contributing if you want to help contribute instead.
    git remote set-url origin github_username/repo_name
    git remote -v # confirm the changes
  3. Add extra nuget package locations
   dotnet nuget add source https://nuget.samboy.dev/v3/index.json --name Samboy
  1. If nuget didn't install the required dependencies and the previous step didn't fully fix the issue, you will need to run the following to install these packages by running these commands in the project folder.
    dotnet add package BepInEx.Unity.IL2CPP --version 6.0.0-be.755
    dotnet add package Archipelago.MultiClient.Net --version 6.7.1
    
  2. Create a new file in the root of the repository and call it Directory.Build.props. Add this to the file replacing the directory "Path/To/BluePrinceHere/" with the path to your Blue Prince Installation:
<Project>
	<PropertyGroup>
		<BluePrinceDir>Path/To/BluePrinceHere/</BluePrinceDir>
	</PropertyGroup>
</Project>
  1. After you have built for the first time you will need to copy the Archipelago dll into the BluePrinceArchipelago folder. This will appear by default in C:\Users\USERNAME\.nuget\packages\archipelago.multiclient.net\6.7.1\lib\net6.0\Archipelago.MultiClientNet.dll. Copy this into the Blue Prince\BepInEx\plugins\BluePrinceArchipelago folder

(back to top)

Other Useful Tools

  • Cinematic Unity Explorer - download BIE 6.X be.647+ IL2CPP then get the plugin into the Blue Prince\BepInEx\plugins folder

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

For more examples, please refer to the Documentation

(back to top)

Development Roadmap

  • Rooms
    • Ability to change initial draft pool and dynamically add back in rooms to the pool.
    • Add ability to add extra copies of rooms to the pool
    • Add better handling of certain rooms that rely on other events to be added to the pool (eg. Morning Room)
    • Add ways of better handling upgraded rooms.
  • Items
    • Create AP assets for replacement unique item locations
    • Handle recieving items mid-run and remove it from the appropriate inventories.
    • Handle Junk item rewards.
    • Handle Permanent items (rewards that persist between days).
  • Reverse Engineering
    • Find events to hook to track if a run is ongoing so items and traps, and deathlinks can be applied at the proper times.
    • Find out how shops choose their inventory and how to change it based on our items.
      • Find out how to add checks that can be bought at a randomized price (for other players).
    • Look into how the trading post functions and how to handle replacing the tradeable items with AP versions when appropriate.
    • Find a place to hook for trunk goals.
  • Goals
    • Find where to hook for specific goals being achieved.
  • Archipelago
    • Create the logic for handling events from the AP server.
    • Create a reconnect logic that will reconstruct as much of the state as possible from the Data from the AP Server.
    • Create a way of storing run specific data in case of a game crash. (eg which save file, any queued checks, any temporary effects applied to the current day)
  • UI
    • Create a better looking UI
    • Add a menu option for Archipelago Mode on creating a new file.
  • Potential Long Term Goals
    • Check the ease of changing puzzles like the Mora Jai puzzles for use in future optional modes.
    • Add in the ability to swap in first enter room checks for a physical item hidden inside each room.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT. See LICENSE.MD for more information.

(back to top)

About

A Bepinex plugin for Archipelago in Blue Prince

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages