Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/schinwald/pets

A small game demo, where you watch your pets move around and eat food from their food bowl.
https://github.com/schinwald/pets

game javascript pathfinding phaser3 rollup state-machine typescript

Last synced: about 5 hours ago
JSON representation

A small game demo, where you watch your pets move around and eat food from their food bowl.

Awesome Lists containing this project

README

        

![Pets](/logo.svg)

:joystick: [Demo](https://schinwald.github.io/pets/)

## Description

Observe two distinct pets traverse the room using an A* path-finding algorithm. Add walls to the room to make it more challenging for pets to find food - or even impossible if you're evil...

- Add walls by right clicking on edges
- Remove walls by left clicking on edges
- Click on graves to remove them and spawn an egg

## Preview

None

## Learning Outcomes

- Tilemaps are a good option for dynamically building worlds
- State design pattern is extremely useful in organizing game states

## Build Requirements

[Node.js](https://nodejs.org) is required to install dependencies and run scripts via `npm`.

## Available Commands

| Command | Description |
|---------|-------------|
| `npm install` | Install project dependencies |
| `npm run watch` | Build project and open web server running project, watching for changes |
| `npm run dev` | Builds project and open web server, but do not watch for changes |
| `npm run build` | Builds code bundle with production settings (minification, no source maps, etc..) |

## Writing Code

After cloning the repo, run `npm install` from your project directory. Then, you can start the local development
server by running `npm run watch`.

After starting the development server with `npm run watch`, you can edit any files in the `src` folder
and Rollup will automatically recompile and reload your server (available at `http://localhost:10001`
by default).

## Configuring Rollup

* Edit the file `rollup.config.dev.js` to edit the development build.
* Edit the file `rollup.config.dist.js` to edit the distribution build.

You will find lots of comments inside the rollup config files to help you do this.

Note that due to the build process involved, it can take around 20 seconds to build the initial bundle. Times will vary based on CPU and local drive speeds. The development config does not minify the code in order to save build time, but it does generate source maps. If you do not require these, disable them in the config to speed it up further.