Adjusted the README and tweaked some notes

This commit is contained in:
Kayne Ruse
2014-05-19 20:04:17 +10:00
parent bb6e248583
commit 6a6e7f7125
3 changed files with 32 additions and 67 deletions
+9 -7
View File
@@ -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
+12 -3
View File
@@ -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
+11 -57
View File
@@ -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<CharacterData*>
list<EnemyData>
Room:
RegionPager pager
EnemyFactory enemyFactory --this takes information on the room's data early in the room's construction
list<CombatInstance>
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