You have been an apprentice to a powerful sorcerer for as long as you can remember.

Overview

Chimera Rancher

CI build WASM build Bevy

Chimera rancher

Description

You have been an apprentice to a powerful sorcerer for as long as you can remember. However you dream of becoming a rancher, raising animals in your own pen.

The day your master died, you decided to quit the wizard tower, heading to the small town of TotallyNormalTown. This town is full of friendly people and a great variety of animals as well!

But do not forget, you are a sorcerer yourself. Everything went great until the day you split an animal in half and take the parts with you to build your own ranch of chimeras.

Now angry villagers will try to make you leave the town. Defeat them using your "friendly" chimeras and try to survive as long as possible.

Good luck.

How to play the game

The game plays with both WASD and the arrow keys ⬆️ ⬅️ ⬇️ ➡️ for movement.

To catch an animal press E when in range of an animal.

To spawn a chimera with random parts press P and the chimera should spawn under your cursor.

In order to see the stats of an animal or a chimera, click left with the mouse 🖱️ on it.

How to build and run

Linux, Windows, Mac

Clone the project:

git clone https://github.com/TheRealTeamFReSh/chimera-rancher
cd chimera-rancher

Run cargo run --release inside the project's folder:

cargo run --release

Enjoy!

WASM build

Install wasm toolchain:

rustup target install wasm32-unknown-unknown

Build the wasm binary:

cargo build --release --no-default-features --target wasm32-unknown-unknown

Run bindgen on the binary:

wasm-bindgen --out-dir ./out/ --target web ./target/wasm32-unknown-unknown/release/chimera-rancher.wasm

You should have an /out folder containing the binary and a .js file.
Now copy the web template and assets to the /out folder:

