![]() |
SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997 |
|
![]() |
#1 |
Swabbie
![]() Join Date: Jan 2006
Posts: 5
Downloads: 0
Uploads: 0
|
![]()
CB, thanks to your posts and Horsa's you have got me excited in this game again.
Today i received Shells of Fury in English from USA, strategy first version, so i will download your mods for it, thanks very much, i have been using the German Version from Amazon.de for past year, but could not understand properly what was going on so hopefully i will get into it better now. Horsa, have you a mod for a graded reticle you mentioned in a earlier post, i think it would add to the atmosphere of the game with that, hope both of you keep up the good work and lets hope Shells of Fury gets its own forum. Also just received a book from Amazon Uk entitled U boat Stories narratives of WW1 U boat sailors for a few pounds, really good read. |
![]() |
![]() |
![]() |
#2 | |
Pacific Aces Dev Team
![]() |
![]()
Welcome to the forums Toolsey
![]() I think it was Hitman who mentioned the reticle. Its CB and Hitman who do all the clever stuff stuff round here. I just muck about with models and artwork to make things look pretty ![]() Quote:
|
|
![]() |
![]() |
![]() |
#3 |
Canadian Wolf
|
![]()
Welcome to SUBSIM
![]() RDP |
![]() |
![]() |
![]() |
#4 |
Swabbie
![]() Join Date: Jan 2006
Posts: 5
Downloads: 0
Uploads: 0
|
![]()
Thanks
Nice to feel welcomed, i have had most submarine sims since Silent Service on the spectrum 48k and later C64 then the Amiga, i have been following the subsim forums for years and downloading mods and would like to offer belated thanks to the many modders who have made subsims a great experience |
![]() |
![]() |
![]() |
#5 |
Ace of the Deep
![]() Join Date: Apr 2002
Location: UK
Posts: 1,278
Downloads: 0
Uploads: 0
|
![]()
hi cheers for the thoughts
![]() here's an up-date on the morselamp message code work.. ![]() here the AI u-boot is waiting at my first patrol zone...i set the patrol zone objective to a simple "reach" so it is completed as soon as i get there...and as soon as that happens the U-Boot sends the message (as shown above) all i need to do is tidy the code up a bit..(he sends the message more than once so i need to set the code to prevent that)...shouldn't be hard to do... it really feels wierd writting game missions in VB code...but it's actualy a stroke of genuis!..as this means SOF has the single most flexible and astounding mission set up of any simulation out there (let alone any SubSim)....the capabilities of the system are literaly limitless..makes anything else look like a toy in comparison... anything you can do in VB code you can do in the missions..mindblowing stuff really even if 99.9% of it is beyond my code writing ability...this game campaign engine has the capability to make any other Subsim past or present look like a joke... i thought the game was good before..now it's quite literaly the best subsim money can buy ..i kid you not..there isn't anything you can't do with it..
__________________
the world's tinyiest sh3 supermod- ![]() and other SH3/SH2 stuff http://www.ebort2.co.uk/ The best lack all conviction, while the worst Are full of passionate intensity. W.B.Yeats Last edited by CB..; 09-10-07 at 06:25 PM. |
![]() |
![]() |
![]() |
#6 |
Gunner
![]() Join Date: Jul 2007
Location: quincy, ma
Posts: 100
Downloads: 8
Uploads: 0
|
![]()
Can't wait to get it. Now I have to deceide which game to play the most. I have SH3, SH4 and hopefully soon or later Shells of Fury. Like the morse code bit I have been reading in the above post. I used to do that for a living but it has been ten plus years or so. For fun, I tried to see how rusty I am with this program I found on the web. Just as I thought rusty but was shocked when I didn't have to think. I got 65% not bad considering it has been years since I last heard the dits and dahs. Give me a week or two with practice I'll get it. Does any one do ham radio? I am curious about that.
__________________
Kapitan Clauus on a 5 day shakedown patrol. New crew, new Kapitan waiting for results. Using GWX 3.0 |
![]() |
![]() |
![]() |
#7 | ||
Pacific Aces Dev Team
|
![]() Quote:
![]() However, I don't get the concept completely....isn't the game supposed to have some preprogrammed commands (F.e. "Patrol x,y,z", "Go x,y,z", "Destroy unit X".....) for the available actions? I take it there must be a list of available actions/commands that can be called by the VB script, so they can be readed by the game :hmm: Where is that list? You posted before this: Quote:
I guess we would need to study this and make a list with all possible commands and their effect ![]() BTW considering the size and style of the game creator, it could be worth it sending a mail asking for details/internal tutorials documents given to the mission scripters. Since they left the engine more or less "open" it is obvious that they wanted poeople to tinker with it ![]()
__________________
One day I will return to sea ... |
||
![]() |
![]() |
![]() |
#8 | ||
Ace of the Deep
![]() Join Date: Apr 2002
Location: UK
Posts: 1,278
Downloads: 0
Uploads: 0
|
![]() Quote:
the shorthand way using those commands i've already shown and others and there are no limitations to these because you can simply write your own commands add them to the StateEngineTemplates.txt then use them in missions as per the stock commands.. and the long hand way which is full code work.... you can write VB code directly into the mission file itself.. there is no list of long hand commands...there are no limitations at all... it's some form of direct VISUAL BASIC code..it's as if you could turn each mission file into it's own dynamic game engine..... i'll post a snippet below..it won't display correctly but it should illustrate the point to any-one familiar with VB code label [pstart] gametime [lasttime] if !setcondition [morsetime] then sub [timediff],[lasttime],[startime] if greater [timediff], 20 SetCondition [u2freund] then SimSendMorseMessage [u2],[u2freund],"Gute Jagd." Setint [morsetime] ,$1 endif endif this is straight out of a stock mission file.... it uses DIMS INTS FLOATS labels ands# ifs# elses# endifs# all the usual suspects.. lol your gonna have to check it out yourself to begin to see the possibilities..i can't explain it here..you wouldn't believe me lol but for a thought to start with..it's as if you could take all the code from say ..rossbachs campaign generator and place it into an SOF mission file....there by rendering each single mission in SOF it's own little campaign engine.... or let m put it another way....each individual mission file in SOF could contain the equivilent code from the entirety of KRIEGSTANZ DEVELOPER..and be equaly as fluent and dynamic and complex..gawd knows what you can do with it.. Floater would know what i'm talking about here... here's another snippet..again the forum software isn't set up to show VB code correctly so it's all bent out of shape..but what can you do? this is my attempt to code the morselamp message so it happens when i reach the AI sub..not when i'm miles away.. EveryFrame if CheckGoal $0 then setint [morse] ,$0 endif permanent label [pstart] if !setcondition [morse] then if CheckGoal $0 then SimSendMorseMessage [u2],[mysim],"Go to Target Area, 10.446, 54.667" Setint [morse] ,$1 endif endif goto [pstart] there is a MUCH better way to do this..i'm crap at VB code..but i am learning...and what a great way to learn...writing missions for a game you enjoy..can't think of a better way to learn! but it's VB code...you can do anything with it.. i love this little example from a stocker.. EveryFrame CompleteOnGoal "Schulungsmission beendet.",$4 if CheckGoal $1 then SimSetSpeed [ship1],$a endif Endphase this code changes the speed of one specified vessel when you reach the patrol zone..or complete objective 1 in the missions paremeters....in the stock mission it is used to start a ship moving out of port and into the minefield you have just layed (objective 1 was to lay the mine field) LOL cute as hell..a tiny single event..but it's one of those small details that explode into a world of possibilities when used in a mission file ..and it's truly dynamic..not just random- jury rigged or "bluffed" ...but actualy DYNAMIC i could use this code to have that AI Uboot that is pateintly waiting at my patrol zone to morselamp me my patrol orders.. move off on it's own patrol once it has sent the morse message...lol...so no detail needs to be left out or "bluffed" you can do the whole trip..the whole nine yards you could write late war hydrophone sensors into the missions files for the DD's by directly controling the AI behaviuor and response to the player via VB code work in the mission file and all the above is just tinkering..messing about ...not serious code at all...(with the exception of course of the KD reference!) i've been practicing on the morselamp code... and have managed to set it up so the morselamps message is transmitted when the player gets within close range of the AI sub sending the message..and just the once (whew..was struggling with that issue!).this is by far the better way to do this.. tho here i see the morselamp blik out the message..but strangley it doesn't get translated into the task bar...this may be a matter of range or something..code work isn't terribly forgiving of minor ommissions i'm afraid..but once the penny drops it is pretty logical best i can do for the forum post is to show a picture of the mission file...so folks can see the code ![]() it's obviuos why i believe this to be some form of Visual Basic code and not specific to the SOF game engine but in fact proper developer code usedby visual basic programs everywhere..which is why the missions in SOF have unlimited capacity what this boils down to is this...the mission files use code work that is more commonly only found in full scale game creation software...think about that for minute and you can see where it explodes into a new universe for mission writing..and might in fact be completely unique..in a sense each mission file can become a new game in it's own right ..a game which you play via the SOF interface etc !lol for something to do let me try to walk thru the above code as best i can and with my current level of know how anyhuw.. first you tell the game what names you are going to use for the objects functions etc label pstart id mysim id u2 int morsetime then you tell the game that the code starts here phase init then you give it general information about the game world SetDescriptionMapTexture "ordermap_nordsee.jpg" SetTimeLimit $0 StartTime 22.0,0.0 StartDate 1914,5,5 ChangeGeoPivot 10.312,54.554 Weather "sunrise" EnableTutorial SetTutorialString "test mission." then you start adding the game objects CreateServerSimulationObject [u2],"u35" SimSetName [u2],"U-66" SetPositionGeo [u2],10.446,54.667,0 SimSetStartSpeed [u2],0 CreateSimulationObject [mysim],"u35" SetPositionGeo [mysim],10.312,54.554,0 BindToController [mysim] notice how the names of the two Objects are the same as the names declared in the first section ie [u2] and [mysim] mysim is the player uboot ...u2 is the AI uboot...u35 is the actual vessel model file details used etc SetPositionGeo is lat long position then you tell the game what objectives the player has to achieve DefineMissionGoal $0,"StayArea", 10.446, 54.667, 700, $1 SetMissionGoalText $0,"Go to Target Area 1",$1,"Target Area 1" DefineMissionGoal $1,"StayArea", 10.557, 54.538, 5000, $1 SetMissionGoalText $1,"Go To Target Area 2",$1,"Target Area 2" DefineMissionGoal $2,"StayArea", 10.266, 54.485, 5000, $1,$3 SetMissionGoalText $2,"Go To Home Port",$1,"Home Port" then you set the mission events code up EveryFrame permanent setint [morsetime] ,$0 SimGetfreund [mysim],[u2],$e1 setint[morsetime] tells the game you want to set this number to zero (it then remembers the number) SimGetFreund i think IS unique to the SOF engine..here it sets a range between mysim (the player)...and [u2] (the AI boot..) $e1 is a number to represent the desired range at which range "something" happens.. it tells the game to check the two game objects for their distance apart from each other and instigate some code it they should get within the set range.. the you tell it what code you want to run repeatedly thru the mission to beactivated on certain conditions this code is bracketed by the LABEL [pstart] again mentioned at the beginning of the mission file label [pstart] if !setcondition [morsetime] then if SetCondition [mysim] then SimSendMorseMessage [u2],[mysim],"Go to Target Area, 10.446, 54.667" Setint [morsetime] ,$1 endif endif goto [pstart] then it "asks" questions if !setcondition [morsetime] then setcondition [morsetime] i THINK is telling the game to check that number you just asked it to remember here setint [morsetime] ,$0 and if that number is still "zero" do the following things if SetCondition [mysim] then SimSendMorseMessage [u2],[mysim],"Go to Target Area, 10.446, 54.667" Setint [morsetime] ,$1 endif and here again i'm slightly out of my depth but.. setCondition[mysim] asks the game to check wether the player vessel (called [mysim] is in the game and wether it is within range of the ai uboot if it is the do this SimSendMorseMessage [u2],[mysim],"Go to Target Area, 10.446, 54.667" this sends the morselamp message from [u2] (ai uboot) to [mysim] (player uboot) then to prevent the whole thing from edlessly repeating itchanges that number you asked it to remember.. Setint [morsetime] ,$1 this number is now "one" instead of "zero" and it remembers that number it then tells the game to keep doing this to ensure the code is active right thru out the mission.. goto [pstart] it then tells the game that when the player has completed the final objective (return to base) end the mission CompleteOnGoal "Tutorial Mission ended.",$4 and fiinaly it says that's the end of the code Endphase end best i can do at the moment...if i have got anything wrong please speak up!! i could do with the info!
__________________
the world's tinyiest sh3 supermod- ![]() and other SH3/SH2 stuff http://www.ebort2.co.uk/ The best lack all conviction, while the worst Are full of passionate intensity. W.B.Yeats Last edited by CB..; 09-11-07 at 10:10 AM. |
||
![]() |
![]() |
![]() |
#9 | |
Ace of the Deep
![]() Join Date: Apr 2002
Location: UK
Posts: 1,278
Downloads: 0
Uploads: 0
|
Quote:
![]() so maybe you actualy can use you experience directly in the game! ![]() ![]() seems like they didn't just plump for a blinking light but actualy went the whole way and had the messages sent in genuine morse..can't knock that sort of detailing mind you personaly i'm still struggling writing the code properly..i'm not good with events which switch on and off..and the code is a little unfamiliar to me...but it'll come..and some-one with more expertise could certainly do this job very easily i'm sure.. anyway i've managed to condense the code down to this SimGetfreund [mysim],[u2],$e1 if SetCondition [mysim] then SimSendMorseMessage [u2],[mysim], "morse lamp message sir..Go to 10.557, 54.538" endif but unfortunately you get the message the moment the sub spots you...which means you are still to far away to see the morse lamp..but it still damn interesting even in this crude form.. if you can get morse messages from enemy ships as well then it raises some interesting scenarios...creep up on an enemy merchant or warship...and get some usefull information on ship movements..location of a convoy or damaged ship or similar by catching it's morselamp message to another enemy ship....course you'd miss this info if you just torped it on sight...that's do-able i think...
__________________
the world's tinyiest sh3 supermod- ![]() and other SH3/SH2 stuff http://www.ebort2.co.uk/ The best lack all conviction, while the worst Are full of passionate intensity. W.B.Yeats |
|
![]() |
![]() |
![]() |
#10 |
Ace of the Deep
![]() Join Date: Apr 2002
Location: UK
Posts: 1,278
Downloads: 0
Uploads: 0
|
finaly foot gets in the door..
here we go...the fundamental item ONE in any one's mission writing experiments for SOF
the RANDOMISATION function... took me a while to find it but here it is..no issues here it works fine.. irandom [num],$1,$2 if sameint [num],$1 then DefineMissionGoal $0,"StayArea", 10.446, 54.667, 5000, $1 SetMissionGoalText $0,"Go to Target Area 1",$1,"Target Area 1" else DefineMissionGoal $0,"StayArea", 10.446, 58.667, 15000, $1 SetMissionGoalText $0,"Go to Target Area 1",$1,"Target Area 1" endif the above code randomises which of the two shown objectives the player needs to achieve...... you need to tell the game your going to do this by adding this under the ID top section of the mission file int num you going to use a stored number which you have named "NUM" that's it...... if it works as with other code randomisation functions there should be no top limit to the number of options possible..ie you could set it to randomly choose between 20 objectives not just two... depends on how this irandom [num],$1,$2 actually works...does it need to be written as irandom [num],$1,$20 to randomly select a number between 1 and 20 or does it need to be written like this.. irandom [num],$1,$2,$3,$4,$5,$6,$7 etc etc etc anyway hell of a way to explode the possibilites for SOF missions... no need for an external mission generator you CAN get each mission file to do the job as it loads automaticaly....very good stuff..can randomise the traderoutes...destroyer and aircraft locations.radio messages (those morse lamp messages if i ever sort the code out properly) weather sea state ambient lighting..time of day....and so on! whew got my foot in the door...but this one is the lever that moves the world as it were game wise.. ![]() experienced mission writers here should recognise the key strengths this shows the campaign engine has hidden under it's belt i assure you this is nought but a cheap trick compared to what it CAN actualy do...but as tricks go this is the one that virtualy ever other subsim rely upon for theirs so called dynamic campaign engine..in fact..most other game engines can't do anything ELSE but randomise..it's the only trick they have.....SOF has half a million others at it's disposal.. update........ ok been trying to get to grips with the randomisation code// i was unable to increase the number of random choices above two with the above code but found another method abiet less "nicey" but functional this method allows unlimited randomisation int num irandom [num],$1,$3 if sameint [num],$1 then DefineMissionGoal $0,"StayArea", 10.446, 54.667, 5000, $1 SetMissionGoalText $0,"Go to Target Area 1",$1,"Target Area 1" endif if sameint [num],$2 then DefineMissionGoal $0,"StayArea", 10.446, 58.667, 15000, $1 SetMissionGoalText $0,"Go to Target Area 1",$1,"Target Area 1" endif if sameint [num],$3 then DefineMissionGoal $0,"StayArea", 10.446, 56.667, 15000, $1 SetMissionGoalText $0,"Go to Target Area 1",$1,"Target Area 1" endif //// the irandom [num],$1,$3 does refer to minimum and maximum number to choose randomly from...1-3 inclusive....could be 1-3 thousand if you can be arsed to write all the possible choices below..lol then it just choses from the list which objective to load for the player if the number it randomly chooses is 1 (sameint [num],$1) then it loads the objective listed under if sameint [num],$1 then DefineMissionGoal $0,"StayArea", 10.446, 54.667, 5000, $1 SetMissionGoalText $0,"Go to Target Area 1",$1,"Target Area 1" endif if it randomly chooses the number 2 then if sameint [num],$2 then DefineMissionGoal $0,"StayArea", 10.446, 58.667, 15000, $1 SetMissionGoalText $0,"Go to Target Area 1",$1,"Target Area 1" endif and so on... pouring information into a vacuum ...what the heck it's a subsim this is a subsim forum ...strange days indeed when a subsim such as this arouses such little genuine enthusiasm...me i just LOVE those world war one ship models... every time i see one thru the binocs or thru the periscope i remember why this game is so special...and ironicaly the the very reason why it is so neglected by the harcore realism brigade,,is because it is too realistic..it doesn't go out of it's way to make you feel like the "hero"....there's not a huge amount of immediate danger from the enemy...unless you are careless..hard-core realism just not the ego flattering kind.. and that's sadly..all too often..what the "hardcore" realism stuff is usually all about..i'm know the info will be usefull to those who genuinely like the game.. on the modeling front i do have a british E class sub finished ...which runs well in the game...but am holding back because i am trying to write a specific AI set of instructions for it..a "surprise attack" if you will....surfacing at close range and attacking with both torpedoes and deck gun instantly...the stock commands have it appearing too far away and it is easy meat for your deck gun crew..it's own deck gun crew being woefully innacurate for some reason i have yet to fathom
__________________
the world's tinyiest sh3 supermod- ![]() and other SH3/SH2 stuff http://www.ebort2.co.uk/ The best lack all conviction, while the worst Are full of passionate intensity. W.B.Yeats Last edited by CB..; 09-14-07 at 03:30 PM. |
![]() |
![]() |
![]() |
|
|