Coder Social home page Coder Social logo

goobemaster / kodenkel-atom-factory Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 19.51 MB

Classic puzzle game re-imagined. Assemble molecules on a board. Browser game with vector graphics, sound, includes 14 levels.

License: GNU General Public License v2.0

JavaScript 0.68% Shell 0.16% HTML 6.68% TypeScript 92.48%
open-source-game open-source-games browser-game browser-games puzzle-game puzzle-games retro vector-graphics game typescript

kodenkel-atom-factory's Introduction

kodenkel-atom-factory

Classic puzzle game re-imagined. Assemble molecules on a board. Browser game with vector graphics, sound, includes 14 levels.

You can try it out at: https://www.kodenkel.com/games/atom-factory/

Showcase of the mini-game running in a browser

The game was designed to be played on monitors with at least HD resolution. Levels are comprised of 40x30 tiles, which makes the levels more challengeing, and varied. That said, the game works on mobile phones, but the control may be tricky there due to the small screen size.

Have fun!

If you like this project, or found it useful:

"Buy Me A Coffee"

Pre-requisites

  • NodeJS
  • npm

Building

npm install
yarn build-all
yarn esbuild-browser:dev

Later on, just simply run the ./build.sh included.

Assets

The assets are not covered by the license, only the source code.

Unzip the assets/assets.zip file before running.

Running it Locally

Serve up the contents of the work directory with your favorite web server.

PHP comes with a simple server. To use it, run the following in the work directory:

php -S localhost:7000

Then visit localhost:7000 in a modern browser.

Notice

kodenkel atom-factory, Copyright (C) 2022 Gabor Major atom-factory comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions

kodenkel-atom-factory's People

Contributors

goobemaster avatar

Stargazers

 avatar

Watchers

 avatar  avatar

kodenkel-atom-factory's Issues

Using specials after winning a level should be disabled

Currently, if let's say the eraser is used once the level is completed, a) the block that was used on is marked permanently (carried over to the next level), b) the eraser is "used up" so its not available on the next level.

I didn't check the teleport tunnel. Could be similarly buggy.

Button clicks not registered properly on Android 10 (e.g Title screen Start button)

My attention was brought to this issue on Twitter.

Possible solutions:

  • Disabling text selection via CSS
  • Registering context menu click events as well.
  • And then some...

It is unfortunate that Android has this behavior by default. Also, I'm using Android 10 and this issue seldom occurs, only if I deliberately want to reproduce, whilst the reporter of the issue consistently experience this.

Compatibility: In case local storage is disabled or unavailable

This has been bugging me for the last few days. In theory local storage is widespread now in modern browsers. But what is the guarantee that its enabled, available or otherwise readily usable?

  1. Instead of blindly using the local storage in CachedJSONData, it should be verified that its indeed available.
  2. If its not available, then the data should be loaded to the memory.
  3. If its not available, then persistent user data (e.g. score, level) should be saved to a cookie.

Now, cookies are deemed to be the enemy these days, so another fallback may be needed, like:

Informing the user that all attempts failed to persistently save their data, so pretty please enable the local storage or cookies - otherwise they need to start the game from level 1 every time. :)

https://caniuse.com/namevalue-storage

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.