cp -R ./wasm-page-template/* ./out/
cp -R ./assets/ ./out/

Use a web server to deploy the app, e.g. python:

python -m http.server 8080 --directory ./out/

The last step is to visit the local website and enjoy the game: http://localhocp -R ./assets/ ./out/cp -R ./assets/ ./out/st:8080/

About us

  • cdsupina
  • tigleym
  • hedgein
  • nightlyside: French student in computer science and computer security engineering
Comments
  • Animal to Chimera Pipeline

    Animal to Chimera Pipeline

    • randomized stats for animals
    • splitting of stats to chimera parts
    • reassembling of stats into chimeras
    • collect animals by pressing "e"
    • test spawning chimeras by pressing "p" (combines 2 random chimera parts)
    • idle behavior for chimeras
    opened by cdsupina 2
  • Nightlyside/last day

    Nightlyside/last day

    • Made the wasm page prettier
    • Added day/night cycle
    • Limit number of parts collected to 10
    • Added main menu
    • Added sound manager
    • Added background music, sfx for step and hit
    opened by NightlySide 0
  • Nightlyside/pause menu

    Nightlyside/pause menu

    • Added basic gamestates and a pause menu
    • Added system sets to every systems so that they are not triggered by the menu

    BUG: physics still runs on the pause menu, will have to find a workaround

    opened by NightlySide 0
  • Villagers and behaviors

    Villagers and behaviors

    • Added villagers
    • Villagers pursue the player
    • Added behaviors to chimeras
    • chimeras idle if no one around, will follow the player if nearby, and pursue villagers if nearby
    • added health and attack stats
    • added health component
    opened by cdsupina 0
  • Added smooth camera with mouse offset

    Added smooth camera with mouse offset

    • Added camera plugin for movement
    • Added a component "CameraTarget" for the camera to follow
    • Added lerp to smooth the camera movement
    • Offsetting the mouse will offset the camera a bit (variable in the MainCamera res struct)
    opened by NightlySide 0
  • Spawning chimeras

    Spawning chimeras

    Chimeras can now be spawned by specifying two chimera parts. Dozens of combinations! Also combines the stats from different animals. Refactored animal spawning as well.

    opened by cdsupina 0
  • Rusty Jam 2

    Rusty Jam 2

    Gameplay

    • [x] Setup physics (rapier 2d) @cdsupina
    • [x] Spawnable animals with idle ai @cdsupina
    • [x] Controllable player character @tigleym
    • [x] Camera follow player @NightlySide
    • [x] Spawn chimeras using animal halves @cdsupina
    • [x] Chimera AI (attack, produce resources, idle, etc)
    • [x] Humans that attack player and heart of evil @cdsupina
    • [x] Day night cycle (see MUD for example of changing lighting and time keeping) @NightlySide
    • [x] Limit maximum speed for player @NightlySide
    • [x] Decelerate player when no input is pressed @NightlySide
    • [x] Pass stats from animals to chimera parts to chimeras @cdsupina
    • [x] Spawn animals in human village at night
    • [x] Spawn "horde" of villagers during day
    • [ ] Add directional attack for player (mouse click) @tigleym
    • [x] Animals run from player when approached
    • [x] chimeras and villagers attack @cdsupina
    • [ ] make catching animals more difficult maybe hold "e" while to cast a capture spell which fills up a capture bar
    • [x] ~~make chimeras only spawnable in "evil" part of map~~
    • [x] ~~prevent chimeras from going to village part of map~~
    • [ ] give chimera spawning a cooldown (1 chimera every 15 seconds)

    Environment

    • [x] Outer boundaries
    • [ ] Tiled ground
    • [ ] Obstacles (fences, houses, foliage, bodies of water, etc)
    • [x] ~~Evil ranch area~~
    • [x] ~~Human village area~~

    UI

    • [x] Inventory for collected animals @NightlySide
    • [x] select two chimera parts to combine and to spawn (instead of pressing "p") @NightlySide
    • [x] limit inventory to 10 parts (add one square to ui) @NightlySide
    • [x] add attack, regen, and range stats to animal and chimera ui (maybe reduce text and bar size) @NightlySide
    • [x] ~~Currency UI (player earns currency for producing resources from chimeras)~~
    • [x] Main menu @NightlySide
    • [x] Game over screen/menu @NightlySide
    • [x] Pause menu @NightlySide
    • [ ] chimera spawning cooldown bar

    Sounds

    • [x] background music (very important, recall Rusty Jam 1) @NightlySide
    • [ ] sound effects for animals when captured
    • [ ] sound effects for villagers when hit
    • [x] sound effects for chimeras when hit @NightlySide
    • [x] sound effect for spawning chimera @NightlySide
    • [ ] sound effect for dying chimera
    • [ ] sound effects for attacking chimeras
    • [ ] sound effects for attacking villagers

    Bugs

    • [x] first chimera spawned often has overlapping sprites
    • [x] sprite queries in behavior functions aren't aligned with their parents
    opened by cdsupina 1
The Big Cheese a webapp wherein you can share recipes with your friends.

The Big Cheese The Big Cheese a webapp wherein you can share recipes with your friends. Contributing Contributions are what make the open source commu

null 3 May 5, 2022
A canvas on which you can draw anything with ease before drawing the pixels on your small hardware display.

embedded-canvas    canvas - a piece of cloth backed or framed as a surface for a painting NOTE: This crate is still in development and may have breaki

Lechev.space 13 Aug 31, 2022
CLI game to see how fast you can guess the language of a code block!

Guess That Lang! CLI game to see how fast you can guess the language of a code block! If you like the game, please consider giving a ⭐ ! Code is retri

null 152 Dec 27, 2022
Transform your terminal into an art canvas where you can draw stuff!

Termdraw Turn your terminal into the drawing cavnas of your dream... or not! Installation To install this dream-come-true of a tool simply run cargo i

Enoki 5 Nov 23, 2022
Bevy plugin for an AssetServer that can load embedded resources, or use other AssetServers based on the path.

Bevy-Embasset Embed your asset folder inside your binary. bevy-embasset adds support for loading assets embedded into the binary. Furthermore, it can

Johnny Tidemand Vestergaard 9 Aug 4, 2022
A puzzle game where you eat your own tail to win!

taileater taileater is a puzzle game available for free here: https://szunami.itch.io/taileater This project is built using Rust and Bevy. Assets were

null 25 Dec 20, 2022
Combine simple building blocks to create smooth cameras: first-person, chase, orbit, look-at, you name it!

?? dolly Combine simple building blocks to create smooth cameras: first-person, chase, orbit, look-at, you name it! Camera rigs made with dolly are en

Tomasz Stachowiak 284 Dec 26, 2022
Small game where you play a big spider chasing small spiders, written in Rust and Macroquad.

Ludum Dare #49 Compo entry - Procedural Spider Small game where you play a big spider chasing small spiders. Each spider you catch makes you bigger! C

Jakub Arnold 16 Sep 5, 2022
This is an online game in which you program your character and he fights with other players

Game for programmers The goal of this project is to create a simple game for programmers. The essence of the game Each player has his own character th

Danila 1 Dec 10, 2021
An HTML5 game where you are a bumblebee visiting flowers

Bumble Umble Gee Our small family team made a game to compete in the Game Off 2021. In this game you play a bumble-bee visiting flowers in a meadow. G

Alan Falloon 1 Dec 1, 2021
Extreme Bevy is what you end up with by following my tutorial series on how to make a low-latency p2p web game.

Extreme Bevy Extreme Bevy is what you end up with by following my tutorial series on how to make a low-latency p2p web game. There game can be played

Johan Klokkhammer Helsing 39 Jan 5, 2023
🐝 An action-packed game where you play as a missile-dodging, laser-evading, upgradeable bumbly bee.

Beeline The last known specimens of the Andor flower, the flower with the tastiest nectar in the world, are preserved at the Mount Dared fortified mil

plam 4 Oct 6, 2022
vetovoima is an arcade game where you control gravity!

vetovoima vetovoima is an arcade game where you control the gravity! The world is a hollow circle with a star in the center. You're the Yellow Block a

Matias Klemola 6 Oct 4, 2022
Just when you thought Bevy couldn't get more ergonomic, Bvy shows up to change the game.

Just when you thought Bevy couldn't get more ergonomic, Bvy shows up to change the game. Is this a joke? You decide. Does it work? You can bet your As

Carter Anderson 40 Oct 28, 2022
Managed game servers, matchmaking, and DDoS mitigation that lets you focus on building your game

Managed game servers, matchmaking, and DDoS mitigation that lets you focus on building your game. Home - Docs - Twitter - Discord ?? Features Everythi

Rivet 58 Jun 25, 2023
This tool allows you to open one or more notebooks in Visual Studio and go hog wild exploring your systems in Bevy.

Bevyrly Bevy is rly useful, but requires some hygiene! Pronounced as /ˈbɛvə(ɹ)li/, derives from Old English, combining befer ("beaver") and leah ("cle

null 4 Feb 28, 2024
Apprentice-vscode - a port of @romainl’s excellent Apprentice Vim colour scheme to VS Code

Apprentice for VS Code apprentice-vscode is a port of @romainl’s excellent Apprentice Vim colour scheme to VS Code. The theme is available in two vari

Luna Razzaghipour 6 Dec 21, 2022
Check Have I Been Pwned and see if it's time for you to change passwords.

checkpwn Check Have I Been Pwned and see if it's time for you to change passwords. Getting started Install: cargo install checkpwn Update: cargo inst

Johannes 93 Dec 13, 2022
Ointers is a library for representing pointers where some bits have been stolen so that they may be used by the programmer for something else

Ointers is a library for representing pointers where some bits have been stolen so that they may be used by the programmer for something else. In effect, it's a small amount of free storage

Irrustible 8 Jun 4, 2022
Label Propagation Algorithm by Rust. Label propagation (LP) is graph-based semi-supervised learning (SSL). LGC and CAMLP have been implemented.

label-propagation-rs Label Propagation Algorithm by Rust. Label propagation (LP) is graph-based semi-supervised learning (SSL). A simple LGC and a mor

vaaaaanquish 4 Sep 15, 2021