Giter Site home page Giter Site logo

jobtalle / koi Goto Github PK

View Code? Open in Web Editor NEW
373.0 10.0 54.0 99.91 MB

Koi Farm, a koi breeding game

Home Page: https://koifarmgame.com/

License: Other

CSS 3.27% HTML 1.61% JavaScript 95.12%
koi farm game procedural-generation steam itchio breeding genetic

koi's Introduction

Koi Farm

A Koi breeding game. Get it on steam or on itch.io.

alt text

Building

HTML, CSS and Javascript content is compressed using squish.py, which is included in this repository as a submodule. Before building, ensure that this library has been cloned as well.

Make sure node.js and python 3 are installed. After calling npm i to install all required packages, the following commands can be used to create binaries using electron:

Operating system Command
Windows (32 bit) npm run build-win-32
Windows (64 bit) npm run build-win-64
Linux (64 bit) npm run build-linux-64
Mac (64 bit) npm run build-mac-64

Additionally, npm run compress can be called to compress HTML, CSS and Javscript content without building binaries. The compressed HTML file release.html will be created in the project root. The file requires the audio, font, svg and language directories to run, as well as favicon.ico and manifest.json.

Translations

The game is available in several languages. Translations can be found in this repository, and new translations can be proposed there; when new translations are made, I will add them to the game.

Contributing

Contributions can be proposed by submitting pull requests. The best place to ask questions is in the official discord, which has a dedicated channel for source code related discussions.

License

Koi Farm is distributed under the Apache 2.0 with Commons Clause license.

Audio by 3xBlast.

Concept art by Samma van Klaarbergen.

Logo by Eveline Dubblinga.

koi's People

Contributors

atributz avatar bobvoorneveld avatar coca-huang avatar dependabot[bot] avatar jobtalle avatar marnovandermaas avatar staff0rd avatar tinspin 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  avatar  avatar  avatar  avatar  avatar

koi's Issues

Fish card view

Card shows a high res version of the fish, and enumerates its stats:

  • Age
  • Colors
  • Size (or weight)

Fish card image

Card image could be static (rendered as a texture by the main renderer, then converted to canvas), or dynamic, which requires a WebGL context & renderer per card.

Support for multiple ponds

Multiple ponds can be played at. When switching to another pond, other ponds are paused.

Pond selection could be done using GUI similar to a phone home view, swiping left or right moves through the ponds.

Replace palette track system by hardcoded progression system

Palette positions should not mutate. Instead, certain combinations of colors should have a certain chance to mutate into a new color.

Palette tracks will still exist (for design purposes), but palette samples will not be 2D. Instead, they will be indices.

Stereo panning model

A shared panning model which calculates pan based on screen position. This model should not use the entire possible range, and have a dead zone in the center.

Card book

A book for collecting and storing cards.

Currency

Koi can be sold. Possibly through their card view.

Pricing for koi should depend on a base price and the number of units sold. For example, the price for a certain fish can be 10 / (f * sold + 1), which means the first fish of that type gives 10 coins, and all subsequent ones less than that. In this formula, f determines how fast the price decreases.

Additionally, sold can diminish over time to prevent the market becoming saturated forever.

New pattern mixing rules

If both fish have equal layer types and an equal palette track, interpolate properties according to sigmoid samplers.

If fish are different, pick either pattern.

Always mutate in the end.

These rules assure that any new color mutation will be explicitly designed.

Shiny koi

Palette samples can have the shiny property. This adds glistering effects and possibly particles to a color. Koi can have different degrees of shininess; it may apply to one or more layers.

Audio engine

Should support panning to localize sounds produced at fish locations.

OGG is the preferred format, AAC can be a fallback for edge & safari.

Fish weight

Fish weight calculations are required for sound production & fish rating

Link manifest.json

Web app manifest can suggest the browser to display the app in landscape mode, which is desirable. Also see this.

Hand of cards

Cards should snap back into card hand when not being moved

Better hitboxes

Hitboxes are not accurate and hard to catch, they need two phases:

  • Fine phase, using exact hitboxes, and
  • Offset phase, which also triggers outside koi.

This enables fish to be picked up easier with touch controls, while preventing offset overlap.

Card book

A book with pages of cards. Some card slots have specific conditions for the card they should hold.

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.