Nuclide SDK - an idTech based game development framework http://www.vera-visions.com/nuclide/
Go to file
Marco Cawthorne 8db164adc7 make_dist.sh: bundle any script starting with install_*.sh into the game-dir 2021-08-29 16:03:48 +02:00
base CBaseEntity: Fix error for when games are not compiled with GS_RENDERFX 2021-08-03 07:15:25 +02:00
doc build.cfg: if BUILD_ENGINEREVISION is 0, build latest. 2021-08-27 12:31:07 +02:00
platform Menu-FN/FS: Only parse sprays from logos/, not root of mod-dir 2021-08-29 09:53:36 +02:00
src Menu-FN/FS: Only parse sprays from logos/, not root of mod-dir 2021-08-29 09:53:36 +02:00
.gitignore Move game-specific sources into their respective mod-dirs. This was planned 2021-02-08 13:35:15 +01:00
LICENSE Move doc/license to LICENSE for visibility 2021-03-09 10:36:33 +01:00
README.md README.md: Remove mention of cmake as a dependency for the editor, as that was removed upstream 2021-06-04 13:04:55 +02:00
build.cfg build.cfg: if BUILD_ENGINEREVISION is 0, build latest. 2021-08-27 12:31:07 +02:00
build_all.sh Switch from iqmtool to vvmtool. 2021-08-10 12:07:09 +02:00
build_editor.sh build_game.sh: double check if we're in a git repo before updating a sub-module 2021-08-07 23:14:51 +02:00
build_engine.sh build.cfg: if BUILD_ENGINEREVISION is 0, build latest. 2021-08-27 12:31:07 +02:00
build_game.sh build_game.sh: double check if we're in a git repo before updating a sub-module 2021-08-07 23:14:51 +02:00
build_tools.sh build_tools.sh: Adjust naming to match upstream tool 2021-08-10 12:08:34 +02:00
default.fmf Menu-FN/FS: Only parse sprays from logos/, not root of mod-dir 2021-08-29 09:53:36 +02:00
get_gamepacks.sh build.cfg: Add BUILD_UPDATE, which will control whether or not to run a vcs update command before building a project 2021-08-07 12:27:19 +02:00
make_dist.sh make_dist.sh: bundle any script starting with install_*.sh into the game-dir 2021-08-29 16:03:48 +02:00
make_mapdef.sh Clean-up defines for physics vars. Those are handled elsewhere... 2021-08-14 08:49:40 +02:00
make_shadertags.sh Added make_shadertags.sh, which will prove useful for Radiant users 2021-08-16 10:48:01 +02:00
nuclide nuclide launch script: if NUCLIDE_GDB is set, run a debug session with gdb 2021-07-03 15:10:55 +02:00
nuclide-ds nuclide-ds: Don't specify -manifest any longer 2021-02-07 08:20:08 +01:00
vmap build.cfg: if BUILD_ENGINEREVISION is 0, build latest. 2021-08-27 12:31:07 +02:00
worldspawn Make the worldspawn launch script change directories 2021-01-16 21:16:46 +01:00

README.md

FTE Logo 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.

On Windows, please use cygwin for a sensible experience.

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.

Dependencies

Rough list of dependencies for the average Linux system. On some systems the names may slightly differ. These should be correct for OpenSUSE.

Engine

  • subversion
  • gmake
  • gcc
  • mesa-libGL-devel
  • libgnutls-devel
  • libopenal-devel
  • libX11-devel
  • libXcursor-devel
  • libXrandr-devel
  • libSDL2-devel (only if you pass BUILD_SDL2=1 to build_engine.sh)

For WinNT and Darwin systems it's recommended you use the SDL2 backend, but native backends may be available in FTEQW.

The X development packages are obviously only a requirement for when you do not compile an SDL2 build on a UNIX-like system.

FFMPEG Plugin

  • ffmpeg-4-libavformat-devel
  • ffmpeg-4-libswscale-devel

You want this plugin if you want playback of a variety of media formats, including video decoding.

Worldspawn Level Editor

  • gcc-c++
  • gtk2-devel
  • gtkglext-devel
  • libxml2-devel
  • libjpeg8-devel
  • minizip-devel

This is the only component that requires a C++ compiler.

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

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.