Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

What is happening on the PC?

General discussion for players of Oolite.

Moderators: winston, another_commander

dajt
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 364
Joined: Tue Aug 17, 2004 7:05 am
Location: Orange, NSW, Australia

What is happening on the PC?

Post by dajt »

Hi,

As you'll have noticed, I'm playing with the Oolite code again.

Don't expect any gameplay enhancements, new equipment, or graphics and sound improvements - that's just not my area. Someone else will have to take up the challenge of extending the core engine. I try to understand the flight code every few months and walk away bewildered by quaternions and vectors. Same goes for OpenGL - I know enough to do the textured planets, but shaders are beyond me.

What I am doing is fixing little bugs my changes introduced, and getting the trunk to work under Win32 again - various recent changes had broken it.

Until a Win32 coder with more OpenGL nous and better hardware than me shows up, Giles' shader stuff will be disabled in the Win32 port.

I'm planning on spending all my Oolite coding time on the JavaScript integration for now. I am doing it so that existing OXPs will not be affected.

The bad news is that until the Mac and linux coders show up again, or some new ones come along, the take up will be minimal because OXPs with JavaScript scripts will only work on Windows :(

I can do a linux port given enough enthusiasm - it means I'll need to install linux somewhere here which is a drag so it won't happen until I'm happy with the whole thing.

Textured planets is on hold unless the Mac and linux guys get behind it. It was made to work on the Mac I think, but most of the devs don't want to bring C++ into the build equation and I sympathise with that. It wasn't any fun here and took days just to get a suitable compiler built. It should be trivial on the Mac, but linux might be more like my experience.

So, not really any new features except a (hopefully) vastly improved scripting environment.
Regards,
David Taylor.
User avatar
johnsmith
Deadly
Deadly
Posts: 141
Joined: Fri Sep 22, 2006 10:32 am
Location: Teance
Contact:

Post by johnsmith »

Is there somewhere I can get a tarball of the source over http or ftp? Just wanted to get a build of the latest changes up and running on my mac.
User avatar
Dr. Nil
---- E L I T E ----
---- E L I T E ----
Posts: 983
Joined: Thu Sep 28, 2006 5:11 pm
Location: Nearest Hoopy Casino
Contact:

BIIIG NEWS!!!

Post by Dr. Nil »

Any development is big news. :D

Improved scripting is a great idea and will hopefully spawn a lot of fresh ideas for OXPs. Any chance that it might end up making even more variables available for testing and setting?

Being a non-coder I don't know anything about what problems it might cause to add C++ code, but if it's just a matter of coding aesthetics then I think that such ideas should be dropped now that the project has to learn to fly outside Giles' protective aegis. If adding C++ will open the game to more development and perhaps give us more developers (it's a lot more widespread, right?) then that would be the way to go IMO.
Image

300 billboards in Your Ad Here!
Astromines and more in Commies.
AVAILABLE HERE along with other Oolite eXpansion Packs.
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8512
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

@Doc - I think what dajt is saying is that scipting can be improved through use of the increased functionality of javascript (and you don't have to be a coder to use it - its reasonably painless), but C++ will be needed to increase the functionality of the game itself i.e. all the things we're clammering for on the BBs!

I may have got hold of the wrong end of the stick either of dajt's original posting or your issues over C++.

Over the years of working for the MOD I have discovered I am a terrible programmer in loads and loads of languages - from FORTRAN 77 right up through C++
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
Dr. Nil
---- E L I T E ----
---- E L I T E ----
Posts: 983
Joined: Thu Sep 28, 2006 5:11 pm
Location: Nearest Hoopy Casino
Contact:

Post by Dr. Nil »

English (Edit: Earth) is not my native tongue, so what I tried to say might not have come out as intended. :lol:

What I meant was: Go ahead with C++ please.

If the only reason that it's not implemented was because it wouldn't look nice internally I think that C++ should be implemented as it would open development to more people. C++ being more widespread than Objective-C AFAIK.

Jah man Dadee-ogí, zat wars whatta me meant yes? :ror: ;)
Image

300 billboards in Your Ad Here!
Astromines and more in Commies.
AVAILABLE HERE along with other Oolite eXpansion Packs.
dajt
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 364
Joined: Tue Aug 17, 2004 7:05 am
Location: Orange, NSW, Australia

Post by dajt »

Well, the point is that the game is already written in Obj-C, so that isn't going to change. It was unfortunate for us Win32/unix people but made sense in the context that Giles wrote it on a Mac, where Apple decided to make it the default development language.

Putting Obj-C and C++ code in the same program is possible, especially on OS-X where it is explicitly supported I believe, but it is still ugly and is pretty hard using the standard GNU compiler. I only did it because the noise-texture library is C++ and I didn't want to rewrite it in Obj-C.

C++ would not open the doors to more developers. If someone knows C++, Java, C#, or JavaScript and are sufficiently motivated to work on Oolite, learning Obj-C is not a big problem for them.

C++ won't add any extra functionality to Oolite.

Exposing more of the internals can be done perfectly well with Obj-C.
Regards,
David Taylor.
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8512
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

