Home - particlequest/ParticleQuest GitHub Wiki
Welcome to the ParticleQuest wiki!
For Users and SysAdmins
- Quick-Start-using-Amazon-EC2 - Quick start installation guide using Amazon EC2.
- Setup-For-Separate-Client-And-Server - How to configure ParticleQuest for separate client and Node.js backend servers.
For Developers
General info
- Backlog - Our ToDo list.
- Coding Conventions - The coding standards we intend to use. Open to (sane) discussion. :)
- Useful links - Possibly helpful external links.
Game Design
Guidelines for the implementation of specific features of ParticleQuest regarding game design.
Game mechanics
- Core Features - new functionalities and their explanation.
- Interface - features needed for the new interface.
- Enemies - how the particles are gonna be used as enemies.
- Weapon - mechanics of the weapon and more.
- Puzzles - explanation of the puzzles that will be introduced.
Game story
- Particle Zoo - original design for ParticleQuest's particles.
- Storyline - a summary of ParticleQuest's plot.
How-Tos
A series of short descriptions of how to extend the game. They cannot replace the rest of the documentation, but might get you going a bit faster… These guides are probably not exhaustive and should probably be extended
- Create a map using Tiled Map Editor - some infos about maps and Tiled Map Editor.
- Create a sprite - the part that is common to all sprites.
- Add an item - add an item to the game.
- Add a new mob - add a new mob to the game.
- Add a Non Playing Character - add a (non roaming) NPC.
- Add a persona - add a persona to the game (under the form of an armor).
- Add an achievement - add an achievement to the game.
- Miscellaneous explanations - short explanations about obscure parts of the code.
Overview
- The Client Bootstrap Process - Info about what happens when the browser loads the game client.
- Server Bootstrap Info - Mostly a stub, with info copied from the ParticleQuest Etherpad.
- Achievements - Has achievement related property list, the list of achievements, and info on how the methods are used.
- Battle System - Mostly a stub, needs work.
- Layout and Image Editing for the BrowserQuest Client - Want to change the way the BrowserQuest client looks?
- IDs - All the entities present in the "world" are identified, how do these work ?
- Messages - How the client and the server exchange
Classes
Client
- App - Property and method list done, with some good initial method descriptions.
- Bubble - Property and method list done, with good method descriptions.
- BubbleManager - Property and method list done, with good method descriptions.
- Game - Stub only, needs work.
- Storage - Initial property and method list done, some methods have descriptions.
- Npc - (npc.js) - Handles both what NPC say and how they say it.
Server
- Server - Initial property and method list done, needs more in-depth method info added.
- Connection - Basic property and method list, needs work.
- Player - Stub only, needs work.
- area.js-(server) - Complete
- character.js-(server) - Complete except for two methods.
forEachAttacker()andregen()need to be filled in and two others (attackandhealth) need to be checked for accuracy. - entity.js-(server) - Complete,
spawn()anddespawn()could probably use more clarification.
Note - Communication between the client and server happens via gameclient.js (client side) which talks to gameserver.js (server side) using the messages and entity types defined in shared/gametypes.js. See Messages.
Undocumented source code files
(turning any of these into class docs, like those above, is encouraged)
Client (Javascript)
- client/js/animation.js
- client/js/area.js
- client/js/audio.js
- client/js/build.js
- client/js/camera.js
- client/js/character.js
- client/js/chest.js
- client/js/config.js
- client/js/detect.js
- client/js/entity.js
- client/js/entityfactory.js
- client/js/exceptions.js
- client/js/gameclient.js
- client/js/infomanager.js
- client/js/item.js
- client/js/items.js
- client/js/map.js
- client/js/mapworker.js
- client/js/mob.js
- client/js/mobs.js
- client/js/npcs.js
- client/js/pathfinder.js
- client/js/player.js
- client/js/renderer.js
- client/js/sprite.js
- client/js/sprites.js
- client/js/text.js
- client/js/tile.js
- client/js/timer.js
- client/js/transition.js
- client/js/updater.js
- client/js/util.js
- client/js/warrior.js
Server (Node.js)
- server/js/checkpoint.js
- server/js/chest.js
- server/js/chestarea.js
- server/js/format.js
- server/js/formulas.js
- server/js/item.js
- server/js/main.js
- server/js/map.js
- server/js/message.js
- server/js/metrics.js
- server/js/mob.js
- server/js/mobarea.js
- server/js/npc.js
- server/js/properties.js
- server/js/utils.js
- server/js/worldserver.js
Miscellaneous
Some other cool stuff about ParticleQuest.
CERN Webfest 2012
## MozFestival 2012