Coder Social home page Coder Social logo

itsdorosh / emoji-shooter Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 469 KB

A minimalistic first-person shooter in which you have to shoot emojis flying at you. ๐Ÿ˜ˆ

JavaScript 85.05% HTML 7.72% CSS 7.23%
game game-controller threejs vanilla-javascript

emoji-shooter's Introduction

emoji-shooter

A minimalistic first-person shooter in which you have to shoot emojis flying at you. ๐Ÿ˜ˆ

โ„น๏ธ Based on the classic webdev stack (html/css/js) and three.js library.

pic


Structure

main.js (ui)

The upper level of the architecture, contains the initialization and launch code as well as for managing various states of the ui part (buttons, labels, etc.).

engine.js

Responsible for the game logic:

  • creating enemies
  • firing shots
  • destruction of enemies on hit
  • calculation of points for hits
  • game over conditions
  • game control: start-pause-stop

This layer receives events from controls and call methods of the viewer.

controls.js

A layer that listens events from the different input sources and has an event system.

viewer.js

API for working with the 3D part of the system:

  • creating and deleting objects
  • camera movement control
  • lighting control on scene

raycaster.js

API for selecting objects by coordinates, has filtering by object types, can search in a specific space (scene by default).


Schema

See the schema for more details: pic

emoji-shooter's People

Contributors

itsdorosh avatar

Stargazers

Kateryna Fastovets avatar

Watchers

James Cloos avatar

Forkers

goddammcarti

emoji-shooter's Issues

Add touchscreen support

With this feature user should be able to open the game app on his mobile phone, as far as we have responsible design we will not have any issues to play it on the phone. So we simply need to implement shooting by the user's tapping.

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.