Skip to content

Client Project Organization

Brendan Walker edited this page Jul 1, 2014 · 2 revisions

Client Project Organization

  • \src
    • \content - map and mob template source data
    • \unityClient\Assets - Game client source and dependent content
      • \Plugins - Compiled server and LitJSON dlls
      • \Resources - Prefabs for all game states + source art
        • \Gfx
          • \Cursors - All mouse over cursors
          • \Materials - Shader materials
          • \Portraits - Character portraits for UI
          • \Sprites - Sprite data for all sprites in the game
          • \TileSets - Tie sheets used for all rooms
        • \Standard Assets
          • \Content - Graphics and Sounds for UI
          • \Editor - Importer scripts for MobTypes and RoomTemplates
          • \Scripts
            • \Constants - Game and server constants not stored in SharedLib
            • \Crypto - Blowfish cypher classes
            • \Data - Classes for all serialized game state
            • \Entities - Runtime classes for Player, Mob, and Energy Tank
            • \EntryPoint - Main class for the game
            • \Navigation - Pathfinding and steering code specific to the client
            • \Net - Async request classes + other server code
              • \AsyncRPGServer - Embedded webserver
              • \IRC - IRC connection management
            • \UI - User Interface creation and management
            • \Utility - Client, compression, and JSON utilities

High Level

Folder Organization

Game Design

Game Objective

Player Classes

Enemy Types

Loot

Web Server Documentation

Server Project Organization - How the files in the server project are arranged

Mob Types - Format for the mob type definitions

Room Templates - How the room templates are validated and stored in the DB

Navigation - How AI navigation is computed on the server

AI Decision Making - How AIs make decisions in response to players moves

Request Processors - How incoming JSON requests are processed

Database Query Layer - How database queries are structured and cached

Standalone And Embedded Web Server - How the stand alone and client embedded web server are structured

ASPX Web Service - How the IIS hosted web server is structured

Unity Client Documentation

Client Project Organization - How the files in the client project are arranged

UI System - Wrapper around Unity immediate mode UI and UI event handling

Asynchronous Request System - How JSON requests are sent to the web server

Game Event System - How the game state changes as a result of player actions

AI Path Finding and Steering - How the AI compute a path and drive toward path waypoints

IRC and Push Notifications - How chat and server push notifications are routed through IRC

Tools Documentation

OGMO Tile Editor

Verification Scripts

Build Scripts

Clone this wiki locally