Mostly Harmless 0.3.0

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 8 months
Location: Outback Australia

Mostly Harmless 0.3.0

Post #1by marc » 21.04.2004, 00:03

The windowing system is freeglut, and the GUI is Pui. Lua is used to make the backgroud react as the user navigates the menus.
Rassilon, I had a good look at Qt as well and ended up taking this approach. I can highly recommend plib.

Screenshots:

Image

Image

Here is some text from the readme:
Mostly Harmless in its current form is a modified version of Celestia. If you are not familiar with Celestia you can find it at : http://celestiaproject.net/celestia.

This release is the first to include the new user interface written with the pui component of plib. The user interface is still a work in progress. Many features are not implemented yet and some of the widgets do not do anything yet. The green screen is the navigation page, it behaves very much like celestia and uses the same key mappings.

The database features of the previous version are still relevant when in navigation mode. The documentation at the following link still applies. http://mostlyharmless.sourceforge.net/s ... index.html

If desired the generate_all.bat script can be executed to populate the entire star database with solar systems. With the supplied stars.dat of over 100,000 stars this will take about 6 hours. Eventually the generation process will become redundant once generation on demand is implemented.

Due to bandwidth limitations I have deferred the high res version again for a later release.

Changelog : http://mostlyharmless.sourceforge.net/m ... c.php?p=82

Go to my website to find the download. http://mostlyharmless.sf.net/

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #2by don » 21.04.2004, 00:48

Hi Marc,

It looks like you are making some good progress! :D

Does this *require* MySQL to be installed and set-up *before* installing and running your package? I'm using WinXP. Will it run without MySQL?
-Don G.
My Celestia Scripting Resources page

Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.

Topic author
marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 8 months
Location: Outback Australia

Post #3by marc » 21.04.2004, 02:29

Hi Don,
The MySQL server is embedded into the application, You dont need to worry about it for even be aware it is there.
Except for opengl there are no other requirements for the installer.

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #4by don » 21.04.2004, 04:38

Kewel! Thanks Marc. I'll go grab it tonight and play! :D
-Don G.

My Celestia Scripting Resources page



Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.

Topic author
marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 8 months
Location: Outback Australia

Post #5by marc » 21.04.2004, 13:32

Great Don, I'm looking forward to some feedback.

I realise that 60M for the lores version is a bit big for modem users so I have added another release which has no textures or models included. It is 8 megabytes.
Better to download this if you have already seen the textures in 0.2.0.
Get it here:
https://sourceforge.net/project/showfil ... _id=232537

I am now writing an ant task for the source distro so that will be out next.

I'm yet to work out a reliable strategy to upload the highres version. Due to everyones textures (thanks again) it's 300M and takes me 30 hours to upload :(

dab
Posts: 30
Joined: 30.01.2002
With us: 22 years 9 months
Location: Zurich 47.38 N 8.53 E

Post #6by dab » 21.04.2004, 16:47

I imagine this MySQL backend would have many uses, not just for the game, but also for "serious" star-browsing. Has it been considered to merge it into the official code of celestia (maybe, as an option at compile-time)? I would really love to be able to run mysql-queries even with 'normal' celestia!

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 1 month
Location: Pordenone/Italy

Post #7by Paolo » 21.04.2004, 19:45

marc wrote:I realise that 60M for the lores version is a bit big for modem users so I have added another release which has no textures or models included. It is 8 megabytes.

...

I'm yet to work out a reliable strategy to upload the highres version. Due to everyones textures (thanks again) it's 300M and takes me 30 hours to upload :(


Hi Marc

Did you consider the possibility to generate the textures at runtime instead of distributing them as files?
I red some time ago about fractal lanscape generator. The same routine should be useful fo generate planetary textures at runtime. So if a mostly harmless user would decide to visit a system the program should generate the low detail textures at runtime.
If your ship will get near enough to a planet a more refined texture (medium detail) should be generated. If your ship enters the atmosphere a high detail texture should be generated.
I think that using GL extensions for texture management the time requested for the runtime generation of the planetary textures could be similar to the time requested to load and unpack the textures from file.

- Paolo
Remember: Time always flows, it is the most precious thing that we have.
My Celestia - Celui

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #8by don » 21.04.2004, 22:13

Hi Marc,

marc wrote:I'm looking forward to some feedback.
It's downloaded, installed, and seems to be running fine -- all 196 MB (after solar system gen) 8O . Haven't gotten into any of the SQL stuff yet. First impression -- looks like one HUGE undertaking!

Since I'm not sure "where you are" in the development process, I'm not sure exactly what parts would be okay for me to provide comments on. Are there some specific things you would like feedback on, ie. color combinations, widgets (size, location, etc.), text on widgets, or?

A couple of things I noticed:

1) Right-clicking a star does not pop-up an info box (regardless if it's a marked or un-marked star).

2) How do you end the "Intro" without shutting down the window/app?

3) Right-clicking an object (ie. Earth) when in Navigate mode, does not display a list of child objects. Should it? Maybe related to #1?


