diff --git a/Archmage-Home.md b/Archmage-Home.md new file mode 100644 index 0000000..85eff19 --- /dev/null +++ b/Archmage-Home.md @@ -0,0 +1,50 @@ +Hello [Archmages](http://codecombat.com/contribute#archmage)! Welcome to the developer wiki for CodeCombat. These documents are designed to give you everything you need to know, technical and non-technical, to dive into the project. If you see an opportunity to improve the docs, go ahead! + +## Stuff Everyone Should Know + +* [[Mission Statement]] +* [[Developer Environment]] -- Start here to get CodeCombat set up on your computer. +* [[Developer Organization]] +* [[Coding Guidelines]] +* [[Technical Overview]] +* [[Third Party Software and Services]] +* [[JSON-Schema]] +* [[Coco Models]] +* [[Testing]] + +## Frontend Development + +* [[Client Models]] +* [[Views]] +* [[Events, Subscriptions, Shortcuts]] + +## Backend Development + +* [[File System]] + +## Key Systems + +* [[Versioning]] +* [[Permissions]] + +## Game Engine + +* CodeCombat uses a [[Thang Component System]] architecture. + * A [[Thang]] can be an ogre, a land, an arrow--anything. + * Thangs are just clusters of [[Component]]s. + * [[System]]s organize the Components. +* [[World]]s simulate deterministically. +* The [[Surface]] is what we call our graphics layer. +* The [[Tome]] is our spell editor. +* [[Multiplayer]] + +## Level Editor +* **TODO**: organize an outline here + +## Thang Editor +* **TODO**: document this if anyone cares to gaze upon it + +## Side Projects + +* [[Treema]], our general interface for editing JSON data with schemas +* [[Aether]], our transpiler \ No newline at end of file