Add README.md

This commit is contained in:
Marco Cawthorne 2020-12-22 00:18:15 +01:00
parent 3d700a4fd7
commit 92ed644f43
3 changed files with 267 additions and 0 deletions

61
README.md Normal file
View File

@ -0,0 +1,61 @@
# ![FTE Logo](doc/fte.svg) Nuclide - Software Development Kit
Software Development Kit, built around idTech with focus on advanced features and
clean-room implementations of true-and-tested game-logic frameworks.
All of this is written in QuakeC, but there's also some GLSL and shell scripts
in here.
You can integrate an engine (FTE) and level design tool (WorldSpawn) directly from this tree. *See the 'Building' section for details.*
They're the projects actually based on idTech (GPL) code and therefore are in their own repositories.
**All the code here is ISC-Licensed.**
The advantage of our centralized model is that the toolchain more or less integrates
with the engine seamlessly. This avoids a common problem developers have of trying to
use tools primarily designed for one specific idTech game with a custom
engine that's trying to do more advanced stuff than the former.
## Building
The 'build_engine.sh' script checks out the **FTE Subversion** repository and keeps it up to date,
while also building binaries that are crucial to running and building the game-logic
(which is all QuakeC) and putting them into the ./bin directory.
Launch the engine with the 'nuclide' and 'nuclide-ds' scripts.
The 'build_editor.sh' script clones the **WorldSpawn** Git repository and installs them into the ./bin directory.
Use the 'worldspawn' and 'vmap' scripts to launch to ensure consistency.
The 'build_game.sh' script will build the game-logic for the games included
using the QuakeC compiler present in the ./bin directory.
If the compiler isn't found it will ask you to build them.
For best results, symlink the desired scripts into your home directory's bin folder.
The scripts are designed to be aware of their actual location in the filesystem.
## Support
Join us on irc.vera-visions.com and chat if you're interested in using this in production.
**All this is provided to you for free as-is otherwise.**
## Special Thanks
To id software and specifically John Carmack for having released the sources of
various idTech games under the GPL2 license, without which we would have no engine for Nuclide.
David Walton for **FTEQW** and the **FTEQCC** compiler, which is the brain of this SDK.
Timothee Besset and the **GtkRadiant** contributors.
![idTech Logo](doc/idtech.svg)
## License
Copyright (c) 2016-2020 Marco Hladik <marco@icculus.org>
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

96
doc/fte.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 23 KiB

