SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > Silent Hunter 5
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 09-09-09, 01:50 PM   #1
maerean_m
Captain
 
Join Date: Mar 2007
Location: Bucharest, Romania
Posts: 529
Downloads: 0
Uploads: 0
IMPORTANT



I think this is the first time that this is being mentioned (anywhere): big parts of the interface are being scripted, so there will be some quality modding on the interface (the kind of quality that can be seen in World of Warcraft mods).

The syntax being used is the one from Python.
The script will access the game through a SDK. Also, the scripted code can access the whole of .Net Framework classes (though it's not that necessary).
The editing of the scripts is done inside a special window, that allows the editing of the scripts while the game is running (edit & continue) with text auto-complete and jumping to function definitions, the inspection of the game variables in real time (through a property grid) and the complete description of all the exported classes (inheritance, properties, methods, events, inner types (enums, other classes)). Please note that not ALL game classes have been exported to the scripts.
Also, please note that not ALL the interface has been scripted, due to game (and time) limitations.

But the road has been opened for you to unleash your imagination and talent.

And, as always, there is the Mission Editor for single missions and dynamic campaigns.

At last, but not least, the way the AI thinks has been scripted and is being stored in text files (in a custom format). So that has also been opened for modding.
__________________
Kilroy was here
maerean_m is offline   Reply With Quote
Old 09-09-09, 01:55 PM   #2
skwasjer
The Old Man
 
Join Date: Apr 2007
Location: Netherlands
Posts: 1,549
Downloads: 28
Uploads: 3
Default

I LOVE YOU

Good job maerean_m and co.
skwasjer is offline   Reply With Quote
Old 09-09-09, 01:56 PM   #3
ReallyDedPoet
Canadian Wolf
 
ReallyDedPoet's Avatar
 
Join Date: Jul 2006
Location: Canada. The one and only, East Coast
Posts: 10,890
Downloads: 946
Uploads: 5


Default

Wow, very nice news
__________________

Back in the Day



ReallyDedPoet is offline   Reply With Quote
Old 09-09-09, 02:01 PM   #4
Sailor Steve
Eternal Patrol
 
Sailor Steve's Avatar
 
Join Date: Nov 2002
Location: High in the mountains of Utah
Posts: 50,369
Downloads: 745
Uploads: 249


Default

Well dog my cats!

This is good news indeed.


No, this is wonderful news.



Something tells me this is going to be the best subsim evah!




But that's what you guys are aiming for, isn't it?
__________________
“Never do anything you can't take back.”
—Rocky Russo
Sailor Steve is offline   Reply With Quote
Old 09-09-09, 01:59 PM   #5
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by maerean_m View Post


I think this is the first time that this is being mentioned (anywhere): big parts of the interface are being scripted, so there will be some quality modding on the interface (the kind of quality that can be seen in World of Warcraft mods).

The syntax being used is the one from Python.
The script will access the game through a SDK. Also, the scripted code can access the whole of .Net Framework classes (though it's not that necessary).
does this mean that custom controls, dialog boxes, etc. can be added to the game (through Python scripts accessing the .NET framework classes)? What version of the .NET framework are you targeting?
TheDarkWraith is offline   Reply With Quote
Old 09-09-09, 02:11 PM   #6
maerean_m
Captain
 
Join Date: Mar 2007
Location: Bucharest, Romania
Posts: 529
Downloads: 0
Uploads: 0
Default

Quote:
Originally Posted by Racerboy View Post
does this mean that custom controls, dialog boxes, etc. can be added to the game (through Python scripts accessing the .NET framework classes)? What version of the .NET framework are you targeting?
Ok, forget about the .net classes (really). Players don't want Windows dialog boxes over the game while playing (in fullscreen).

But otherwise, you can create any interface you may think of using elements like buttons, texts, bitmaps, groups etc (that use the game's engine and are being rendered with DirectX). The buttons have events like Clicked to which you attach a delegate (using the familiar += and -= syntax). And all these buttons, texts, bitmaps, groups etc will be created in the MenuEditor.
__________________
Kilroy was here
maerean_m is offline   Reply With Quote
Old 09-09-09, 02:16 PM   #7
AVGWarhawk
Lucky Jack
 
AVGWarhawk's Avatar
 
Join Date: Jun 2005
Location: In a 1954 Buick.
Posts: 28,293
Downloads: 90
Uploads: 0


Default

Yes sir! The creative juices can now flow into the pixel world of SH5!
__________________
“You're painfully alive in a drugged and dying culture.”
― Richard Yates, Revolutionary Road
AVGWarhawk is offline   Reply With Quote
Old 09-09-09, 03:58 PM   #8
longam
Admiral
 
Join Date: Jun 2005
Posts: 2,014
Downloads: 26
Uploads: 0
Default

Quote:
Originally Posted by maerean_m View Post
Ok, forget about the .net classes (really). Players don't want Windows dialog boxes over the game while playing (in fullscreen).
Even now that I have a 22" monitor, I need to move my system and get back to the dual screen world.....hmm radar on the side....
longam is offline   Reply With Quote
Old 09-09-09, 02:27 PM   #9
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by maerean_m View Post
The editing of the scripts is done inside a special window, that allows the editing of the scripts while the game is running (edit & continue) with text auto-complete and jumping to function definitions, the inspection of the game variables in real time (through a property grid) and the complete description of all the exported classes (inheritance, properties, methods, events, inner types (enums, other classes)). Please note that not ALL game classes have been exported to the scripts.
Also, please note that not ALL the interface has been scripted, due to game (and time) limitations.

Time to learn Python Heading over to Borders now to see what books they have on it.
Any chance we can get some screenshots of this special window and menu editor you speak of? Just curious to see what some of these variable names and classes are.
You mention time constraints as the limiting factor for everything not being scripted. Is it possibe that we (modders) can do the scripting of the remaining items that didn't make it during development?
TheDarkWraith is offline   Reply With Quote
Old 09-09-09, 02:33 PM   #10
maerean_m
Captain
 
Join Date: Mar 2007
Location: Bucharest, Romania
Posts: 529
Downloads: 0
Uploads: 0
Default

1. Wikipedia is, as always, a good place to start.
2. I'll post some screenshots (but not right now, since I'm at home).
3. Sadly, no.
__________________
Kilroy was here
maerean_m is offline   Reply With Quote
Old 09-09-09, 02:53 PM   #11
skwasjer
The Old Man
 
Join Date: Apr 2007
Location: Netherlands
Posts: 1,549
Downloads: 28
Uploads: 3
Default

I will not forget about .NET classes. I won't need/use forms functionality, but I surely can think of many other things I rather do in .NET than in python. Not only that, I can use a ton of existing own libraries, yeeehaaa! I got some cool idea's already just by the info you provided... all I need to know now is what the exported classes are

Thanks again for this awesome news

[edit] I'd love a beta! :wink:
skwasjer is offline   Reply With Quote
Old 09-09-09, 03:12 PM   #12
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by skwasjer View Post
I will not forget about .NET classes. I won't need/use forms functionality, but I surely can think of many other things I rather do in .NET than in python.
If they are exporting functions, variables, etc. then they are reachable by other means other than python. Python is lightweight and easy (from what I'm seeing so far) but doesn't have the power that a full-fledged app (C++, C#) can do. This is going to get really interesting real quick. But it all depends on what variables, functions, etc. are exported. If the python script can call a library function of a program or DLL (other than the game's) then it should be possible to do all kinds of neat and interesting things. I got a ton of ideas in my head and need a BETA of the game to try them out
I wonder what version of the .NET classes we'll be able to access? Would it merely depend on the version installed on the client machine?
TheDarkWraith is offline   Reply With Quote
Old 09-09-09, 03:53 PM   #13
longam
Admiral
 
Join Date: Jun 2005
Posts: 2,014
Downloads: 26
Uploads: 0
Default

This is some really great news, especially with the talent in this forum.
longam is offline   Reply With Quote
Old 09-09-09, 06:01 PM   #14
skwasjer
The Old Man
 
Join Date: Apr 2007
Location: Netherlands
Posts: 1,549
Downloads: 28
Uploads: 3
Default

You can load any assembly or dll from python, be it custom or clr. It's built-in functionality. Python is very powerful, more than you can imagine. I just don't prefer it for many reasons, but no biggie... I'll still use it.

Best is if we can use 3.x, since we can't reliably mix FM versions.
Quote:
Originally Posted by Racerboy View Post
If they are exporting functions, variables, etc. then they are reachable by other means other than python. Python is lightweight and easy (from what I'm seeing so far) but doesn't have the power that a full-fledged app (C++, C#) can do. This is going to get really interesting real quick. But it all depends on what variables, functions, etc. are exported. If the python script can call a library function of a program or DLL (other than the game's) then it should be possible to do all kinds of neat and interesting things. I got a ton of ideas in my head and need a BETA of the game to try them out
I wonder what version of the .NET classes we'll be able to access? Would it merely depend on the version installed on the client machine?
skwasjer is offline   Reply With Quote
Old 09-09-09, 07:57 PM   #15
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by skwasjer View Post
You can load any assembly or dll from python, be it custom or clr. It's built-in functionality. Python is very powerful, more than you can imagine. I just don't prefer it for many reasons, but no biggie... I'll still use it.

Best is if we can use 3.x, since we can't reliably mix FM versions.
That's good to know about Python. I just started reading the massive book and it will be some time before I can speak intelligently about Python.
Some things I do find interesting is that python doesn't have variable types per se. You just declare a variable and assign a value to it. Different for sure. One thing that I don't like about Python is that it's an interpreted language - like Java in some ways.
What's so much better about 3.x? The book I'm reading references 2.5 with some mentionings of 3.0 (3000 as they call it)
TheDarkWraith is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 06:36 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 1995- 2025 Subsim®
"Subsim" is a registered trademark, all rights reserved.