Page 1 of 1
On the subject of developing Celestia
Posted: 13.01.2008, 04:50
by Hungry4info
I've played around with Celestia for more than two years now. I want to go further. I want to learn how to modify it, how to work with it to get it to do what I want it to do. How to read and write the underlying code that makes it run. Perhaps if I become fluent with that, helping in development of Celestia.
Where should I start?
Posted: 13.01.2008, 10:39
by ElChristou
You need to learn C++ first, then have a very good math level, then a very good physics level...
The above is not to be discouraging, it's the requisite to really understand the code of Celestia. Now if you get good enough with C++ I suppose it will already be a very good start.
Re: On the subject of developing Celestia
Posted: 13.01.2008, 10:59
by t00fri
Hungry4info wrote:I've played around with Celestia for more than two years now. I want to go further. I want to learn how to modify it, how to work with it to get it to do what I want it to do. How to read and write the underlying code that makes it run. Perhaps if I become fluent with that, helping in development of Celestia.
Where should I start?
Hungry,
as you must have noticed in the meantime, there are many ways to contribute to Celestia development, also without writing code.
If you have been involved with programming before, you will consider learning C++ a not too difficult challenge. Many concepts in programming are rather independent of the particular programming language. There are many (compact )C++ tutorials available in the net. I find this one quite concise, for example.
http://www.cplusplus.com/doc/tutorial/
If you know some C, the change is really not very hard.
I think you have quite a good background in astronomy/astrophysics. Also I think you are well aware meanwhile of the general underlying strategy in the development of Celestia. That's quite important.
Another good idea would be to ask Vincent. He has started pretty much near zero as to programming and meanwhile is a very active member of the dev team.
Bye Fridger
Re: On the subject of developing Celestia
Posted: 13.01.2008, 11:19
by cartrite
Hungry4info wrote:I've played around with Celestia for more than two years now. I want to go further. I want to learn how to modify it, how to work with it to get it to do what I want it to do. How to read and write the underlying code that makes it run. Perhaps if I become fluent with that, helping in development of Celestia.
Where should I start?
You could start building cvs if you haven't done so already.
After you get the c++ basics down, you can check out this page.
http://celestia.cvs.sourceforge.net/celestia/celestia/
There, if you click on a file it will bring up the files history and you can browse and see the differences. Each revision has a link to "Diff to previous". If you start following the development, this may give you an idea of what code changes there were and the effect the code changes had.
I got a ways to go yet but I'm getting a basic idea of what is going on.
cartrite
Posted: 13.01.2008, 14:54
by Hungry4info
I have a basic understanding of Java, so I've a little programming experience.
t00fri wrote:I think you have quite a good background in astronomy/astrophysics. Also I think you are well aware meanwhile of the general underlying strategy in the development of Celestia. That's quite important.
Well thank-you
Thanks, to all three of you, for the guidance.
The scripts that one can download for Celestia, are they in C++ format? I've read over a few and can make sense of it.
Re: On the subject of developing Celestia
Posted: 13.01.2008, 15:16
by Vincent
t00fri wrote:Another good idea would be to ask Vincent. He has started pretty much near zero as to programming and meanwhile is a very active member of the dev team.
Ho ho, I used to build programs in 'Basic' on my Amstrad CPC 6128 when I was a kid !
Seriously, you can start making trivial changes to the code and see what happens... The most important thing is to keep in mind that 'It HAS to work'. Learning either Lua or C++ code particularly requires time, concentration and persistency...
Posted: 13.01.2008, 17:07
by selden
Hungry4info wrote:The scripts that one can download for Celestia, are they in C++ format? I've read over a few and can make sense of it.
One of the things that's important when programming is to use the correct terminology. If you don't, you are bound to misunderstood and get responses which are useless to you.
Scripts are text files which contain commands which are to be interpreted and executed by some program while it's running.
Source code files are translated into binary computer instructions by a compiler and merged into a runnable program by a linker.
Celestia's
source code files are written in C++.
Re: On the subject of developing Celestia
Posted: 13.01.2008, 17:33
by t00fri
Vincent wrote:t00fri wrote:Another good idea would be to ask Vincent. He has started pretty much near zero as to programming and meanwhile is a very active member of the dev team.
Ho ho, I used to build programs in 'Basic' on my Amstrad CPC 6128 when I was a kid !
...
Wow
. As the name says Basic is really not much of a programming language ... I think this is almost a fair statement.
Cheers,
F.
Posted: 13.01.2008, 20:23
by Hungry4info
selden wrote:Hungry4info wrote:The scripts that one can download for Celestia, are they in C++ format? I've read over a few and can make sense of it.
One of the things that's important when programming is to use the correct terminology. If you don't, you are bound to misunderstood and get responses which are useless to you.
Scripts are text files which contain commands which are to be interpreted and executed by some program while it's running.
Source code files are translated into binary computer instructions by a compiler and merged into a runnable program by a linker.
Celestia's
source code files are written in C++.
Yes, I am aware of the distinction. I was asking of the
scripts were in C++ form. I haven't read over the source code.
Posted: 13.01.2008, 20:40
by selden
Now you really have me confused as to what you're trying to ask.
C++ is a compiled language. It can't be used for interpreted scripts. It's not a scripting language.
Celestia's scripts (i.e. scripts which tell Celestia to do things) are written either in Lua (.celx scripts) or in Celestia's proprietary .cel language. A few such scripts are in the CVS archive.
Windows .bat scripts which tell the Windows command shell how to compile Celestia also are included in the CVS archive.
Several perl scripts which were used to construct some of Celestia's catalogs are also included in the CVS archive.
Posted: 13.01.2008, 23:05
by Hungry4info
selden wrote:Celestia's scripts (i.e. scripts which tell Celestia to do things) are written either in Lua (.celx scripts) or in Celestia's proprietary .cel language. A few such scripts are in the CVS archive.
This answers my question, thank-you.
Re: On the subject of developing Celestia
Posted: 14.01.2008, 06:27
by LordFerret
t00fri wrote:Vincent wrote:t00fri wrote:Another good idea would be to ask Vincent. He has started pretty much near zero as to programming and meanwhile is a very active member of the dev team.
Ho ho, I used to build programs in 'Basic' on my Amstrad CPC 6128 when I was a kid !
...
Wow
. As the name says Basic is really not much of a programming language ... I think this is almost a fair statement.
Cheers,
F.
Wow, I'm surprised to hear you say that!
Don't discount Basic. It's still one of the best elementary programming languages to learn; The concepts it's capable of exemplifying can be applied to any other language - C included.