Coder Social home page Coder Social logo

pathos-official's Introduction

Pathos Official

This repository contains all content definitions and module generations for the traditional roguelike game Pathos. Fork this repository to start creating a new variant of Pathos! All game assets such as images, sounds and translation files reside in this repository.

Licensing

Pathos has never been monetised and it is required that variants must not be commercialised in any way.

Getting started

The content definitions and module generations are declared as C# code. This code must be built into an assembly before it can be executed by Pathos. The main project compiles against the assemblies for the installed version of Pathos for Windows Desktop. The game installation files include the PathosMaker.exe tool which is automated to process the asset pipeline.

Installation steps

  1. Download Pathos for Windows Desktop.
  2. Install Pathos to C:\Games\Pathos **.
  3. Fork the Official public repository.
  4. Install Microsoft Visual Studio 2022 or Microsoft Visual Code plus build tools.

** you will need to edit the paths in PathosOfficial.csproj if you don't use this default location.

Visual Studio 2022

  1. Install Visual Studio Community with the .NET Desktop Development workload.
  2. Open PathosOfficial.sln.
  3. Run PathosOfficial project.

Visual Studio Code and Build Tools

  1. Install Visual Studio Code.
  2. Install Visual Studio Build Tools with the .NET desktop build tools workload.
  3. Install Visual Studio Code extension C# for Visual Studio Code (powered by OmniSharp).
  4. Open PathosOfficial.code-workspace.
  5. Press Ctrl+Shift+B to build.
  6. Press F5 to run PathosOfficial project.

If these steps are successful, the Pathos game will launch, running the forked code. Exit the game and make a minor change to the code before building and running again to see the difference in the game.

NOTE: when the Pathos game self-updates you need to pull the latest commits from the Official repository and vice versa.

Project overview

The main file is PathosOfficial.cs as it the top-level class that declares the campaign content and modules.

Folder Description
Albums mp3 files for sound effects
Assets translation files, change updates and music tracks
Atlases png files for tilesets
Codex C# files for content definition
Modules C# files for module generation
Resources Additional files referenced by the content and modules
Reports Generated text file to visualise the declared content

Concepts and terminology

The Manifest is a neutral content definition that is executed by the game engine. It is intended to have no knowledge of the individually declared content.

The Codex is a way of naming the individual content that is registered in the manifest. This is useful for declaring content and for writing module generation algorithms as it allows direct reference to content. For example, the barbarian class starts with the two-handed sword item.

Because of the way .NET JIT (Just-In-Time) compilation works, it is desirable to serialise the codex into a binary file. This is named Pathos.Codex and is automatically compiled by the PathosMaker tool.


Please reach out to me for any help or even just to share your variant :)

Email mailto:[email protected]

Twitter https://twitter.com/callan_hodgskin

Reddit https://www.reddit.com/r/pathos_nethack

Discord https://discord.gg/TRhRZhX

Made with Invention https://gitlab.com/hodgskin-callan/Invention

pathos-official's People

Contributors

callanh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pathos-official's Issues

Broken box in item pile

In the windows version, if a broken box is in a pile and one double-clicks the floor, it only opens the box -- it doesn't bring up the select-and-take option. The box must be moved of the pile first.

[support] problem installing through lutris

Hi, thanks for this wonderful game :)
I have problems installing it on my Manjaro through lutris, the installer gives Command exited with code 13568. "The Internet" says that should be related to missing mfc42 libs, so i installed them on my host via winetricks mfc42, switch lutris to use the system winetricks for the installer (not sure though what that means, does lutris deploy a separate winetricks for each game in some sandbox otherwise? i was not able to find out how i could modify the enclave env that lutris created for the installer).

Any ideas how i can proceed?

resort,VSCode build failed

Hi, thanks for this wonderful game :)

I am not very proficient in programming. After following your steps to install, the Ctrl+Shift+B build failed, causing a headache. Is there anything wrong? Can you help me? Thank you.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.