Giter VIP home page Giter VIP logo

openetg's Introduction

Test

openEtG is an open source fork of the Flash ccg Elements the Game.

Developer Instructions

Getting Started

  1. Download all dependencies listed below
  2. Clone the repository:
    git clone https://github.com/serprex/openEtG && cd openEtG
  3. Install packages:
    npm install
  4. Generate asset atlas:
    npm run build-atlas
  5. Copy sample configuration files:
    cp config-sample.json config.json
    cp wsconfig-sample.json wsconfig.json
  6. Configure config.json to connect your instance of postgresql
    • Specify the http port you will listen on for web service requests
      • This should match your wsconfig.json wsport
    • Specify the user to connect your postgres server
      • Ensure that you created the user on your postgres server and provided proper permissions
    • Specify the host of your postgres server
    • Specify the port number of your postgres server
    • Specify the database name you created on your postgres server
    • If certificates are required to access your instance, they can be included under the certs key
    • psql -f scripts/initdb.sql will generate initial schema
  7. Install WASM rust target
    rustup target add wasm32-unknown-unknown
  8. Build
    npm run build
  9. Run server
cd ./src/rs/server
cargo run

Testing

  1. Add unit tests to lib.rs
  2. To run unit tests:
    cargo test --manifest-path=./src/rs/Cargo.toml

Dependencies

  1. git
  2. nodejs
  3. postgresql
  4. rustup
  5. wasm-bindgen-cli
  6. cwebp

openetg's People

Contributors

101arg101 avatar cat09 avatar cgoetg avatar elysiumplain avatar fippe94 avatar iancudorinmarian avatar natebuckareff avatar serprex avatar trevorsayre avatar utalan avatar wesleymsmith 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openetg's Issues

Site is down

etg.dek.im seems to be down, but forum still works though

UI: ThingInst improvements

People are complaining about the size being too small

The background going white from the red marching ants is not ideal

The frozen/gpull/delayed overlays don't overlay with correct proportion

SoR on time creatures over multiple turns

SoR cannot be used for extra ability uses even on later turns. Ex:

Turn 1: Play Pharaoh, play SoR on Pharaoh, pharaoh can use ability
Turn 2: Use Pharaoh ability, play SoR on Pharaoh, Pharaoh should be able to use the ability again but cannot

etgutil.js should handle overflow

Decks are encoded in base-32. Currently if someone collects over 1023 copies of a card (vv in base-32), they'll cap out. ie 1020+7 = 1023. Instead etgutil should create a 2nd entry, eg adding 07aaa to vtaaa should result in vvaaa05aaa & removing 7 go back to vtaaa

Code then needs to work when iterdeck emits duplicate codes

Sky Blitz

Sky Blitz applies to non-airborne creatures, and does not drain remaining air quanta.

Suggestion: swap to Roboto

Current font is, well, not optimal. Swapping to some free option, such as Roboto, makes quite a difference and I don't think, it's that hard to do so.

image

image

More animations

It would be nice if cards animated systematically as they did things, e.g. as they transitioned from zone to zone, gained resources, etc. CSS animations and https://github.com/chenglou/react-motion got me far in my card game (heavy WIP)

More general note, right now I feel like I have to play the original Elements, grok it, then I can come back.

Dark Spirit Quest 5 is not accessible, typo in dependency makes it rely upon itself

openEtG/src/Quest.js

Lines 295 to 321 in c836d06

quarks.spirit5 = {
deck: '0b606015ur025us035up025uu025v2035vb015uo025uv015v8025ul018pi',
name: 'Spirit of the Dark Maiden',
morph: (ctx, card) =>
randomcard(
Cards,
card.upped,
x => x.element === etg.Darkness && x.type === card.type,
).code,
wintext:
"As the maiden falls, your powers return to normal, and your allies settle back into their original forms.\
the shadows that gripped and drained your energies recede. Your strength returns to its former glory.\
You are still feeling tired from the fight, but the storm has passed, leaving an oddly purple sky.\
In light of recent events, you decide it is probably best to get out while you can, tired or not.\
Afterall whatever lies down the road has to be less painful than risking encountering another spirit.\
...right? ... You open the creaky door and head back out down the gravel path.\
as you take your first step you hear the maiden's silvery voice echoing from the house behind you.\
'It appears you may be as stong as my sister claims. Your soul shall make a most delectable morsel.\
'We shall meet again... Don't die before then. I'd hate to lose my favorite toy.' She fades into the darkness.\
Off in the distance the storm has settled above the castle, the echos of ominous thunder growing fainter.\
You hope it will be gone by the time you get there... but given your luck so far, you don't think it will.\
Storm or not, you didn't come this far just to turn back, so you continue your treck down the path.",
info: "You turn to face your attacker, but as you call on your powers, only darkness answers.\
Your allies come to your aid but their forms have all been twisted. The dark lady laughs mischeviously.\
'You must think yourself dreaming... Well this is the nightmare realm, and I am the one in control.\
I think I will toy with you first... before I swallow your soul.' The shadows lunge toward you in a vicious attack.",
questdependencies: ['spirit5'],

Request: Contribution guide + Roadmap

I would like to contribute to this project, but the workitems are unclear. Please set up the Projects tab in GitHub, and let's work together to plot a roadmap for the future.

For instance, I would like to make a project board of workitems/bugs that are required in order to build a "classic mode" where the game is as close to the current state of Zanz's work as possible.

With clearly defined workitems, short term contributors would have an easier time finding a small job to do.

title screen pillars

some of the pillars look rather.... suspect.
especially the green one
probably not that big a deal, as i'm sure someone worked hard on that art, but I thought it might bear addressing at some point.

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.