What is happening on the PC?
Moderators: winston, another_commander
-
- Quite Grand Sub-Admiral
- Posts: 364
- Joined: Tue Aug 17, 2004 7:05 am
- Location: Orange, NSW, Australia
What is happening on the PC?
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.
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.
David Taylor.
- Dr. Nil
- ---- E L I T E ----
- Posts: 983
- Joined: Thu Sep 28, 2006 5:11 pm
- Location: Nearest Hoopy Casino
- Contact:
BIIIG NEWS!!!
Any development is big news.
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.
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.
300 billboards in Your Ad Here!
Astromines and more in Commies.
AVAILABLE HERE along with other Oolite eXpansion Packs.
- DaddyHoggy
- Intergalactic Spam Assassin
- Posts: 8515
- Joined: Tue Dec 05, 2006 9:43 pm
- Location: Newbury, UK
- Contact:
@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++
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++
Oolite Life is now revealed hereSelezen wrote:Apparently I was having a DaddyHoggy moment.
- Dr. Nil
- ---- E L I T E ----
- Posts: 983
- Joined: Thu Sep 28, 2006 5:11 pm
- Location: Nearest Hoopy Casino
- Contact:
English (Edit: Earth) is not my native tongue, so what I tried to say might not have come out as intended.
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:
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:
300 billboards in Your Ad Here!
Astromines and more in Commies.
AVAILABLE HERE along with other Oolite eXpansion Packs.
-
- Quite Grand Sub-Admiral
- Posts: 364
- Joined: Tue Aug 17, 2004 7:05 am
- Location: Orange, NSW, Australia
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.
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.
David Taylor.
- DaddyHoggy
- Intergalactic Spam Assassin
- Posts: 8515
- Joined: Tue Dec 05, 2006 9:43 pm
- Location: Newbury, UK
- Contact:
@ Doc 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...
Oolite Life is now revealed hereSelezen wrote:Apparently I was having a DaddyHoggy moment.
-
- ---- 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?
Perl is portable and easy embeddable, why not?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.
- Dr. Nil
- ---- E L I T E ----
- Posts: 983
- Joined: Thu Sep 28, 2006 5:11 pm
- Location: Nearest Hoopy Casino
- Contact:
I hope to see a lot of them made available.dajt wrote:Exposing more of the internals can be done perfectly well with Obj-C.
- *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
300 billboards in Your Ad Here!
Astromines and more in Commies.
AVAILABLE HERE along with other Oolite eXpansion Packs.
-
- Quite Grand Sub-Admiral
- Posts: 364
- Joined: Tue Aug 17, 2004 7:05 am
- Location: Orange, NSW, Australia
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.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.
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.
David Taylor.
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!
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.
I'm banging my head against the wall trying to understand the current scripting syntax!
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.
- LittleBear
- ---- E L I T E ----
- Posts: 2876
- Joined: Tue Apr 04, 2006 7:02 pm
- Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.
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!
"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.
-
- Quite Grand Sub-Admiral
- Posts: 364
- Joined: Tue Aug 17, 2004 7:05 am
- Location: Orange, NSW, Australia
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:
Where the debugOff is a dummy statement because you really want the "else" to do the work.
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>
Regards,
David Taylor.
David Taylor.
- Dr. Nil
- ---- E L I T E ----
- Posts: 983
- Joined: Thu Sep 28, 2006 5:11 pm
- Location: Nearest Hoopy Casino
- Contact:
[me]Reads report on what dajt's working on and drools.[/me]
300 billboards in Your Ad Here!
Astromines and more in Commies.
AVAILABLE HERE along with other Oolite eXpansion Packs.