@ Doc :shock: :) According my friends and work colleagues here in the south of England, English is not my first language either - being born in Scotland and raised by "Geordie" parents in the North-East of England kind of does that to a man's dialect... :)
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
ArkanoiD
---- E L I T E ----
---- E L I T E ----
Posts: 452
Joined: Mon Mar 13, 2006 5:46 pm
Location: St Petersburg, Russia
Contact:

Re: What is happening on the PC?

Post by ArkanoiD »

dajt wrote:
I'm planning on spending all my Oolite coding time on the JavaScript integration for now. I am doing it so that existing OXPs will not be affected.

The bad news is that until the Mac and linux coders show up again, or some new ones come along, the take up will be minimal because OXPs with JavaScript scripts will only work on Windows :(
..
So, not really any new features except a (hopefully) vastly improved scripting environment.
Perl is portable and easy embeddable, why not?
User avatar
Dr. Nil
---- E L I T E ----
---- E L I T E ----
Posts: 983
Joined: Thu Sep 28, 2006 5:11 pm
Location: Nearest Hoopy Casino
Contact:

Post by Dr. Nil »

dajt wrote:
Exposing more of the internals can be done perfectly well with Obj-C.
I hope to see a lot of them made available.
  • *It could be nice to be able to make wormholes to specific systems
    *Perhaps even to be able to place them as subentities in witchspace rings.
    *And to be able to have the player's ship stored while he flies a borrowed ship for racing or military missions.
    *And to be able to save at other stations than the main.
    *And be able to change the location in the Ooniverse while docked (to simulate being docked on a ship going through witchspace).
    *And to have greater control over the HUD.
    *And to have equipment tied to subentities.
    *And to check and set variables for the state of repair for the hull and installed equipment.
    *And many many other things
Anything will be fine really as someone is bound to find a use for it if it's there. :)
Image

300 billboards in Your Ad Here!
Astromines and more in Commies.
AVAILABLE HERE along with other Oolite eXpansion Packs.
dajt
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 364
Joined: Tue Aug 17, 2004 7:05 am
Location: Orange, NSW, Australia

Post by dajt »

Dr. Nil wrote:
*And to be able to have the player's ship stored while he flies a borrowed ship for racing or military missions.
*And to check and set variables for the state of repair for the hull and installed equipment.
While looking at the first of these (for the capture ships feature I was doing) I decided to refactor the equipment code and try to make it more OO, and more amenable to scripting.

I'm changing it so that equipment can now take variable amounts of damage rather than being immediately disabled, and will disappear if it gets to 100% damage.

The repair cost of equipment is now proportional to how damaged it is.

I'm also looking at how to display damaged equipment on the status screen. Unfortunately I can't make it a different colour unless I move all the damaged equipment after the normal stuff, but that's life for now.

I'd also like to make it so damaged equipment has a chance of working somtimes, based on how damaged it is, but that isn't done yet.
Regards,
David Taylor.
User avatar
Rxke
Retired Assassin
Retired Assassin
Posts: 1757
Joined: Thu Aug 12, 2004 4:54 pm
Location: Belgium

Post by Rxke »

Hey, that sounds great!
User avatar
CaptKev
---- E L I T E ----
---- E L I T E ----
Posts: 519
Joined: Fri Jan 26, 2007 3:21 pm
Location: Shropshire, UK

Post by CaptKev »

Sounds great dajt, looking forward to your JavaScript integration as well.

I'm banging my head against the wall trying to understand the current scripting syntax! :shock:

Unless I'm missing the plot entirely, there seems to be a number of operator expressions missing like * and /, plus boolean operators like Or and Not.
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2868
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

Yeh there's no Not or OR, so you have to get round this by having three entries in the script. If you wanted somthing to happen when the player was NOT at Lave (for example), you'd have to have:-

"planetnumber greaterthan 7, do THING1"
"planetnumbet lessthan 7, do THING1"
"planetnumber equal 7, do THING2"

You can have AND though by having two or more conditions. Eg if you wanted somthing to happen when the player was at Lave and had 200 or more kills:-

"planetnumber equal 7, score_number greaterthan 199, do THING3"

Bit of a pain, but at least we have copy n paste!
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
dajt
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 364
Joined: Tue Aug 17, 2004 7:05 am
Location: Orange, NSW, Australia

Post by dajt »

There is an "else" so you can make a "not" with that. See http://wiki.alioth.net/index.php/Script.plist.

Something like this to make something happen everywhere but Lave:

Code: Select all

<key>conditions</key>
<dict> 
    <array>
        <string>planet_number equal 7</string>
        <string>galaxy_number equal 0</string>
    </array>
</dict>
<key>do</key>
<dict>
    <array>
        <string>debugOff</string>
    </array>
</dict>
<key>else</key>
<dict>
    <array>
        <string>addShips: super-pirate 1</string>
    </array>
</dict>
Where the debugOff is a dummy statement because you really want the "else" to do the work.
Regards,
David Taylor.
User avatar
Dr. Nil
---- E L I T E ----
---- E L I T E ----
Posts: 983
Joined: Thu Sep 28, 2006 5:11 pm
Location: Nearest Hoopy Casino
Contact:

Post by Dr. Nil »

[me]Reads report on what dajt's working on and drools.[/me]
Image

300 billboards in Your Ad Here!
Astromines and more in Commies.
AVAILABLE HERE along with other Oolite eXpansion Packs.
Post Reply