diff --git a/README.md b/README.md index ab16447..a215a4e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,14 @@ -The most recent stable windows build can be found [here](https://dl.dropboxusercontent.com/u/46669050/Tortuga.rar). +The most recent stable build for Windows can be found [here](https://dl.dropboxusercontent.com/u/46669050/Tortuga.rar). -Tortuga is an open source 2D multiplayer role playing game featuring permadeath (deletion of a character upon death). The emphasis of this game is on multiplayer cooperation, competition, exploration and customization. The game runs on customizable server software that can support up to 150 simultaneous players or more. +Tortuga is a 2D multiplayer JRPG featuring permadeath (deletion of a character upon death). The emphasis of this game is on multiplayer cooperation, exploration and customization. The game runs on customizable server software that can support up to 150 simultaneous players or more. This game is inspired by classic 2D RPGs, as well as more modern sandbox MMOs. This project is currently independently created and funded, with the goal of creating a game that will engage user's imagination and inspire a large modding community. +## Documentation + +Tortuga's full documentation can be found in a separate branch, see [Tortuga/docs](https://github.com/Ratstail91/Tortuga/tree/docs). +For Tortuga's primary documentation, please read the [Tortuga Game Design Document](https://github.com/Ratstail91/Tortuga/blob/docs/Tortuga%20Game%20Design%20Document.docx?raw=true). + ## External Dependencies * [SDL 1.2](http://www.libsdl.org/) - Simple DirectMedia Layer API @@ -11,13 +16,10 @@ This game is inspired by classic 2D RPGs, as well as more modern sandbox MMOs. T * [lua 5.2](http://www.lua.org/) - The lua programming language * [SQLite3](http://www.sqlite.org/) - A lightweight SQL database engine -## Documentation - -[Tortuga Game Design Document](https://github.com/Ratstail91/Tortuga/blob/docs/design%20doc.docx?raw=true) -[Tortuga Technical Document](https://github.com/Ratstail91/Tortuga/blob/docs/technical%20doc.docx?raw=true) - ## Copyright +(Future versions (to be determined) may be released under a modified version of the [Uplink Developer's License](http://www.introversion.co.uk/uplink/developer/license.html).) + The current version of Tortuga is released under the [zlib license](http://en.wikipedia.org/wiki/Zlib_License). Copyright (c) 2013, 2014 Kayne Ruse diff --git a/rsc/scripts/setup_server.lua b/rsc/scripts/setup_server.lua index 16b7627..8629320 100644 --- a/rsc/scripts/setup_server.lua +++ b/rsc/scripts/setup_server.lua @@ -1,4 +1,8 @@ -print("Lua script check OK (./rsc)") +print("Lua script check (./rsc)") + +------------------------- +--Map API overrides +------------------------- function map.create(region) for i = 1, map.getregionwidth() do @@ -16,12 +20,17 @@ function map.unload(region) -- end ---return true if file loaded, otherwise return false function map.load(region, dir) - -- + --return true if file loaded, otherwise return false return false end function map.save(region, dir) -- end + +------------------------- +--Enemy API +------------------------- + +--TODO \ No newline at end of file diff --git a/todo.txt b/todo.txt index 8237afa..8182392 100644 --- a/todo.txt +++ b/todo.txt @@ -1,43 +1,11 @@ * I need to keep the documentation up to date. Namely, the GDD is getting out of date. * How many lookups is the map system using? -* Add the serial packet to the network utility +* Hook the serial packet to the network utility * I completely forgot about status ailments ---Naming conventions-- - -I need to define the differences between several different terms i.e. naming conventions. -I may also need to rewrite some variable names. - -* User: This is the individual who is playing the game -* Player: A synonym for a user -* Character: This is the actual player character in the game -* Username: This is the name of the player; ususally kept private -* Handle: This is the name of a character -* Avatar: This is the name of the sprite used by a character - ---ServerApplication's methods-- - -//NOTE: I honestly don't know what I'm doing -CreateCombatInstance(roomIndex) -PushCharacterToCombat(charIndex, combatIndex) -UpdateCombatInstances() //handles all combat - --Battle System-- -CharacterData: - --stats - -EnemyData - --stats - -CombatInstance - list - list - -Room: - RegionPager pager - EnemyFactory enemyFactory --this takes information on the room's data early in the room's construction - list +TODO --Requirements-- @@ -55,31 +23,17 @@ On each game loop, the server should envoke each combat instance's update functi after the commands are called, the ATB is reset to 0. etc... ---Enemy Tables-- +--Enemy API-- -enemyTables: The global store of enemy tables. Only accessed by C++ code (unless you want to break something). +enemyTables -- The global store of enemy tables. Only accessed by C++ code (unless you want to break something). -table.logic: the AI logic. If null, simply attack +enemy.new(parameters) -- return a new enemy object + +table.logic: the AI logic. If null, do nothing table.ref: reference to the enemy itself, for use by API functions, set by constructor? +combat -- the combat API +combat.new(mapIndex, x, y) -- return combat instance's index +combat.pushenemy(c, enemy) -- return the enemy's position +combat.popenemy(c, position) -- - - - - - ---NOTE: useful for copying tables -function deepcopy(orig) - local orig_type = type(orig) - local copy - if orig_type == 'table' then - copy = {} - for orig_key, orig_value in next, orig, nil do - copy[deepcopy(orig_key)] = deepcopy(orig_value) - end - setmetatable(copy, deepcopy(getmetatable(orig))) - else -- number, string, boolean, etc - copy = orig - end - return copy -end \ No newline at end of file