Rulers are stupid

Kayne Ruse
2013-06-22 18:56:19 +10:00
parent cc4c4f9c47
commit a0ed650b15
6 changed files with 29 additions and 61 deletions
+4
@@ -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!
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.
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.
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
* [Program Architecture](wiki/Program-Architecture)
* [Networking Protocol](wiki/Networking-Protocol)
* [Entity Design](wiki/Entity-Design)
* [Map File Format](wiki/Map-File-Format)
* [Modding Outline](wiki/Modding-Outline)
* [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
The current version of Tortuga is released under the
[zlib license](http://en.wikipedia.org/wiki/Zlib_License).
The current version of Tortuga is released under the [zlib license](http://en.wikipedia.org/wiki/Zlib_License).
Copyright (c) 2013 Kayne Ruse
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.
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.
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:
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:
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.
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.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
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
programs.
This page details the _current_ working version, it omits planned features.
These are the basic networking protocols used by the client and server programs. This page details the _current_ working version, it omits planned features.
## Packet Types
@@ -28,14 +26,9 @@ Connecting to and disconnecting from a server:
1. The client enters the Lobby scene and sends a BroadcastRequest
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
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)
5. When the client receives the response, it switches from the Lobby scene to
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.
3. The client selects a server from the list of responses and sends a 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)
5. When the client receives the response, it switches from the Lobby scene to 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
An unmodified client must be able to connect to any server, be it vanilla,
custom or modded.
An unmodified client must be able to connect to any server, be it vanilla, custom or modded.
A server must allow the client to operate correctly.
If any information causes issues, it must be resolved.
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.
If however, the problem is caused by modified software or assets, than it is
the responsibility of the server operator to resolve the issue.
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.
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
@@ -24,8 +20,7 @@ The server needs to handle the following content.
#### Game Resource Distribution
If the client lacks a resource, the server needs to transmit that resource to
the client upon connection.
If the client lacks a resource, the server needs to transmit that resource to the client upon connection.
Resources transmitted include but are not limited to:
* map data
@@ -41,10 +36,8 @@ Resources transmitted include but are not limited to:
#### World Maps
The maps on a server are called rooms. For the data format, See
[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.
The maps on a server are called rooms. For the data format, See [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.
* a singular "overworld", connecting different locations
* dungeons, possibly instanced
+3 -13
@@ -1,19 +1,9 @@
## Project Pitch
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.
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.
## Introduction
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.
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 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.
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
* Player's internals a weird.
* Update the networking outline
* What if a bounding box could have a vector added to it?
* design the player system for the new prototype
* What if a bounding box could have a vector added to it? -what would this do?
* design the character system for the new prototype
* design the map system
* design a FRIGGIN COLLISION SYSTEM!!
* clear out the old GCD