Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/varkor/pokengine

An online Pokémon battle system for the web
https://github.com/varkor/pokengine

battle engine online pokemon simulator

Last synced: about 2 months ago
JSON representation

An online Pokémon battle system for the web

Awesome Lists containing this project

README

        

Pokémon Battle System
=====================

![Blastoise versus Charizard, amist a shower of hail](http://varkor.com/images/battle.gif?pixellated)

A in-progress Pokémon battle system written for the web. Has support for online multiplayer battles via websockets (given a Node.js server to run it on). The goal is to have a feature-complete, true-to-the-games battle system that anyone can adapt and include inside their own games—the battle system has gotten so complex over the years that writing one's own (that even begins to approach the complexity of the actual games) is such a massive endeavour, it seems a waste for people to spend many months (if not years) reimplementing it themselves. Other existing systems out there are either nowhere near feature-complete (and inextensible in places) or have not been built with a focus on emulating the visual side of battles. This project aims to tackle both.

At the moment, certain parts of the system are linked with (http://pokengine.org) as this is a good test-bed for integrating the battle system into a functioning overworld system, but I'll get round to completely decoupling it soon. (It oughtn't create any problems at the moment, though, as the changes will only be minor—some URL and port number changes for multiplayer battles, for instance.)

What does it have so far?
-------------------------
The main functionality is all there: you can have perfectly good battles (both trainer battles and wild battles), with a variety of moves, abilities and items. There are weather effects, status conditions, animations (of both moves and Pokémon)—you name it. Pokémon can gain experience, learn new moves and evolve. You can check the commit list, or visit (http://varkor.com/pokengine/) for a change log.

Given a Node.js server to run on, there are online battles between two players at once. I've always found it a pity that many fan games have simply left out any multiplayer functionality due to the difficulty of doing it well—with it built in, it'd be great to see many more with that ability.

What's missing?
---------------
In terms of features, most of it's there. The main haul is getting all the moves, items and abilities added (this is in progress, but it's going to take a while to complete). There are still a few later-generation features that haven't been included yet, however. These include:
- Triple Battles
- Horde Battles
- Rotation Battles
- Safari-style Battles
- Mega Evolutions
There are also still a number of minors bugs to address, but nothing that should affect gameplay too badly. If you notice anything that doesn't look quite right, or think of a feature that's been forgotten—please do add it to the issues list!

Screenshots
-----------
(Once more moves / locations / etc. have been added, I'll record a whole collection of screenshots.)
![Bulbasuar evolving into Ivysaur](http://varkor.com/pokengine/screenshots/evolution.gif)

The evolution screen in action.