marc wrote:I'm yet to work out a reliable strategy to upload the highres version. Due to everyones textures (thanks again) it's 300M and takes me 30 hours to upload :(

What about breaking them up into individual "packages", based on specific systems? Then, users could download a single system package at a time.

Will play more later! :D
-Don G.

My Celestia Scripting Resources page



Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.

Topic author
marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 8 months
Location: Outback Australia

Post #9by marc » 22.04.2004, 08:48

dab wrote:I imagine this MySQL backend would have many uses, not just for the game, but also for "serious" star-browsing. Has it been considered to merge it into the official code of celestia (maybe, as an option at compile-time)? I would really love to be able to run mysql-queries even with 'normal' celestia!
I created this release: http://mostlyharmless.sourceforge.net/s ... index.html
as a kind of proposal to do just that.
I guess it just did not generate enough interest. No-one did anything really useful with it that I am aware of.
Besides how many Celesita users know SQL? It needs a bit more thought as to whether stars.dat is made obsolete or not. Also to implement it would require a lot of work which would only benefit a few users.
Personally I don't want to do it, writing MH is more fun.

Paolo wrote:Did you consider the possibility to generate the textures at runtime instead of distributing them as files?
I red some time ago about fractal lanscape generator. The same routine should be useful fo generate planetary textures at runtime. So if a mostly harmless user would decide to visit a system the program should generate the low detail textures at runtime.
If your ship will get near enough to a planet a more refined texture (medium detail) should be generated. If your ship enters the atmosphere a high detail texture should be generated.
I think that using GL extensions for texture management the time requested for the runtime generation of the planetary textures could be similar to the time requested to load and unpack the textures from file.
- Paolo
I do use some fractally generated textures which each take at least 2 minutes to generate. Thats without bump, specular and cloudmaps and touchups.
Without making the texures look really cheesy I dont think that fractally generated textures will ever be fast enough (or even look good enough). Besides its a project in itself, and not something I want to do.

I'm thinking of using the textures/bump maps as a basis for hieght maps for the demeter terrain engine for close in stuff, but thats a long-long-long way off.

don wrote:It's downloaded, installed, and seems to be running fine -- all 196 MB (after solar system gen) 8O . Haven't gotten into any of the SQL stuff yet. First impression -- looks like one HUGE undertaking!
Excellent!
If you havn't done so have a look here for more on the sql features. http://mostlyharmless.sourceforge.net/s ... index.html
there is some background information in these old threads:
http://www.celestiaproject.net/forum/viewtopic ... sc&start=0
http://celestiaproject.net/forum/viewtopic.php ... highlight=

don wrote:Since I'm not sure "where you are" in the development process, I'm not sure exactly what parts would be okay for me to provide comments on. Are there some specific things you would like feedback on, ie. color combinations, widgets (size, location, etc.), text on widgets, or?
After 2 years of part time work I think I'm 20% of the way there. :)
You really need to be familiar with elite and frontier do know what im doing. But for now just general comments are great, but dont be too picky ;).

