All Projects → kentywang → Agamari

kentywang / Agamari

Licence: MIT License
🍙 Katamari × Agar.io

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to Agamari

TweetMigration
A WebGL heatmap of global Twitter activity
Stars: ✭ 42 (-8.7%)
Mutual labels:  threejs, socket-io
cannon-es-debugger
Wireframe debugger for use with cannon-es https://github.com/react-spring/cannon-es
Stars: ✭ 69 (+50%)
Mutual labels:  threejs, cannonjs
Bombanauts
Bombanauts, inspired by the original Bomberman game, is a 3D multiplayer online battle arena (MOBA) game where players can throw bombs at each other, make boxes explode, and even other players!
Stars: ✭ 54 (+17.39%)
Mutual labels:  threejs, socket-io
apate-ar
Framwork for environment aware AR with occlusion, lighting PBR rendering, physics support (cannon.js), based on three.js
Stars: ✭ 77 (+67.39%)
Mutual labels:  threejs, cannonjs
WebGL-Billiards
ThreeJS based 8-ball pool
Stars: ✭ 28 (-39.13%)
Mutual labels:  threejs, cannonjs
EduSmart
It utilizes 3D, Augmented reality to give real-life simulations or feels of various models and make the learning process more impactful and fascinating. With an interactive live feature, students can ask the teacher their doubts instantly and also discuss.
Stars: ✭ 23 (-50%)
Mutual labels:  threejs, socket-io
annihilate
js action game
Stars: ✭ 49 (+6.52%)
Mutual labels:  threejs, cannonjs
three-to-cannon
Convert a THREE.Mesh to a CANNON.Shape.
Stars: ✭ 207 (+350%)
Mutual labels:  threejs, cannonjs
quantum-face-register
face register with three.js and tracking.js
Stars: ✭ 44 (-4.35%)
Mutual labels:  threejs, socket-io
d3-force-webgl-integration-demo
Integrating WebGL and D3-force to improve performance. 👻
Stars: ✭ 44 (-4.35%)
Mutual labels:  threejs
kalwalt-interactivity-AR
Some various experiments with Ar.js and Three.js
Stars: ✭ 65 (+41.3%)
Mutual labels:  threejs
caroumesh
A React component to display 3d models in a carousel-like fashion.
Stars: ✭ 63 (+36.96%)
Mutual labels:  threejs
laverna-server
Signaling Server for Laverna's P2P Differential Synchronization
Stars: ✭ 22 (-52.17%)
Mutual labels:  socket-io
2019-09
TryCatch - 레크레이션 게임 "몸으로 말해요"의 온라인 게임 🙆‍♀️ 💁 🙋
Stars: ✭ 18 (-60.87%)
Mutual labels:  socket-io
hologram
Hologram Framework | All-in-one WebVR creation.
Stars: ✭ 84 (+82.61%)
Mutual labels:  threejs
threejs-facade
ScalaJS facade for threejs
Stars: ✭ 44 (-4.35%)
Mutual labels:  threejs
rocket viewer
This simple and generic viewer allows you to visualize different kinds of data such as medical and biological images, 3D surfaces, electric signals (ECGs) and documents.
Stars: ✭ 22 (-52.17%)
Mutual labels:  threejs
mini-luck-draw
使用 Three.js 开发的一个魔方小游戏....自娱项目
Stars: ✭ 110 (+139.13%)
Mutual labels:  threejs
aframe-hit-test
A-Frame hit-testing example
Stars: ✭ 39 (-15.22%)
Mutual labels:  threejs
reboot-min-os
🎮 Three.js video game 🎮 Explore a spaceship and solve puzzles with a ball robot tethered to an electric cable.
Stars: ✭ 17 (-63.04%)
Mutual labels:  threejs

Agamari〔挙鞠〕

Live Demo Jenkins license

Physics-based 3D Multiplayer Browser Game

Inspired by Katamari Damacy and Agar.io, this is Agamari, an online multiplayer game where players compete to roll up the largest ball on a tiny planet. Along the way they might roll up each other, or even the moon.

Live Demo

A playable online build of Agamari can be found here.

Gameplay Mechanics

Agamari is designed to be a simple-to-understand game that relies on intuitive physics for its gameplay mechanics. Players join each game as small spherical rocks with one purpose for existence: to roll up everything they can on the planet. Rocks are able to only pick up objects smaller than themselves. However, each object added increases a rock's size, allowing for larger and larger things to be rolled up as the game progresses. Items rolled up affect the mass and shape of a rock, bringing challenges and strategy to picking up different objects. Eventually, players may encounter other players, and if they are larger, can roll them up as well.

Architecture

Agamari is built on Node.js using Socket.IO for client-server interaction, Three.js for 3D graphics rendering, Cannon.js for the physics engine, React for HTML rendering, and Redux for both client and server app state and game state management.

alt text

Handling of the game logic is distributed between the client and the server. Clients run their own physics calculations to compute their next position and orientation, while the server manages and modifies the master game state according to game logic and client events such as collisions with objects or other players.

How to Play

  • Use the arrow keys (or WASD) to move your rock.
  • Roll over objects or players smaller than your rock to pick them up and grow.
  • Avoid being rolled up by larger players.
  • Hold & release the spacebar while holding down an arrow key to launch yourself in that direction.

More Tips

  • Your volume determines what you can or can not roll up. You can only roll up objects or players with less volume than yourself.
  • Objects spawn randomly across the planet. They are usually scaled to the size of the smaller players, although occasionally large spawns occur.
  • Players farther ahead in volume gain volume from objects at a slower rate. To keep their lead, hunting other players is a more efficient tactic.
  • The larger you are, the heavier and more unwieldly you become, making movement more cumbersome. Be aware of what and how you pick up different objects and players.

Installation

To install Agamari on your computer, you will need Node.js with NPM and PostgreSQL.

Once you have Node.js with NPM, install the game's dependencies with the following command:

npm install

When the dependencies have been installed, open PostgreSQL and create a database with the following command:

CREATE DATABASE agamari;

Then start the server with the following command:

npm start

The game will then be accessible at http://localhost:8000.

Help

Create an issue if you need help.

Credits

Thanks to p0ss for the "eating" sound.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].