Rulers are stupid
@@ -0,0 +1,4 @@
|
|||||||
|
## Design Outline
|
||||||
|
|
||||||
|
The entities in the world (including players, NPCs, monsters, trees, interactive items like chests & loot, etc.) are considered entities. Each of these will need a position in the world, possibly motion, and definitely graphics. Therefore, a base entity class that has these fetures is not out of the question.
|
||||||
|
|
||||||
+7
-17
@@ -1,8 +1,6 @@
|
|||||||
Welcome to the Tortuga wiki!
|
Welcome to the Tortuga wiki!
|
||||||
|
|
||||||
This guide should help you to understand this project, as well as helping me to
|
This guide should help you to understand this project, as well as helping me to plan out the expected features. This project uses C++11, which is available via GNU (or MinGW) 4.7, or Visual Studio 2012.
|
||||||
plan out the expected features. This project uses C++11, which is available via
|
|
||||||
GNU (or MinGW) 4.7, or Visual Studio 2012.
|
|
||||||
|
|
||||||
If this wiki is missing something, it means I haven't gotten to it yet.
|
If this wiki is missing something, it means I haven't gotten to it yet.
|
||||||
|
|
||||||
@@ -28,6 +26,7 @@ If this wiki is missing something, it means I haven't gotten to it yet.
|
|||||||
* Technical Information
|
* Technical Information
|
||||||
* [Program Architecture](wiki/Program-Architecture)
|
* [Program Architecture](wiki/Program-Architecture)
|
||||||
* [Networking Protocol](wiki/Networking-Protocol)
|
* [Networking Protocol](wiki/Networking-Protocol)
|
||||||
|
* [Entity Design](wiki/Entity-Design)
|
||||||
* [Map File Format](wiki/Map-File-Format)
|
* [Map File Format](wiki/Map-File-Format)
|
||||||
* [Modding Outline](wiki/Modding-Outline)
|
* [Modding Outline](wiki/Modding-Outline)
|
||||||
* [Notes](wiki/notes) & [Scraps](wiki/Scrapped-GCD)
|
* [Notes](wiki/notes) & [Scraps](wiki/Scrapped-GCD)
|
||||||
@@ -41,25 +40,16 @@ If this wiki is missing something, it means I haven't gotten to it yet.
|
|||||||
|
|
||||||
## Copyright
|
## Copyright
|
||||||
|
|
||||||
The current version of Tortuga is released under the
|
The current version of Tortuga is released under the [zlib license](http://en.wikipedia.org/wiki/Zlib_License).
|
||||||
[zlib license](http://en.wikipedia.org/wiki/Zlib_License).
|
|
||||||
|
|
||||||
Copyright (c) 2013 Kayne Ruse
|
Copyright (c) 2013 Kayne Ruse
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied warranty. In
|
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
no event will the authors be held liable for any damages arising from the use
|
|
||||||
of this software.
|
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any purpose, including
|
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
|
||||||
commercial applications, and to alter it and redistribute it freely, subject to
|
|
||||||
the following restrictions:
|
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented; you must not
|
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
||||||
claim that you wrote the original software. If you use this software in a
|
|
||||||
product, an acknowledgment in the product documentation would be appreciated
|
|
||||||
but is not required.
|
|
||||||
|
|
||||||
2. Altered source versions must be plainly marked as such, and must not be
|
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
||||||
misrepresented as being the original software.
|
|
||||||
|
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
|
|||||||
+6
-13
@@ -1,6 +1,4 @@
|
|||||||
These are the basic networking protocols used by the client and server
|
These are the basic networking protocols used by the client and server programs. This page details the _current_ working version, it omits planned features.
|
||||||
programs.
|
|
||||||
This page details the _current_ working version, it omits planned features.
|
|
||||||
|
|
||||||
## Packet Types
|
## Packet Types
|
||||||
|
|
||||||
@@ -28,14 +26,9 @@ Connecting to and disconnecting from a server:
|
|||||||
|
|
||||||
1. The client enters the Lobby scene and sends a BroadcastRequest
|
1. The client enters the Lobby scene and sends a BroadcastRequest
|
||||||
2. The server responds with a BroadcastResponse (including the server's name)
|
2. The server responds with a BroadcastResponse (including the server's name)
|
||||||
3. The client selects a server from the list of responses and sends a
|
3. The client selects a server from the list of responses and sends a JoinRequest to that server
|
||||||
JoinRequest to that server
|
4. The server either ignores the request, or adds the client to it's internal client list and responds with a JoinResponse (including the new client's index)
|
||||||
4. The server either ignores the request, or adds the client to it's internal
|
5. When the client receives the response, it switches from the Lobby scene to the InWorld scene.
|
||||||
client list and responds with a JoinResponse (including the new client's index)
|
6. Pressing the escape key on on the client (while in the InWorld scene) will send a Disconnect message, and will switch the client to the MainMenu scene.
|
||||||
5. When the client receives the response, it switches from the Lobby scene to
|
7. When the server receives the Disconnect, it will send another (at this stage redundant) Disconnect to the client, and remove it from the list of clients.
|
||||||
the InWorld scene.
|
|
||||||
6. Pressing the escape key on on the client (while in the InWorld scene) will
|
|
||||||
send a Disconnect message, and will switch the client to the MainMenu scene.
|
|
||||||
7. When the server receives the Disconnect, it will send another (at this stage
|
|
||||||
redundant) Disconnect to the client, and remove it from the list of clients.
|
|
||||||
|
|
||||||
|
|||||||
+6
-13
@@ -1,14 +1,10 @@
|
|||||||
## Overall Requirements
|
## Overall Requirements
|
||||||
|
|
||||||
An unmodified client must be able to connect to any server, be it vanilla,
|
An unmodified client must be able to connect to any server, be it vanilla, custom or modded.
|
||||||
custom or modded.
|
|
||||||
A server must allow the client to operate correctly.
|
A server must allow the client to operate correctly.
|
||||||
If any information causes issues, it must be resolved.
|
If any information causes issues, it must be resolved.
|
||||||
If the source of the issue is the vanilla software, than that is the
|
If the source of the issue is the vanilla software, than that is the developer's responsibility to bring the software into line with the expected features.
|
||||||
developer's responsibility to bring the software into line with the expected
|
If however, the problem is caused by modified software or assets, than it is the responsibility of the server operator to resolve the issue.
|
||||||
features.
|
|
||||||
If however, the problem is caused by modified software or assets, than it is
|
|
||||||
the responsibility of the server operator to resolve the issue.
|
|
||||||
|
|
||||||
-------------------------
|
-------------------------
|
||||||
## Server Requirements
|
## Server Requirements
|
||||||
@@ -24,8 +20,7 @@ The server needs to handle the following content.
|
|||||||
|
|
||||||
#### Game Resource Distribution
|
#### Game Resource Distribution
|
||||||
|
|
||||||
If the client lacks a resource, the server needs to transmit that resource to
|
If the client lacks a resource, the server needs to transmit that resource to the client upon connection.
|
||||||
the client upon connection.
|
|
||||||
Resources transmitted include but are not limited to:
|
Resources transmitted include but are not limited to:
|
||||||
|
|
||||||
* map data
|
* map data
|
||||||
@@ -41,10 +36,8 @@ Resources transmitted include but are not limited to:
|
|||||||
|
|
||||||
#### World Maps
|
#### World Maps
|
||||||
|
|
||||||
The maps on a server are called rooms. For the data format, See
|
The maps on a server are called rooms. For the data format, See [Map File Format](wiki/Map-File-Format).
|
||||||
[Map File Format](wiki/Map-File-Format).
|
This is an example of the structure that a server's world can have. This isn't a requirement, but it can offer the easiest solutions.
|
||||||
This is an example of the structure that a server's world can have. This isn't
|
|
||||||
a requirement, but it can offer the easiest solutions.
|
|
||||||
|
|
||||||
* a singular "overworld", connecting different locations
|
* a singular "overworld", connecting different locations
|
||||||
* dungeons, possibly instanced
|
* dungeons, possibly instanced
|
||||||
|
|||||||
+3
-13
@@ -1,19 +1,9 @@
|
|||||||
## Project Pitch
|
## Project Pitch
|
||||||
|
|
||||||
Tortuga is a 2D multiplayer role playing game set in a large archipelago
|
Tortuga is a 2D multiplayer role playing game set in a large archipelago occupied by warring pirate clans. The emphasis of this game is on multiplayer cooperation, competition, and server customization. The game runs on highly customizable server software that can support up to 150 simultaneous players or more. The player characters are tied to the server where they are created and are susceptible to permadeath: deletion of a character upon death.
|
||||||
occupied by warring pirate clans. The emphasis of this game is on multiplayer
|
|
||||||
cooperation, competition, and server customization. The game runs on highly
|
|
||||||
customizable server software that can support up to 150 simultaneous players or
|
|
||||||
more. The player characters are tied to the server where they are created and
|
|
||||||
are susceptible to permadeath: deletion of a character upon death.
|
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
This game is inspired by classic 2D RPGs including Final Fantasy and Chrono
|
This game is inspired by classic 2D RPGs including Final Fantasy and Chrono Trigger, as well as more modern games including Minecraft, The Mana World and EVE Online.
|
||||||
Trigger, as well as more modern games including Minecraft, The Mana World and
|
|
||||||
EVE Online.
|
|
||||||
|
|
||||||
This project is currently independantly created and funded, with the goal of
|
|
||||||
creating a game that will engage user's imagination and inspire modifications
|
|
||||||
akin to Minecraft's mod community.
|
|
||||||
|
|
||||||
|
This project is currently independantly created and funded, with the goal of creating a game that will engage user's imagination and inspire modifications akin to Minecraft's mod community.
|
||||||
|
|||||||
+2
-4
@@ -1,8 +1,6 @@
|
|||||||
* Have multiple players moving around the server at the same time
|
* Have multiple players moving around the server at the same time
|
||||||
* Player's internals a weird.
|
* What if a bounding box could have a vector added to it? -what would this do?
|
||||||
* Update the networking outline
|
* design the character system for the new prototype
|
||||||
* What if a bounding box could have a vector added to it?
|
|
||||||
* design the player system for the new prototype
|
|
||||||
* design the map system
|
* design the map system
|
||||||
* design a FRIGGIN COLLISION SYSTEM!!
|
* design a FRIGGIN COLLISION SYSTEM!!
|
||||||
* clear out the old GCD
|
* clear out the old GCD
|
||||||
|
|||||||
Reference in New Issue
Block a user