110
doc/idtech.svg Normal file
View File

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="96"
height="96"
id="svg2871"
version="1.1"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
sodipodi:docname="idtech.svg">
<defs
id="defs2873">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 568.93109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 568.93109 : 1"
inkscape:persp3d-origin="372.04724 : 393.53739 : 1"
id="perspective2879" />
<inkscape:perspective
id="perspective2851"
inkscape:persp3d-origin="0.5 : 43.083333 : 1"
inkscape:vp_z="1 : 43.25 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 43.25 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2902"
inkscape:persp3d-origin="0.5 : 43.083333 : 1"
inkscape:vp_z="1 : 43.25 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 43.25 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2939"
inkscape:persp3d-origin="0.5 : 43.083333 : 1"
inkscape:vp_z="1 : 43.25 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 43.25 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective2964"
inkscape:persp3d-origin="0.5 : 43.083333 : 1"
inkscape:vp_z="1 : 43.25 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 43.25 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="52.736635"
inkscape:cy="52.41695"
inkscape:document-units="px"
inkscape:current-layer="g2980"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1002"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true"
inkscape:document-rotation="0" />
<metadata
id="metadata2876">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-397.0617,-329.75314)">
<g
id="g2980"
transform="matrix(0.16473318,0,0,0.16473318,341.95041,292.08237)">
<g
style="fill:#000000"
transform="matrix(3.3118586,0,0,3.3118586,-964.3671,-1032.5273)"
id="g2908">
<path
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;stroke:none;stroke-width:1px;marker:none;enable-background:accumulate"
d="m 522.08471,384.0977 c -7.39882,6.16944 -17.7004,6.02705 -27.84375,6.25 v 17.78125 h 4.71875 c 8.39601,0 10.34375,2.05876 10.34375,10.8125 v 12.59375 c -4.97028,-2.67349 -10.13811,-6.6875 -21.78125,-6.6875 -14.60881,0 -25.95434,7.63429 -35.1875,17.5625 v 56.75 c 0,3.65188 7.3096,9.25 13.8125,9.25 v 12.4375 c -14.95151,-5.7867 -24.5,-25.26069 -24.5,-45.5625 0,-11.51163 4.90697,-23.24487 10.6875,-32.875 v -14.65625 h -13.0625 c -2.1867,0 -2.39586,0.0498 -3,0.15625 l -31.125,5.5 0.4375,15.1875 h 4.4375 c 6.51354,0 9.6342,4.63737 9.96875,9.375 l 2.75,38.8125 c 0.3299,4.67178 -3.35538,8.75 -8.03125,8.75 -4.62297,0 -10.06199,3.37908 -9.65625,8.125 l 2.9375,34.125 c 0.33667,3.938 1.79454,8.96875 8.75,8.96875 h 123.78125 c 8.0572,0 11.18351,-2.64779 11.5625,-7.34375 l 2.84375,-35.03125 c 0.48422,-5.99977 -3.5559,-7.72556 -8.1875,-8.625 -6.86491,-1.33315 -7.89209,-6.34284 -7.5625,-14.09375 l 4.59375,-107.5625 z m -28.28125,60.625 c 6.59592,0 11.36827,4.95847 15.65625,9.1875 v 43.3125 c -4.81425,4.86014 -11.46812,9.8125 -18.21875,9.8125 -12.14342,0 -17.5,-17.63577 -17.5,-28.375 0,-14.30853 7.09348,-33.9375 20.0625,-33.9375 z m -0.15625,79.59375 c 7.15923,0.0392 14.6875,2.53597 14.6875,11.84375 h -14.65625 l 0.0312,-5.9375 c 0,-0.82508 -1.17407,-1.5 -2.125,-1.5 -1.1985,0 -2.75,0.35554 -2.75,1.625 v 14.625 c 0,1.01622 0.5099,2.25 2.5625,2.25 1.08473,0 2.25,-0.44059 2.25,-1.8125 v -5.125 h 14.375 c 0,10.51909 -9.34822,11.0625 -17.3125,11.0625 -12.17821,0 -15.625,-3.09716 -15.625,-7.75 v -11.46875 c 0,-7.49603 10.64383,-7.78125 17.125,-7.78125 0.47154,-0.0179 0.96022,-0.0339 1.4375,-0.0312 z m -47.125,0.3125 23.6875,0.34375 v 5.65625 h -9.28125 v 4.5 h 9.375 v 4.6875 l -9.1875,-0.0937 0.15625,5.84375 h 10.25 l -0.0937,5.46875 h -23.5 L 446.52226,524.629 Z m 99.53125,0.3125 -1.78125,25.9375 h -13.96875 l 0.4375,-10.78125 h -3.53125 l -0.75,10.9375 h -13.90625 l 0.53125,-25.9375 14.84375,-0.125 -0.4375,9.625 h 3.53125 l 0.3125,-9.59375 z m -133.65625,0.125 h 31.125 v 5.75 h -7.96875 l 0.71875,20.3125 h -13.96875 l -0.875,-20.6875 h -8.6875 z"
id="path2832" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 452.70377,400.52541 c 0,10.88586 -8.82474,19.7106 -19.71061,19.7106 -10.88586,0 -19.7106,-8.82474 -19.7106,-19.7106 0,-10.88587 8.82474,-19.71061 19.7106,-19.71061 10.88587,0 19.71061,8.82474 19.71061,19.71061 z"
id="path2838" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB