All Projects → rlafranchi → Pong

rlafranchi / Pong

Licence: mit
Two player Pong reinvented using Vue.js and Rails w/ Action Cable

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Pong

Lol dba
lol_dba is a small package of rake tasks that scan your application models and displays a list of columns that probably should be indexed. Also, it can generate .sql migration scripts.
Stars: ✭ 1,363 (+1249.5%)
Mutual labels:  rails
Instagram api gem
A Ruby wrapper for the Instagram API
Stars: ✭ 100 (-0.99%)
Mutual labels:  rails
Graphql devise
GraphQL interface on top devise_token_auth
Stars: ✭ 100 (-0.99%)
Mutual labels:  rails
Opendiablo2
An open source re-implementation of Diablo 2
Stars: ✭ 10,057 (+9857.43%)
Mutual labels:  game
Ascii Runner
An infinite runner in your terminal
Stars: ✭ 100 (-0.99%)
Mutual labels:  game
Roguebot
My simple rogue-like game for Telegram
Stars: ✭ 100 (-0.99%)
Mutual labels:  game
Yabeda Rails
Yabeda plugin to collect basic metrics for Rails applications
Stars: ✭ 99 (-1.98%)
Mutual labels:  rails
Activerecord Clean Db Structure
Automatic cleanup for the Rails db/structure.sql file (ActiveRecord/PostgreSQL)
Stars: ✭ 101 (+0%)
Mutual labels:  rails
Qake
Qake voxel-engine demo
Stars: ✭ 100 (-0.99%)
Mutual labels:  game
Isocitysim
🌇 A simulation of a city using isometric tiles
Stars: ✭ 100 (-0.99%)
Mutual labels:  game
Splits Io
a speedrunning data store, analysis engine, and racing platform
Stars: ✭ 99 (-1.98%)
Mutual labels:  rails
Simpacker
Use modern JavaScript build system in Rails.
Stars: ✭ 100 (-0.99%)
Mutual labels:  rails
Material design lite Sass
Google's Material Design Lite with Material Icons and Roboto font for Ruby applications
Stars: ✭ 100 (-0.99%)
Mutual labels:  rails
Openrct2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Stars: ✭ 10,115 (+9914.85%)
Mutual labels:  game
Micro Racing
🚗 🏎️ 🎮 online 3D multiplayer neural networks based racing game
Stars: ✭ 100 (-0.99%)
Mutual labels:  game
Nuvie
Nuvie - New Ultima VI Engine
Stars: ✭ 99 (-1.98%)
Mutual labels:  game
Test track
Server app for the TestTrack multi-platform split-testing and feature-gating system
Stars: ✭ 100 (-0.99%)
Mutual labels:  rails
Simple recommender
A simple recommendation engine for Rails/Postgres
Stars: ✭ 101 (+0%)
Mutual labels:  rails
Matchimals.fun
🦁 🃏 📱 An animal matching puzzle card game– built with turn-based game engine boardgame.io and React-Native + React-Native-Web
Stars: ✭ 101 (+0%)
Mutual labels:  game
Android2048
Android 2048
Stars: ✭ 100 (-0.99%)
Mutual labels:  game

pong

Pong reinvented using Rails and Vue.js

This purpose of this app was to demonstrate the use of a progressive JavaScript framework Vue.js and Rails ActionCable to build a two player pong game that can be played over the web.

Demo

Just over 500 games have been played on the demo. I decided to request a $1 donation at the end of the game. If you found this helpful in any way, support the project by playing a game for $1.00 and invite your friends:

https://vue-rails-pong.herokuapp.com

The Basic Architecture when Playing a Game

Pong Architecture

There also exists a GamesChannel which broadcasts every time a point is scored or a game changes state.

Latency issue

There exists a latency issue where a paddle's position may be behind to it's true position at a point in time. This may also exist with the ball's position as seen by the client. I'm sure this is a common issue among multiplayer games, but have no experience in that department so am open to suggestions.

Rails Dev Setup

# run the migration
rake db:migrate

# dev server
rails server

Webpack Dev Setup

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

Production Setup

The app is deployed to heroku using a nodejs buildpack and ruby buildpack. A configuartion in package.json for "heroku-postbuild" which runs npm run build before starting the Rails server.

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].