Well! Its happend! Transcendence's source code has escaped George's computer and is currently on the run! Where is it? What is it doing? Nobody really knows! It can be seen wearing a very tight license collar and was last seen to be wearing green. Any information as to its whereabouts isn't necessary.
After many years, the source of Transcendence has become more or less open, while there is a license prohibiting using the name and the source for commercial ventures, you are welcome it to help improve the game and other wonders things.
(Update: it appears this has shown up on Reddit.. I am not the developer, George Moromisato is the developer)
https://github.com/kronosaur/Transcendence
Transcendence Source!
-
- Developer
- Posts: 2998
- Joined: Thu Jul 24, 2003 9:53 pm
- Contact:
-
- Developer
- Posts: 2998
- Joined: Thu Jul 24, 2003 9:53 pm
- Contact:
I've updated the repo on GitHub. I added ijl15l.lib, which is needed to compile. I also deleted a bunch of files.
When you try to compile, it might complain about CHexarcServiceFactory::Create. If so, go to the TSU project and include CloudInterface/CHexarcServiceStub.cpp to the build.
Let me know if you have questions.
When you try to compile, it might complain about CHexarcServiceFactory::Create. If so, go to the TSU project and include CloudInterface/CHexarcServiceStub.cpp to the build.
Let me know if you have questions.
-
- Developer
- Posts: 2998
- Joined: Thu Jul 24, 2003 9:53 pm
- Contact:
I just added some cursory instructions to the README. If you run into problems (or non-obvious configuration issues) let me know and I will add them to the README.
As for reading the source code: there is a lot to go through. Remember that this source code has evolved over the last 10 years (at least) so there a lot there that even I've forgotten.
Here is a quick guide to the projects (BTW, it is probably easier to deal with the projects in VS--it will make more sense there than in the file system hierarchy):
The three core projects are Transcendence, TSE, and TSUI.
TSE is the core engine itself. The main data structure is CUniverse, which contains all other structures (types, objects, systems, etc.) The header files for TSE define all the interesting structures. In particular, TSEDesign.h defines most of the types (ItemType, ShipClass, StationType, etc.)
Originally, TSE was meant to be a generic 2D game engine and the Transcendence project was meant to have Transcendence-specific code. For example, dock screens, game interface, and the player ship are all defined in the Transcendence project (not in TSE).
Much later I decided to create TSUI as a peer to TSE. Ultimately, stuff like dock screens and such should move to TSUI and Transcendence should just be the game shell. But for now you will see stuff split between the two.
As for reading the source code: there is a lot to go through. Remember that this source code has evolved over the last 10 years (at least) so there a lot there that even I've forgotten.
Here is a quick guide to the projects (BTW, it is probably easier to deal with the projects in VS--it will make more sense there than in the file system hierarchy):
The three core projects are Transcendence, TSE, and TSUI.
TSE is the core engine itself. The main data structure is CUniverse, which contains all other structures (types, objects, systems, etc.) The header files for TSE define all the interesting structures. In particular, TSEDesign.h defines most of the types (ItemType, ShipClass, StationType, etc.)
Originally, TSE was meant to be a generic 2D game engine and the Transcendence project was meant to have Transcendence-specific code. For example, dock screens, game interface, and the player ship are all defined in the Transcendence project (not in TSE).
Much later I decided to create TSUI as a peer to TSE. Ultimately, stuff like dock screens and such should move to TSUI and Transcendence should just be the game shell. But for now you will see stuff split between the two.
- alterecco
- Fleet Officer
- Posts: 1658
- Joined: Wed Jan 14, 2009 3:08 am
- Location: Previously enslaved by the Iocrym
OK, thanks for the information. Everything helps :)
I would also like to ask you what your hopes are regarding releasing the source. Are you looking for patches/help on particular issues, do you have larger plans that the community can help with? Do you accept tickets on github, and use the git/github system in general (ie. do you accept pull requests).
I would also like to ask you what your hopes are regarding releasing the source. Are you looking for patches/help on particular issues, do you have larger plans that the community can help with? Do you accept tickets on github, and use the git/github system in general (ie. do you accept pull requests).
-
- Developer
- Posts: 2998
- Joined: Thu Jul 24, 2003 9:53 pm
- Contact:
That's a great question.alterecco wrote:OK, thanks for the information. Everything helps
I would also like to ask you what your hopes are regarding releasing the source. Are you looking for patches/help on particular issues, do you have larger plans that the community can help with? Do you accept tickets on github, and use the git/github system in general (ie. do you accept pull requests).
I have to work out some legal details before accepting contributions. In particular, anyone who contributes will have to sign a basic agreement granting the company (Kronosaur Productions) ownership of the changes. This is what, for example, Apache does (http://www.apache.org/licenses/icla.txt).
Once I have that in place I will be able to accept contributions (bug fixes, etc). I think we will need sufficient coordination for this to work--For example, I would hate for someone to spend a lot of time adding a feature that I don't want to pull (for whatever reason).
For now, I have a couple of goals:
1. Hopefully the source code will serve as a resource for modders--sometimes knowing how something is implemented helps in understanding how a particular mod will behave.
2. It is possible that some pieces of the source code will prove useful to people writing their own games. As long as those games are non-commercial and don't use any trademarks, then I would be happy if the source code helps them.
I don't know much about GitHub yet (still learning). I don't want to use it for bugs (I think Trac is fine for now), so hopefully we can just use GitHub to coordinate patches, etc.
- Aury
- Fleet Admiral
- Posts: 5469
- Joined: Tue Feb 05, 2008 1:10 am
- Location: At the VSS Shipyards in the frontier, designing new ships.
I'm stuck at missing TSUI.lib from the transcendence/release directory
(shpOrder gPlayership 'barrelRoll)
<New tutorials, modding resources, and official extension stuff coming to this space soon!>
<New tutorials, modding resources, and official extension stuff coming to this space soon!>
- alterecco
- Fleet Officer
- Posts: 1658
- Joined: Wed Jan 14, 2009 3:08 am
- Location: Previously enslaved by the Iocrym
I thought I would post this for you George. It is a git branching model that has gotten some positive feedback. It also shows some of the power of using a decentralised version control system. It might be too complex for your needs at the moment, but it is a good read nonetheless.
http://nvie.com/posts/a-successful-git-branching-model/
http://nvie.com/posts/a-successful-git-branching-model/
- Ttech
- Fleet Admiral
- Posts: 2767
- Joined: Tue Nov 06, 2007 12:03 am
- Location: Traveling in the TARDIS
- Contact:
I've used git for a long time and that post confuses me to no end, alterecco. It might be the chart. I'm thinking that a simple method might be master (dev), stable, and something for each release.alterecco wrote:I thought I would post this for you George. It is a git branching model that has gotten some positive feedback. It also shows some of the power of using a decentralised version control system. It might be too complex for your needs at the moment, but it is a good read nonetheless.
http://nvie.com/posts/a-successful-git-branching-model/
its as simple as:
git checkout -b branch
git push origin branch
