Giter VIP home page Giter VIP logo

number-nibbler's Introduction

number-nibbler

A basic math-based children's game. Made in the Love2D framework.

This game is also on Google Play

number-nibbler's People

Contributors

david1socha avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

dandruk

number-nibbler's Issues

Replace flies

Once a fly is eaten, it should be replaced, ensuring that there are neither too many nor too few correct flies and resorting several flies if necessary (to avoid giving away obvious answers).

Support non-square grid

Since a typical phone/computer screen will have more horizontal space than vertical space, it makes sense to have non-square grids to maximize space usage.

Add different playable characters

From a technical standpoint should be virtually no work. Just add a menu selection and swap which images are used in the game. Art-wise, the original character image can probably be used as a baseline, but the shape and color should probably be altered moderately.

Scale grid elements based on box size

Player, enemy, flies, etc. should scale on box_size, which itself is based on the minimum of width or height. This should make things look better at extreme resolutions

Add splash screen/ other stuff on level change

Right now level changes are very abrupt and somewhat meaningless. This experience could be improved by adding a separate level advancement screen and possibly speeding up some aspects of gameplay on level advancement.

Add loss animation/sound

Add a simple defeat sprite and sound when the user fails, to make the defeat clearer. Also consider adding information about the reason for failure (time ran out, enemy attack, incorrect selection etc.).

Fun Cutscenes between levels

Might be tricky since love 2d doesn't support video playback. Would require coding whatever animations took place.

Post-defeat movement

If a player has a destination as they are defeated by an enemy, right now they will continue on to that destination despite being defeated and inactive, which doesn't make much sense. Add some check in player's update method to prevent this.

Add instructions

Steps to page through describing rules/gameplay. Pictures would probably be helpful

Warning box can go offscreen slightly

When a box is near the edge of the screen, it might not display fully. I assume this is because the substantial line width causes the line to begin being drawn before the actual x/y positions. Could be fixed by adding an offset equal to that added by line width, though the box size would also need to be reduced accordingly.

Overlapping sounds

Two sounds can be playing at the same time. For certain combinations (e.g. danger sound and victory sound), this sounds pretty bad. Look into a way to check if some sound is already playing perhaps? Else track duration of sounds to know if a sound is being played.

Use relative distances

Because screen sizes could vary considerably, it would be best to eventually use relative sizes for all drawings in the game.

Add enemies

Add enemies that move around the board and can damage the player

Add lives

Lose life on each mistake.
Lose life when monsters hit player
Gain after x points?
When all lives gone, game over (go to menu)

Add quit button

Selectable from menu/pause, probably use love.event.quit() if that works on the android port. If there's a way to read the back button and let that quit it would also be good.

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.