Git Product home page Git Product logo

backdoor's Introduction

cover

At the Front Stage, from the Fateful Dream Endless saga: The Outermaze Book of Rhapsodies'

BACKDOOR ROUTE

Backdoor Route is a card-collecting deck-building rogue-like cyberpunk computer game developed in partnership with project:v. Abandoned in a colossal planet-ship traveling across the rifts of the multiverse, the survivors of a long-forgotten tragedy must venture through the ruins of a dead and hopeless world in search of the Fruits of Vanth while drifting towards what they believe to be their salvation. Play the role of one of these interdimensional immigrants in a game that closely follows the format of classic rogue-likes save for one particularity: your actions, your items, your skills, and even your character progression are all represented by cards you assemble in decks while you crawl, hack and slash your way through the world the Gods have left behind.

Running the project

On Unix systems (Linux and MacOS)

Dependencies:

  • git
  • CMake
  • Make
  • löve
  • wget
  • luajit (dev package)

If all the above are properly installed, the command

$ make

Should be enough to download, setup, and run the game.

On Windows (experimental)

After cloning the repository, download these archives into the project folder:

  1. Patched LÖVE 11.3 for windows x86
  2. Game libraries

Then, do the following:

  1. Extract love-11.3-win32-patched.zip
  2. Create a shortcut for the love.exe inside the extracted folder
  3. Move the shortcut to the root folder of the project
  4. Extract libs.zip (IMPORTANT: do it exactly where you downloaded it, i.e., the root project folder)
  5. Drag and drop the game folder onto the shortcut to run the game

After this initial setup, you can simply use step 5 to run the game whenever you want. If an error occurs because of the libraries, it's likely because the download links are outdated - ask one of the unix developers to update them.

backdoor's People

Contributors

aki-cat avatar alberdi avatar arthurtui avatar camilainetti avatar kazuo256 avatar makiyoshi avatar rafaeljpc avatar rilifon avatar zugzug90 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

Watchers

 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

backdoor's Issues

Add save file versioning

Every save file should come with a separate file in a very simple and solid format that specifies the save file's format version. For now it is okay if the game simply denies save files from unexpected versions. Example:

~/.godot/app_userdata/backdoor/route-1.save

{ ... } #data in json

~/.godot/app_userdata/backdoor/route-1.ver

0.0.3

Make life bar depend on the body's sprite's height

As it is currently, the lifebar has a fixed height in relation to the tile in which its body inhabits. I believe it would be better if the lifebar was almost directly above the body's sprite, so its height in relation to the tile is variable, and would depend on the sprite's height.

Generate routes into JSON

And then load them as any other route. This unifies all "map creation" code.

Suggestion: implement a RouteAssembler class to abstract the JSON build up.

Basic deck

Develop a basic deck for 0.0.1's vertical slice/prototype

  • Heal [ATH Skill]
  • Arcane Bolt [ARC Skill]
  • Teleport [TECH Skill]
  • Fireball [ARC Skill]
  • Laser Beam [Skill]
  • Iron Pipe [ATH Item/Wpn]: 2d6 + ATH damage
  • Combat Suit [TECH Item/Suit]: +3 armor
  • Concentration Ring [TECH Item/Acc]: card draw rate x2
  • Strong Grip [ATH Upgrade]: +3 ATH
  • Mind Focus [ARC Upgrade]: +3 ARC
  • Guidorizzi Tome [TECH Upgrade]: +3 ENG
  • Adrenaline Dose [TECH Upgrade]: +1 ATH, + 5 SPD
  • Counter [ATH Upgrade]: +2 ATH, On take damage => source takes 2d4 damage

Cursor range

Highlight tiles within the the target cursor range (like the range for teleport, etc.).

Card attributes

See the image in the assets folder. The "color names" are Athelitcs (red), Arcana (blue) and Engineering (green). Add the attribute to the card_ref

Re-think card creation process

How can we make it more data-driven, so that cards can be created directly from Godot's interface?

Solving this issue might add more issues to the v0.0.2 milestone.

Upgrade cards

  • A vanilla upgrade card
  • A static effect upgrade card
  • A trigger effect upgrade card

Version number

Add a script with the game version number. Display it on main menu, on the bottom-right corner of the screen.

Item cards durability

Durability reduction depends on the kind of item:

  • Weapons spend when you attack
  • Armors spend when you take a hit
  • Accessories spend as time passes

Split map node in two

One to be the tilemap, which manages the body views, and another to manage bodies, actors and agme logic.

Card types

Make different card types and a unique layout for each one

Backlog

Create a window displaying player's backlog

MORE CARDS!

  • Target translocation skill
  • Targeted direct damage skill
  • Self heal skill

Player creation

Simple screen when creating a new route to customize and create your player

Item cards

  • A weapon card
  • An armor card
  • An accessory

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.