59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
| ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | |
| Developer TODO
 | |
| §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
 | |
| Initial steps
 | |
|   1. Design and program basic skeleton
 | |
|     a. Full test and support for:
 | |
|       - Android
 | |
|       - OS X
 | |
|       - Linux
 | |
|       - Windows
 | |
|     b. Do some tests for
 | |
|       - iOS
 | |
|       - Web via Emscripten
 | |
| 
 | |
| --------------------------------
 | |
| What Must Be Done
 | |
| --------------------------------
 | |
|   1. GUI
 | |
|     * SDL2_ttf!
 | |
|     * GUI Elements creating RenderView
 | |
|     * GuiElement.doRender()
 | |
|       * Updates RenderView
 | |
|         * For each child, we call their doRender() and render their FBO to this
 | |
|     * GuiElement sub-classes
 | |
|       - GuiButton, GuiImage, GuiText, GuiInput, GuiContainer
 | |
|   2. Campaign class
 | |
|     * Use FS as db
 | |
|     * Name, unique
 | |
|     * Map, unique name
 | |
|       * contains CACHE of files used
 | |
|       * contains size of Map (dynamic? or no?)
 | |
|       * contains Terrain Heightmap
 | |
|       * contains sections of map, storing Tokens (QuadTree?)
 | |
|         * Token may be linked with TokenData
 | |
|   3. Token class
 | |
|     * Is a type, default is 2D, meaning:
 | |
|       * token PNG file
 | |
|       * scale size
 | |
|       * rotation
 | |
|     * TokenData reference(string?)
 | |
|     * Owner (Player? Player Name? Campaign Master?)
 | |
|     * Layer (Terrain? Game? etc.?)
 | |
|   4. Edit interface
 | |
|     * build a GuiList of GuiImage(s)(GuiToken?) from each AssetCache dir? (maybe buttons on top, tabular-like)
 | |
|     * Selected icon can be dragged out onto Game board, wherein it gets added to the current Token Layer
 | |
|   5. Net stuff
 | |
|     * Game state
 | |
|       - Server
 | |
|         * on Movement/Update of things, send updates to Clients
 | |
|       - Client
 | |
|         * on attempted movement of a Token (spawns a drag'n'drop semitransparent icon, maybe render of that exact object?), send command to server
 | |
|     * General
 | |
|       * basic communication (message to all, message to person(s?))
 | |
|     * Init
 | |
|       - Server
 | |
|         * authenticate user if username/password matches?
 | |
|       - Client
 | |
|         * attempt connect and wait for auth ok (if okay, we probably ask for Campaign/Map info)
 |