Code Monkey home page Code Monkey logo

shoshin's People

Stargazers

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

Watchers

 avatar

shoshin's Issues

Shoshin cairo-rs execution

Storing a pointer casted to a felt inside a dictionary seems to pose a problem to cairo-rs (lambdaclass/cairo-vm#679).

Shoshin current code makes use of this operation in order to store the binary tree operators of each agent, which prevents it from being ran with cairo-rs.

Reconsider block's effect on stamina

Currently, body being in block state regenerates stamina; blocking an opponent's attack does not affect stamina. I propose:

  • 1. Draining the blocker's stamina when staying in active frames of block - in real life, actively blocking requires exerting tension on muscle.
  • 2. Consuming a non-trivial amount of the blocker's stamina when blocking an opponent's attack successfully. This is similar to breaking defense common in fighting games.

Improve hitbox dimension accuracy

The action hitbox dimension and position for every offensive/defensive move for each character type (Jessica / Antoc) can be improved to match the corresponding sprites.

Example:
image

Jessica's upswing action hitbox (red rectangle above) should be taller, narrower, and originate from closer to the ground.

Note that we are currently compromising by using a single rectangle hitbox for every action. In the future we should use variable amounts of variedly-sized rectangles to approximate the shape of actions and bodies much more accurately, similar to what Skullgirls did:

image

Implement Jump for Jessica

  1. Implement Jump. Tune initial velocity for gameplay requirement.
  2. Allow Jump to be interruptible into Knocked, and handle Knocked-from-midair animation correctly.

Differentiate between attack moves

Differentiate between these moves in terms of # of active frames, damage, hitbox shapes etc.

  • 1. differentiate between Jessica's Slash, Upswing, and Sidecut
  • 2. differentiate between Antoc's Hori and Vert

Reconsider block's active frames

Intuitively, the block would require start up frames, but once started up, the block should remain active. Right now, even when the intent remains in block indefinitely, the body would cycle through the start up, active, and recovery frames, and return to start up. This violates the convention of fighting games.

Implement multi-active-frame and double frame count across all moves

This allows:

  • running the game at higher FPS, which makes control smoother in real time mode
  • halving the velocity & acceleration values, which reduces the likelihood of unwanted tunneling
  • halving the velocity values allowing smoother movement instead of jumpy skippy movement

Reposition block's action hitbox

As shown in the following footage, blocking an opponent's attack when two bodies are in contact will fail. The action hitbox of block needs to be nudged a bit towards the player's own body.

Screen.Recording.2023-05-12.at.12.21.07.AM.mov

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.