All Projects → voithos → Swiftcode

voithos / Swiftcode

Licence: mit
Multiplayer, interactive, realtime typing speed game

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Swiftcode

Epoh
Multiplayer turn-based browser strategy game
Stars: ✭ 11 (-86.75%)
Mutual labels:  game, multiplayer
Halomd
New demo version of Halo for the Mac.
Stars: ✭ 36 (-56.63%)
Mutual labels:  game, multiplayer
Much Assembly Required
Assembly programming game
Stars: ✭ 869 (+946.99%)
Mutual labels:  mongodb, game
Librg
🚀 Making multi-player gamedev simpler since 2017
Stars: ✭ 813 (+879.52%)
Mutual labels:  game, multiplayer
Mage
Magic Another Game Engine
Stars: ✭ 1,180 (+1321.69%)
Mutual labels:  game, multiplayer
Frag.exe
Multiplayer First-Person Shooter written in C++ using my own engine, Qor
Stars: ✭ 8 (-90.36%)
Mutual labels:  game, multiplayer
Doom Lgs
A multiplayer Node.js light gun shooter inspired on Doom
Stars: ✭ 36 (-56.63%)
Mutual labels:  game, multiplayer
Openspades
Compatible client of Ace of Spades 0.75
Stars: ✭ 769 (+826.51%)
Mutual labels:  game, multiplayer
Open Samp Api
An open source API for GTA SA:MP
Stars: ✭ 56 (-32.53%)
Mutual labels:  game, multiplayer
Vett
P2P Dots & Boxes game with WebRTC & WebTorrent
Stars: ✭ 49 (-40.96%)
Mutual labels:  game, multiplayer
Khan
khan will drive all your enemies to the sea (and also take care of your game's clans)!
Stars: ✭ 22 (-73.49%)
Mutual labels:  game, multiplayer
Soldat
Soldat is a unique 2D (side-view) multiplayer action game
Stars: ✭ 1,199 (+1344.58%)
Mutual labels:  game, multiplayer
Ancientbeast
Turn Based Strategy Game. Master your beasts! 🐺
Stars: ✭ 907 (+992.77%)
Mutual labels:  game, multiplayer
Retrotanks
RetroTanks: Atari Combat Reimagined, built in Meteor.js. Great isomorphic JavaScript example.
Stars: ✭ 9 (-89.16%)
Mutual labels:  game, multiplayer
Veloren
[Mirror] An open world, open source voxel RPG inspired by Dwarf Fortress and Cube World
Stars: ✭ 868 (+945.78%)
Mutual labels:  game, multiplayer
Dodgem
A Simple Multiplayer Game, built with Mage Game Engine.
Stars: ✭ 12 (-85.54%)
Mutual labels:  game, multiplayer
Open Builder
Open "Minecraft-like" game with multiplayer support and Lua scripting support for the both client and server
Stars: ✭ 569 (+585.54%)
Mutual labels:  game, multiplayer
Gameproject3
游戏服务器框架,网络层分别用SocketAPI、Boost Asio、Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。还包含一个不断完善的Unity 3D客户端,客户端含大量完整资源,坐骑,宠物,伙伴,装备, 这些均己实现上阵和穿戴, 并可进入副本战斗,多人玩法也己实现, 持续开发中。
Stars: ✭ 655 (+689.16%)
Mutual labels:  game, multiplayer
Multiplay Grpc Server
gRPC server for Multiplaying in Rust
Stars: ✭ 41 (-50.6%)
Mutual labels:  mongodb, multiplayer
Craft
A simple Minecraft clone written in C using modern OpenGL (shaders).
Stars: ✭ 8,957 (+10691.57%)
Mutual labels:  game, multiplayer

SwiftCODE

SwiftCODE is a multiplayer, interactive, realtime typing speed game for coders.

How to play

The app is built around 2 main pages.

  • After logging in, or choosing to be anonymous, the user is redirected to the lobby, where the currently active games are shown. From here, they can choose to join a game or create their own (either single-player or multiplayer) from a set of preconfigured programming languages.

  • Once the user has created or joined a game, they are redirected to the game screen where the code snippet loads. There they wait until another user joins their game, after which the countdown begins. Each game can have a maximum of 4 players. Once the game starts, players must type the provided code as fast as possible. Throughout this, the players' current positions are shown to each other in real-time, and at the end some statistics are shown.

Vision

As programmers, we rely on many tools while coding. A keyboard is usually the most basic and most important of all such tools. Of course, there are far more important skills that a developer must have than typing speed. That being said, however, it's still great fun to hear the keys clicking away as you furiously write out some code. In fact, it's so fun, why not make it into a game? And a multiplayer one at that!

In the past, I've enjoyed typing games, but there is a large difference between typing natural language, and typing code (even the choice of programming language can make a significant difference!). I had found Typing.io a while back, which is great fun - but unfortunately doesn't support any kind of multiplayer.

The goal of this project was to fill that gap - to create a multiplayer, interactive, typing game for developers! I envisioned multiple players simultaneously receiving a piece of code, getting ready, and then racing each other to type out the code, all while streaming the progress of each player to his opponents, and animating their progress via multiple cursors on the player's screen.

Installation

Requirements

  • Node.js and NPM (v0.10)
  • MongoDB (v2.4)

Download

Grab the source code and the NPM dependencies.

git clone https://github.com/voithos/swiftcode.git
cd swiftcode
npm install

Configure

Create a database in MongoDB for SwiftCODE, and create a MongoDB user account that SwiftCODE will use to connect.

mongo
> use swiftcode
> db.addUser({ user: 'swiftcodeuser', pwd: 'password', roles: ['readWrite'] })

Copy the sample settings.js.example.js file to settings.js, and fill out the settings as desired (specifically, you must provide the database settings to your MongoDB).

cd src
cp settings.js.example.js settings.js
vim settings.js

SwiftCODE does not come with code exercises preloaded, but does have a simple admin interface which allows for the definition of new languages, projects, and exercises. An admin user is required to access the interface, which can be created through grunt (note, this requires the database settings to be in place).

grunt add-admin

The following prompt is for a username and a password (must be >= 8 characters). Once an admin user has been added, the admin interface can be accessed after logging in, using the link in the drop-down in the top-right corner of the page.

Run

At this point, SwiftCODE should be fully set up, and runnable.

./runserver.js

Success!

Open Source

Without open source technologies and libraries, this project would not be possible. A great thanks goes to all of their creators. Listed in no particular order:

  • Node.js
  • Express
  • Socket.IO
  • MongoDB and Mongoose
  • Bootstrap
  • jQuery
  • Knockout.js
  • Highlight.js
  • Lo-dash
  • Moment.js
  • Jade
  • Passport
  • Cheerio
  • Helmet
  • Alertify
  • Favico.js
  • Mousetrap
  • And of course, HTML5 itself!
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].