Coder Social home page Coder Social logo

moggers87-games / lazycat Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 1.0 10.26 MB

Because it's like laser but lazy

Home Page: https://moggers87.itch.io/lazycat

License: GNU General Public License v3.0

Makefile 11.07% Haxe 85.76% HTML 3.17%
meow mouse laser game lazycat

lazycat's Introduction

LazyCat

LazyCat! A cat with laser eyes hunts down some lasermice.

Build LazyCat

All builds require Haxe 4.x to be installed.

JS

Run the following:

make export/js

This will produce a JS file, a HTML file, and a zip file containing the former and license files.

Run make test-js to start a simple HTTP server that your browesr can connect to.

Hashlink

Install Hashlink and then run:

make export/hl

Run make test-hl to start the game.

Native binary

Hashlink's requirements and then run:

make export/native

Run make test-native to start the game.

Cross-compiling is not supported.

Build everything

If you have all requirements installed and ready you can run:

make

This will build all targets. You can also run:

make release

This will also build a source archive.

Clean

Run make clean to remove all builds. Run git clean -dfx to completely reset the repo.

Linting

To lint code, run:

make lint

lazycat's People

Contributors

archena avatar moggers87 avatar tommybobbins avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

tommybobbins

lazycat's Issues

Include licenses and copyright notices

It's fine to distribute this repo as-is, but if I wanted to offer pre-compiled versions I would need to include the licenses of any bundled libraries.

Timer

Display a timer in the corner of the screen and display it as you "score" at the end of the game.

Don't embed assets

On JS, loading assets when starting the game seems to take a while. As the whole JS file should already be loaded this shouldn't be an issue unless decoding those assets is taking too much time.

Investigate not embedding assets - at the very least not embedding the music.

Mac produces 6 popups when running lazycat

Apparently you get a warning for every binary and library loaded, making for a total of 6 popups which is very annoying.

One way to stop this would be to statically compile all the Hashlink libs into our binary, which will (hopefully) reduce the popups to one.

Game options

Configuration options like:

  • change number or rate of duplication of mice (maybe turn that into a difficulty setting?)
  • change controls (esp. once #16 is done)
  • music volume

CI and CD

I'm always forgetting to lint and getting haxe working under Github actions would be useful for future larger projects

Windows native build

Shouldn't be too difficult but I don't know how much I'll need to use Windows native tools over cygwin

Improve README

  • build status pin
  • instructions for building
    • just JS
    • just hashlink (and the requirement to install hashlink)
    • just native (and the requirement to install hashlink)
    • just bundle the source
  • how to run lint
  • what the clean rule does and doens't do

Hashlink

Plus building native linux apps and exploring whether wasm would be helpful for load times

Asset manifest is not being populated

Example generated JS code:

		var loader = new lazycat_loader_ManifestLoader(new lazycat_loader_ManifestFileSystem("assets",haxe_io_Bytes.ofString("[]")));

Expected (ignore different paths):

		var loader = new cherry_res_ManifestLoader(new cherry_fs_ManifestFileSystem("assets",haxe_io_Bytes.ofString("[{\"original\":\"sprites.png\",\"path\":\"sprites.png\"},{\"original\":\"laser.mp3\",\"path\":\"laser.mp3\"},{\"original\":\"gaslampfunworks.mp3\",\"path\":\"gaslampfunworks.mp3\"}]")));

Something went wrong when we vendored the manifest loader from heeps, probably changes I made due to linting errors.

OpenAL device not being closed properly.

After every exit, I get this error:

AL lib: (EE) alc_cleanup: 1 device not closed

I thought I'd fixed this when getting native builds working, but it appears not.

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.