This wiki is archived from 2021-09-05

Template:Technology: Difference between revisions

From Planetary Annihilation: TITANS and Classic PA Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
Planetary Annihilation is a cross platform client / server networked OpenGL application with a custom engine developed in 2013/2014 using C++11 and a fully moddable HTML5 user interface using Coherent UI based on Chromium.
Planetary Annihilation is a cross platform client / server networked OpenGL application with a custom engine developed in 2013/2014 using C++11 and a fully moddable HTML5 user interface using Coherent UI based on Chromium.


Since 2018 the Planetary Annihilation engine has been modernised to C++17 with updated versions of third party libraries.
Since 2018 the Planetary Annihilation engine had been modernised to C++17 with updated versions of third party libraries.


==Historical Technology links==
=== Historical Technology links ===
* [https://blog.forrestthewoods.com/the-tech-of-planetary-annihilation-chronocam-292e3d6b169a#.nh8s4gld3 The Tech of Planetary Annihilation: Chronocam (Forest Smith)] [https://blog.forrestthewoods.com/q-a-planetary-annihilation-chrono-cam-851d959b5a1d Q&A]
* [https://blog.forrestthewoods.com/the-tech-of-planetary-annihilation-chronocam-292e3d6b169a#.nh8s4gld3 The Tech of Planetary Annihilation: Chronocam (Forest Smith)] [https://blog.forrestthewoods.com/q-a-planetary-annihilation-chrono-cam-851d959b5a1d Q&A]
* [http://allenchou.net/2013/07/bending-solid-geometry-in-planetary-annihilation/ Bending Solid Geometry (Allen Chou)]
* [http://allenchou.net/2013/07/bending-solid-geometry-in-planetary-annihilation/ Bending Solid Geometry (Allen Chou)]
Line 14: Line 14:
[https://www.gdcvault.com/play/1015667/Off-the-Beaten-Path-Non GDC 2012 Off The Beaten Path] (early approaches to tech used in Planetary Annihilation):
[https://www.gdcvault.com/play/1015667/Off-the-Beaten-Path-Non GDC 2012 Off The Beaten Path] (early approaches to tech used in Planetary Annihilation):
* 17 minutes: Neural Networks in Supreme Commander 2 (Michael Robbins)
* 17 minutes: Neural Networks in Supreme Commander 2 (Michael Robbins)
=== Toolchain ===
https://en.wikipedia.org/wiki/Toolchain
* C++17 [http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines reference guidelines]
* [https://code.visualstudio.com/ Visual Studio Code] (assets)
* [https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes Visual Studio 2019] latest with 142 build tools / Windows 10 SDK latest
* [https://developer.apple.com/xcode/ Xcode] 12.5 / macOS Big Sur 11 / 10.16
* Linux GCC 9.3 with LTO (limited by steam Linux runtime)
* [https://clang.llvm.org/ Clang] / [http://llvm.org/ LLVM] 12 (macOS / dedicated servers)
* [https://clang.llvm.org/docs/AddressSanitizer.html AddressSanitizer] (ASan)
* [https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html UndefinedBehaviorSanitizer] (UBSan)
* [https://github.com/google/googletest Google Test] (gtest)
* [https://github.com/google/benchmark Google Benchmark]
=== Third Party Libraries ===
* [https://chromium.googlesource.com/breakpad/breakpad/ breakpad]
* [https://coherent-labs.com/Documentation/cpp/ Coherent UI] 2.5.9 (testing Coherent GT)
* [https://www.autodesk.com/developer-network/platform-technologies/fbx FBX SDK] 2019.2
* [FMOD https://www.fmod.com/] 4.44.64
* [lz4 https://github.com/lz4/lz4] 1.9.3
* [https://github.com/richgel999/miniz miniz] 2.1.0
* [http://www.libpng.org/pub/png/libpng.html libpng] 1.6.37
* [https://www.libsdl.org/ libsdl] 2.0.14 (testing 2.0.16)
* [https://sourceforge.net/projects/libsquish/ libsquish] 1.15 for [http://www.sjbrown.co.uk/2006/01/19/dxt-compression-techniques/ DXT Compression]
* [https://github.com/nothings/stb stb_image] 2.26
* [https://github.com/nothings/stb stb_truetype] 1.24
* [https://partner.steamgames.com/doc/sdk Steamworks SDK] 150 (testing 151)
* [https://v8.dev/ v8] 86
* [https://zlib.net/ zlib] 1.2.11
* Windows [https://curl.se/ libcurl] 7.68.0 with [https://nghttp2.org/ nghttp2] 1.40.0 for HTTP/2 and multiplexing (testing 7.76.1 / 1.43.0)
* Windows [https://github.com/microsoft/mimalloc mimalloc] 1.7.1 (testing)
=== Localisation Platform ===
Crowdin: https://crowdin.com/
=== Translations ===
Transfulent: https://www.transfluent.com/
=== Security ===
We recommend https://1password.com/

Revision as of 18:19, 8 September 2021

Planetary Annihilation is a cross platform client / server networked OpenGL application with a custom engine developed in 2013/2014 using C++11 and a fully moddable HTML5 user interface using Coherent UI based on Chromium.

Since 2018 the Planetary Annihilation engine had been modernised to C++17 with updated versions of third party libraries.

Historical Technology links

Game AI Pro (early approaches to tech used in Planetary Annihilation):

  • 23. Crowd Pathfinding and Steering using Flow Field Tiles (Elijah Emerson)
  • 30. Using Neural Networks to Control Agent Threat Response (Michael Robbins)

GDC 2012 Off The Beaten Path (early approaches to tech used in Planetary Annihilation):

  • 17 minutes: Neural Networks in Supreme Commander 2 (Michael Robbins)

Toolchain

https://en.wikipedia.org/wiki/Toolchain

Third Party Libraries

Localisation Platform

Crowdin: https://crowdin.com/

Translations

Transfulent: https://www.transfluent.com/

Security

We recommend https://1password.com/