diff --git a/doc/about b/doc/about new file mode 100644 index 00000000..a1dc8157 --- /dev/null +++ b/doc/about @@ -0,0 +1,41 @@ +About Nuclide + +The Nuclide project produces a freely available game-logic component and +development platform on top of FTEQW. +Our goals is to create a modern research base for new advancements, features +as well as support games whose formats are supported by FTEQW but their code +isn't freely accessible. + +1. Why might I want to use it? + +Nuclide is for you when: + +- You want to play one of our supported games on the platform/arch of your + choice. +- You want to develop a game using a lot of complex and well-tested objects + we have written for you. +- You want to make modifications for a game we support and have full control + over what you can do. + +2. How free is Nuclide? + +Everything in Nuclide is free. The copyright terms for the game-logic are +very permitting. Nuclide does not use the GPL as a point of reference, it +instead uses a ISC-like license. This means you can use, copy, modify and +distribute the code and work resulting from it for any purpose. +Please read the very short 'license' document for details. + +3. What is the release cycle? + +At the current moment, there is no strict release cycle as everthing is +still very early (albeit usable). I am aiming for a stable release cycle of +every 3-6 months once we leave Beta. + +4. How can I support the project? + +Currently, the only way to support the efforts of the one-man-team behind +this, is to use https://www.paypal.me/eukara/ + +It was only possible for Nuclide to get this far because of the contributions +of single individuals from the free-software community. +Thanks you so much, everyone who has contributed! diff --git a/doc/contributing b/doc/contributing new file mode 100644 index 00000000..86491981 --- /dev/null +++ b/doc/contributing @@ -0,0 +1,15 @@ +NUCLIDE CODEBASE CONTRIBUTING RULES + +1. The code must be yours. + +It's simple: Do not take GPL code. Do not take Half-Life SDK code. +We do not decompile, we reverse-engineer by trial and error. +Also referred to as 'clean-room engineering'. +Most of the behaviour is rather predictable, other is not. + +2. Game specific features need to be put into game-specific directories. + +Unless other games benefit from this, keep it seperate to one of the game +sub-directories. + +That's about it. diff --git a/doc/faq b/doc/faq index 456fc7ab..94bb334f 100755 --- a/doc/faq +++ b/doc/faq @@ -1,3 +1,5 @@ +NUCLIDE SOURCE TREE FAQ + Q: Why does this project exist? A: I wanted a free variant of the best version of Counter-Strike in 2016 as as I was preparing to move away from x86 hardware and moving to other diff --git a/doc/history b/doc/history new file mode 100644 index 00000000..74f4af5f --- /dev/null +++ b/doc/history @@ -0,0 +1,48 @@ +NUCLIDE PROJECT HISTORY + +In November 2016 eukara started work on 'OpenCS', a project which focused +solely on creating a clean-room implementation of Counter-Strike 1.5 in QuakeC +for FTEQW, which then was the only Quake engine fork which adhered to the +GPL and supported the level and model format of Half-Life mostly to spec. +Its strong game-logic enhancements such as Client-Side QC as well as its +QuakeWorld backbone also made it more desirable over other Quake engine forks. + +OpenCS was feature complete with all CS 1.5's content had to offer by December +of 2016, however the name conflicted with the 'OpenMW' sub-project 'OpenCS', +so eukara changed it to avoid any future conflicts. + +To emphasize the free-software aspect, eukara renamed the project FreeCS. + +Work on FreeCS had then paused so more work could be done on what would later +become the 'gs-entbase' component. Another project required more compatibility +with the full set of map entities present in Half-Life. +When those matured, they were then backported to the FreeCS tree. + +In November of 2017, FreeCS was featured on Phoronix. + +After the release of The Wastes in April 2018, the game which introduced the +'gs-entbase' component, more work was done on FreeCS in regards to the netcode. + +A lot had been learned about prediction and taking full advantage of the +custom networking available in FTEQW, but new features have also been +added to the engine to take full advantage of what the content had to offer. +Features like interacting with OpenAL's EAX extension, model-events, support +for WAD3 decal parsing and countless QuakeC extensions were all added by +either Spike or eukara himself to make FreeCS possible. +Many projects running on FTE have since taken advantage of these extensions +as well! + +By the summer of 2019, the Half-Life Deathmatch component started taking shape. +At this point, the tree was overhauled so it would support multiple mods easier +and that a lot of code would be shared between all of them. +This is the structure of the src tree we still use to this day. + +So a name had to be thought of that would neatly tie all projects under one +roof together: Nuclide! + +The name Nuclide calls back to an earlier project, which tried to create +a work environment similar to GoldSrc for the original Quake engine. + +In April of 2020, the weapons were rewritten to be fully client-side predicted. +This brought the Counter-Strike component on par with the advances of the other +games that Nuclide supports. diff --git a/doc/license b/doc/license new file mode 100644 index 00000000..2ddcbab7 --- /dev/null +++ b/doc/license @@ -0,0 +1,13 @@ +Copyright (c) 2016-2020 Marco Hladik + +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.