Page 1 of 2

Transcendence Source!

Posted: Wed Mar 14, 2012 4:38 am
by Ttech
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

Re: Transcendence Source!

Posted: Wed Mar 14, 2012 5:34 am
by george moromisato
Thanks for posting, Ttech. As revealed in IRC, here is the link:

https://github.com/kronosaur/

Re: Transcendence Source!

Posted: Wed Mar 14, 2012 5:55 am
by Ttech
Someone's got to do it. :P
("We Care A Lot")

Re: Transcendence Source!

Posted: Wed Mar 14, 2012 8:03 am
by Atarlost
Ttech, this is what you call an announcement. :arrow:

Re: Transcendence Source!

Posted: Wed Mar 14, 2012 12:13 pm
by alterecco
Ohh... wow. I am speechless. I think I am going to go lay down.

Thank you George... I think... XD

Re: Transcendence Source!

Posted: Wed Mar 14, 2012 6:06 pm
by george moromisato
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.

Re: Transcendence Source!

Posted: Wed Mar 14, 2012 6:22 pm
by alterecco
You use Visual Studio to build i understand... Do you have any notes/hints for how to build the source. What version you use, your setup, any hints for reading the source?

Re: Transcendence Source!

Posted: Wed Mar 14, 2012 6:40 pm
by george moromisato
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.

Re: Transcendence Source!

Posted: Wed Mar 14, 2012 7:13 pm
by alterecco
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).

Re: Transcendence Source!

Posted: Wed Mar 14, 2012 7:27 pm
by george moromisato
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).
That's a great question.

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.

Re: Transcendence Source!

Posted: Wed Mar 14, 2012 11:38 pm
by Aury
I'm stuck at missing TSUI.lib from the transcendence/release directory

Re: Transcendence Source!

Posted: Sat Mar 17, 2012 3:33 pm
by alterecco
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/

Re: Transcendence Source!

Posted: Sat Mar 17, 2012 3:51 pm
by Ttech
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/
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.

its as simple as:
git checkout -b branch
git push origin branch

:D

Re: Transcendence Source!

Posted: Sat Mar 17, 2012 4:14 pm
by alterecco
Try ignoring the chart and reading the article ;P

Re: Transcendence Source!

Posted: Sun Mar 18, 2012 3:22 pm
by Ttech
alterecco wrote:Try ignoring the chart and reading the article ;P
i'll try. but...
I look at charts because that is what they are there for. :P