Initial commit
commit
fa69751d59
5 changed files with 101 additions and 0 deletions
13
Development.md
Normal file
13
Development.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
## Project architecture
|
||||
|
||||
![](https://images2.imgbox.com/28/4d/tomY0yLv_o.jpg)
|
||||
|
||||
Source code is divided into layers: from the lowest level on top (rendering, audio and networking subsystems), to the highest level at the bottom (game logic). Each layer is represented by one or more namespaces, each namespace having access only to the lower layers. _core_ namespace contains common utility functions, such as logging.
|
||||
|
||||
## Knowledge database
|
||||
|
||||
Similar projects to use as a reference:
|
||||
|
||||
[xoreos](https://github.com/xoreos/xoreos)
|
||||
|
||||
[KotOR.js](https://github.com/KobaltBlu/KotOR.js)
|
10
Gallery.md
Normal file
10
Gallery.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
Partial HUD implementation:
|
||||
![](https://images2.imgbox.com/2a/6a/uEaEz9Hg_o.jpg)
|
||||
|
||||
TSL support, party members:
|
||||
![](https://images2.imgbox.com/ff/2a/8AgvqkGQ_o.jpg)
|
||||
|
||||
Endar Spire bridge, first person view:
|
||||
![](https://images2.imgbox.com/47/b4/2ejcvmxG_o.jpg)
|
||||
|
||||
[Multiplayer showcase video](https://www.youtube.com/watch?v=qmHt9FeEw28)
|
35
Installation.md
Normal file
35
Installation.md
Normal file
|
@ -0,0 +1,35 @@
|
|||
Requirements:
|
||||
* Compiler with C++14 support (VS2019, GCC, Clang, etc.)
|
||||
* [CMake](https://cmake.org/)
|
||||
|
||||
Dependencies:
|
||||
* [Boost](https://www.boost.org/) ≥ 1.68
|
||||
* algorithm
|
||||
* asio
|
||||
* filesystem
|
||||
* format
|
||||
* iostreams
|
||||
* program_options
|
||||
* property_tree (optional)
|
||||
* [SDL2](https://www.libsdl.org/download-2.0.php)
|
||||
* [GLM](https://glm.g-truc.net/0.9.9/index.html)
|
||||
* [GLEW](http://glew.sourceforge.net/)
|
||||
* [OpenAL](https://github.com/kcat/openal-soft)
|
||||
* [MAD](https://www.underbit.com/products/mad/)
|
||||
|
||||
### Windows
|
||||
|
||||
* Install Visual Studio 2019
|
||||
* Install CMake
|
||||
* Install [vcpkg](https://github.com/microsoft/vcpkg)
|
||||
* Install dependencies: `./vcpkg install boost-algorithm boost-asio boost-filesystem boost-format boost-iostreams boost-program-options boost-property-tree glm sdl2 glew openal-soft libmad --triplet x64-windows`
|
||||
* Create a *build* directory inside the project directory and *cd* into it
|
||||
* Generate project files: `cmake .. -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake`
|
||||
|
||||
### Ubuntu
|
||||
|
||||
* Install Clang
|
||||
* Install CMake
|
||||
* Install dependencies: `sudo apt install libboost-all-dev libsdl2-dev libglew-dev libopenal-dev libmad0-dev`
|
||||
* Create a *build* directory inside the project directory and *cd* into it
|
||||
* Generate Makefiles: `cmake .. -DUSE_EXTERNAL_GLM=ON`
|
12
Program-options.md
Normal file
12
Program-options.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
Name | Description | Default
|
||||
--- | --- | ---
|
||||
game | path to game directory | N/A
|
||||
module | starting module name | N/A
|
||||
width | window width | 800
|
||||
height | window height | 600
|
||||
fullscreen | enable fullscreen | 0
|
||||
volume | audio volume in percents (0 to disable) | 100
|
||||
serve | start multiplayer game | N/A
|
||||
join | join multiplayer game at specified IP address | 127.0.0.1
|
||||
port | multiplayer port number | 2003
|
||||
debug | enable debug logging | 0
|
31
Roadmap.md
Normal file
31
Roadmap.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
Done:
|
||||
- General resource management
|
||||
- Rendering subsystem based on OpenGL 3.3 (incl. text rendering, skeletal animation, lightmaps and environment maps)
|
||||
- Audio subsystem (incl. music streaming)
|
||||
- GUI subsystem (incl. parts of the original interface)
|
||||
- Scripting subsystem (minus engine routines)
|
||||
- Async jobs subsystem
|
||||
- Module loading: areas, creatures, doors, placeables, triggers
|
||||
- Third-person controls (incl. animated player character)
|
||||
- Collision detection (walkmesh and AABB based)
|
||||
- Pathfinding based on Dijkstra algorithm
|
||||
- Multiplayer: up to three players controlling a party
|
||||
|
||||
To do, in order of priority:
|
||||
- Engine routines: 771 in KotOR, 876 in TSL
|
||||
- Original user interface
|
||||
- Equipment screen
|
||||
- 3D controls
|
||||
- Character generation menu
|
||||
- Character screen
|
||||
- Options menu
|
||||
- Dialogs/cutscenes
|
||||
- Combat
|
||||
- Party management
|
||||
- Game saves
|
||||
- Environmental sounds
|
||||
- Movies
|
||||
|
||||
Ideas:
|
||||
- External asset formats support (models, scripts, etc.)
|
||||
- Custom game modes
|
Loading…
Reference in a new issue