More work towards documentation in the tree.
This commit is contained in:
parent
4d201c281b
commit
c036ccc318
5 changed files with 119 additions and 0 deletions
41
doc/about
Normal file
41
doc/about
Normal file
|
@ -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!
|
15
doc/contributing
Normal file
15
doc/contributing
Normal file
|
@ -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.
|
2
doc/faq
2
doc/faq
|
@ -1,3 +1,5 @@
|
||||||
|
NUCLIDE SOURCE TREE FAQ
|
||||||
|
|
||||||
Q: Why does this project exist?
|
Q: Why does this project exist?
|
||||||
A: I wanted a free variant of the best version of Counter-Strike in 2016 as
|
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
|
as I was preparing to move away from x86 hardware and moving to other
|
||||||
|
|
48
doc/history
Normal file
48
doc/history
Normal file
|
@ -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.
|
13
doc/license
Normal file
13
doc/license
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
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.
|
Loading…
Reference in a new issue