don wrote:1) Right-clicking a star does not pop-up an info box (regardless if it's a marked or un-marked star).
Most of the windows the user is not supposed to react with the background. Only in Nav mode so far.

2) How do you end the "Intro" without shutting down the window/app?
Press Escape, it brings you to a top level page from wherever you are. I should probably change this so when the demo starts the gui dissapears after that the first escape just stops the demo. Not to worry I still have to add some content and make a proper demo first!

3) Right-clicking an object (ie. Earth) when in Navigate mode, does not display a list of child objects. Should it? Maybe related to #1?
There is no context menu code implemented yet, I have to rewrite it with pui as it was platform specific.
There will be contex menus in navigation mode but they will be somewhat different to celestia. Im actually going to throw out a lot of celestias keystrokes to make the nav mode very simple. I also will be switching the bodies to wireframe or something like that, as this is a view that is generated by the ships computer.

What about breaking them up into individual "packages", based on specific systems? Then, users could download a single system package at a time.

I had texture and binary modules originally but it confused too many people, much better to have a single installer that any idiot can use.
Also too many people were just downloading the texture packs and not looking at the good stuff.

Anyway, thanks for the feedback guys. :)

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #10by don » 22.04.2004, 19:04

Hi Marc,

marc wrote:
don wrote:1) Right-clicking a star does not pop-up an info box (regardless if it's a marked or un-marked star).
Most of the windows the user is not supposed to react with the background. Only in Nav mode so far.
Yes, I was in Nav mode, and thought this function was available, due to your write-up saying, "I have replaced the internet info for a star with data from the database. You can right click on a star and click Info to bring up all the information that is stored in a star's row." Or does this apply only to the previous SQL star database release for the normal Celestia?


marc wrote:
don wrote:2) How do you end the "Intro" without shutting down the window/app?
Press Escape, it brings you to a top level page from wherever you are.

Yes, it displays the 8-option menu, but the Intro continues running. If I select "New Game", it continues running until I select one of the options in the New Game menu, or select Main Menu. If I select Load, it continues running even while the Open widget is displayed. If I press Cancel here, then it quits running.
-Don G.

My Celestia Scripting Resources page



Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.

Psykotik
Posts: 233
Joined: 02.11.2002
With us: 22 years
Location: Geneva
Contact:

Post #11by Psykotik » 22.04.2004, 21:28

Hi Marc,

Just installed it, and it seems to be a huge improvement !

I'm going to stress your program a little bit 8)

Thanks !

Topic author
marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 8 months
Location: Outback Australia

Post #12by marc » 23.04.2004, 11:12

don wrote:Yes, I was in Nav mode, and thought this function was available, due to your write-up saying, "I have replaced the internet info for a star with data from the database. You can right click on a star and click Info to bring up all the information that is stored in a star's row." Or does this apply only to the previous SQL star database release for the normal Celestia?
Yup, it only applies to the old version as the context menus have gone.

don wrote:Yes, it displays the 8-option menu, but the Intro continues running. If I select "New Game", it continues running until I select one of the options in the New Game menu, or select Main Menu. If I select Load, it continues running even while the Open widget is displayed. If I press Cancel here, then it quits running.
It still needs some work here :). I want to try and modify celestiacore so I can run two or more scripts simultaneously. That should allow a bit more flexibility with starting and stipping scripts, and I will be able to run the credits without stopping Harrys random motion script.

Psykotik wrote:Hi Marc,

Just installed it, and it seems to be a huge improvement !

I'm going to stress your program a little bit 8)

Thanks !

Thanks Psykotik, go easy.

eburacum45
Posts: 691
Joined: 13.11.2003
With us: 21 years

Post #13by eburacum45 » 29.04.2004, 07:37

How much have you changed Stargen to make it pump out accurate solar systems?
I used it to create fifteen systems for Orion's Arm; but it doesnt do everything I would like in the best of all possible worlds...

for a start it seems to make too many planets to be realistic; I had to thin them out, especially for older stars...
an old star, particularly a K or M star, would have formed when the galaxy and the universe had a lower proportion of metals; so these stars would have fewer planets.

Similarly a younger star system would be more likely to have produced an epistellar jupiter, that is to say a hot jupiter; these worlds might clear all the other worlds out of a system as it spins inwards, so these systems would also have fewer planets.
Waterworlds - these might be quite common, but Stargen doesn't seem to produce them as such.

I had difficulty with binary systems too- as about half of all systems are multiple this is a real problem...

confession I haven't downloaded Mostly Harmless yet- sorry; I'm sure it or something similar would be really useful for Orion's Arm, but we have so many projects on the go atm...

Topic author
marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 8 months
Location: Outback Australia

Post #14by marc » 29.04.2004, 10:33

eburacum45 wrote:How much have you changed Stargen to make it pump out accurate solar systems?
The only change I have made to stargen is to make it output moons, and to output into the database.
I make other changes after the data is in the database:
These include:
    Ring systems for jovians.
    Convert the large jovians into brown dwarfs.
    Oblateness.
    Orbital Inclination.
Following that is all the texture allocation which is done to planet type, hydrosphere and cloud coverage. Atmospheres are also created using information from stargen.
I have more planned additions in the changelog
http://mostlyharmless.sourceforge.net/m ... c.php?t=29

eburacum45 wrote:for a start it seems to make too many planets to be realistic; I had to thin them out, especially for older stars...
an old star, particularly a K or M star, would have formed when the galaxy and the universe had a lower proportion of metals; so these stars would have fewer planets.
Some of these issues may be solved when I upgrade to the latest stargen version.
I have been discussing some thinning out solutions in the following threads with selden and chaossyndrome.
http://celestiaproject.net/forum/viewtopic.php?t=4617
http://mostlyharmless.sourceforge.net/m ... c.php?t=76

eburacum45 wrote:Similarly a younger star system would be more likely to have produced an epistellar jupiter, that is to say a hot jupiter; these worlds might clear all the other worlds out of a system as it spins inwards, so these systems would also have fewer planets.
Hot jupiters would have to be coded from scratch.

eburacum45 wrote:Waterworlds - these might be quite common, but Stargen doesn't seem to produce them as such.
Yes it does, but they are a little rare. Out of 2000 solar systems there are
127 water worlds some of which are classified as breathable for humans.

eburacum45 wrote:I had difficulty with binary systems too- as about half of all systems are multiple this is a real problem...
I'm yet to find a solution for this.There is a bit of collection to do of all the ssc files out there, but this only covers the inner systems. The culling of planets as described above will alleviate this somewhat, mabey some extra generation steps of fictional stars will be required.

Most of the project development time so far has gone on the system generation. As you can see there is still a lot I want to do, but I am going to work on some of the other features features for a while: eg ships, collision, gravity, gameplay and AI.

confession I haven't downloaded Mostly Harmless yet- sorry; I'm sure it or something similar would be really useful for Orion's Arm, but we have so many projects on the go atm...

Unfortunately our projects don't have compatible licenceses. :(
I'd like to use some of the Orions arm work myself. But that would only be possible if it were compatible with the GPL. (sorry everyone this getting off topic, probably better discussed elsewhere)

Psykotik
Posts: 233
Joined: 02.11.2002
With us: 22 years
Location: Geneva
Contact:

Post #15by Psykotik » 29.04.2004, 20:26

marc wrote:
2) How do you end the "Intro" without shutting down the window/app?
Press Escape, it brings you to a top level page from wherever you are. I should probably change this so when the demo starts the gui dissapears after that the first escape just stops the demo. Not to worry I still have to add some content and make a proper demo first!


Hi Marc,

Could you change the behavior of main menu ? It would be more userfriendly to go back where you come from. I mean, if I'm playing with some sql request, sometime I want to change graphics options; but when I'm a the main menu, I can't go back !

Topic author
marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 8 months
Location: Outback Australia

Post #16by marc » 29.04.2004, 23:44

Yup, I'll be changing the main menu into something else. Keep in mind that the sql console is just there for debugging and wont be in the game.


Return to “Development”