Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment   Page 3 of 4      Prev   1   2   3   4   Next
NoseyNick

Avatar / Picture

Registered:
Posts: 53
Reply with quote  #31 
Am I correct in recalling... You can copy from a variable to a property, but not vice-versa, without playing games of "greater-than, less-than"? It's been a while, I may be remembering wrong, but closing that loop would help a lot - need to be able to read and write object properties to/from variables.
Darrin

Registered:
Posts: 86
Reply with quote  #32 
Quote:
Originally Posted by NoseyNick
Am I correct in recalling... You can copy from a variable to a property, but not vice-versa, without playing games of "greater-than, less-than"? It's been a while, I may be remembering wrong, but closing that loop would help a lot - need to be able to read and write object properties to/from variables.


Yes, it's possible to write a binary search with greater-than/less-than to wrangle a variable down to a particular property, but it may require large chunks of code if you don't want to iterate though the main script loop. My current code requires at least 17 steps to determine the x-position or z-position out of a range from 100,000 to 0. (I haven't tried to determine angle yet.... smaller range, but needs more precision.)

I'm currently ok working around it, but being able to copy from a property to a variable would save me quite a bit of grief and frustration. 

 
Dave Thaler

Registered:
Posts: 452
Reply with quote  #33 
Quote:
Originally Posted by NoseyNick
Ability to load/save some sort of state in a separate file. Would be useful for "congratulations, you completed the mission in 207 seconds. The high score is 198 seconds", or some level of "save game, resume later", or persistent stock levels between games, or in ongoing multi-day missions "have they previously completed the training mission / unlocked sector 2 yet / retrieved the artifact / opened the portal / collected the medical supplies / killed the ambasador" etc.

Would probably be easiest as "set var defaults", "update vars from file.xml if it exists", and a triggerable event to "write the following keys/values to file.xml"

I've seen it done by "logging" special magic, and then running a wrapper / script afterwards which extracts magic from the logs and inserts it back into a specially-marked block at the top of the main MISS_blah.xml, but that's kinda hacky and relies on the wrapper / script being run when required, and hopefully never breaking your MISS_blah.xml, and hard to reset to "default values" when required.


+1 to all of that.  The hack you describe above is what Artemis Bridge Tools provides support for (though as noted in the HowTo there's currently some issue where it doesn't work with Enttec Open/Pro controllers for some reason) and I agree it would be much better to have built in support.
e4mafia

Registered:
Posts: 200
Reply with quote  #34 
Quote:
Originally Posted by Mike Substelny


For the record Paul Rockwell wrote hacking attacks into "The Arena" mission script distributed at Artemis Armada IV.


Yeah I saw Paul's mission - it was impressive how he spent the effort to work out the hacking per ship. Thats where it dawned on me just what the scope and limitations would be to try and work that into other missions. He did a lot of work. Which he wouldn't have to do (neither would others) is we were to get object based structures in the next scripting engine. 

I am so happy that Thom is really looking at this. Just more proof of Artemis' greatness as a game for bringing people together!
Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,244
Reply with quote  #35 
**EXCITING UPDATE**

Mark and I met with Thom over the weekend and we reviewed a lot of the items we have discussed in this forum. Here are some highlights from that meeting:
  • He is very excited about the power we would get from using ChaiScript. It seems ChaiScript makes it straightforward for him to expose lots of Artemis functions to our mission scripts.
  • We will definitely get access to many advanced math functions.
  • Artemis 3.0 will be built around a language localization file, so players can change all the text to be a different language (e.g. German or Spanish) or a different universe (e.g. Star Trek or Honorverse).
  • More to come . . .

__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
ron77

Registered:
Posts: 150
Reply with quote  #36 
Mike, that's great news! I'm excited! 😃

Also, something just came to mind as I read up on a few of the more recent posts on this thread. Right now, if you want to include additional ships into the game, you have to touch the vessel data file. But since scenarios draw from all ships in the vessel data, there's always the risk of this ship turning up multiple times and making scenarios unplayable. Essentially, if I want to run a mission with this one ship included, I have to install Artemis as a separate game just for this one mission. So, how about the ability to include special ships in the mission file? I don't mean things like giving a Kralien cruiser better shields, which can already do in the mission file. I mean like include a completely new ship with all its beam ports and ship model files and whatnot. This would make it much easier to share missions among different player communitites across the globe.
e4mafia

Registered:
Posts: 200
Reply with quote  #37 
Like an optional "additional ships" file? Artemis would read it at runtime if it is present? 

I am so super excited about Thom looking at ChaiScript. Enough so that I'll be looking it up myself and start getting my brain around it. 

What is even more impressive is the degree to which Thom takes in and gives consideration to community feedback, while at the same time, not giving into crowd think and distracting him from his vision of what Artemis SBS is. Its one of the things that makes Artemis so different. 
ron77

Registered:
Posts: 150
Reply with quote  #38 
Quote:
Originally Posted by e4mafia
Like an optional "additional ships" file? Artemis would read it at runtime if it is present?

I'm not entirely sure how I would go about implementing this, to be honest. That's largely because I don't know without a doubt how it is done now: a) Are all assets, including those used in missions, loaded on software start or b) when the mission sector loads. Regardless, I would like to see the ability of mission specific alterations to the base game based on the needs of the individual mission.
Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,244
Reply with quote  #39 
Quote:
Originally Posted by ron77
Mike, that's great news! I'm excited! 😃

Also, something just came to mind as I read up on a few of the more recent posts on this thread. Right now, if you want to include additional ships into the game, you have to touch the vessel data file. But since scenarios draw from all ships in the vessel data, there's always the risk of this ship turning up multiple times and making scenarios unplayable. Essentially, if I want to run a mission with this one ship included, I have to install Artemis as a separate game just for this one mission. So, how about the ability to include special ships in the mission file? I don't mean things like giving a Kralien cruiser better shields, which can already do in the mission file. I mean like include a completely new ship with all its beam ports and ship model files and whatnot. This would make it much easier to share missions among different player communitites across the globe.


Good point! We have discussed in the past the concepts of a mission script having its own supplemental vesseldata.xml file, or perhaps an alternate vesseldata.xml file. In the past Thom has said it was too difficult to do because all the vessels had to be loaded at the time the game was launched. This may be the opportunity to change that in the architecture. I will bring it up.

__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
ryleyra

Registered:
Posts: 2,906
Reply with quote  #40 
I do like the idea of a "plug-in" vesselData file that can be loaded along with the existing vesselData so it doesn't have to be edited. It should be possible to load the file at startup, so that shouldn't be a problem. The issue would be coming up with a way to merge the file with the sequential numbering of vesselData, without breaking it by, for instance, adding a player ship that is not the next available hull id in the sequence. Perhaps the plug-in format could skip the hull id and the game could generate it according to the ship's race or playable status. Or, you could specify if a ship is to be added to an existing sequence or assigned a totally new multiple of 1000.

As for adding ships that do not appear in standard play modes, just create a new race, and don't give it any of the standard keys like "enemy", "support" or "player". Create a new key, like "custom", to use in your script to access that race. The latter isn't strictly necessary, you can just use the name of the race to specify it, but I'm not sure what would happen if you didn't specify ANY race keys. (Plus, you may want to duplicate a race name so the custom key will be needed to uniquely identify it)

Honestly, I would not be surprised if in Artemis 3.0, Thom does away with hull id entirely, and that number will only be generated and used internally.

Dave Thaler

Registered:
Posts: 452
Reply with quote  #41 
I would like mission scripts to be able to include (by reference) functionality defined in other files.   That allows multiple missions to reuse common functionality.   So there could be a file that defines (say) tractor beams, and a file that defines cloaking functionality, etc. and a mission could reference the modules it needs.  This allows authors to share functionality with others (via a file) without requiring that other mission authors cut-and-paste the whole thing into their own file, which makes it hard to keep up with bug fixes.
e4mafia

Registered:
Posts: 200
Reply with quote  #42 
That would be both incredibly useful, and (to my limited programming abilities) extremely impressive!
ron77

Registered:
Posts: 150
Reply with quote  #43 
Quote:
Originally Posted by Dave Thaler
I would like mission scripts to be able to include (by reference) functionality defined in other files.   That allows multiple missions to reuse common functionality.   So there could be a file that defines (say) tractor beams, and a file that defines cloaking functionality, etc. and a mission could reference the modules it needs.  This allows authors to share functionality with others (via a file) without requiring that other mission authors cut-and-paste the whole thing into their own file, which makes it hard to keep up with bug fixes.

I second this. It seems to me, though, this would be much better implemented through a "modding portal." Essentially, have the game draw from an external file where you can include such functionality. The mission editor could then, much like it does with the vessel data, make content available that it finds in this file.
Newcommerin

Avatar / Picture

Registered:
Posts: 160
Reply with quote  #44 
+1

This would be very helpful in bigger scripts, so you can write for example each chapter in a separate file and have the main script "only" create the sector/field/playmat (however you call it) and check the conditions on jumping forward and back.
This would give a lot more overview - at least to me.


Edit:
Second thought - you could maybe connect different missions in this way, creating one enormous script... *this thought just lets explode my mind*

__________________
Sorry, English is not my native language, I am German.
(* I wish I would live in America, I wish I would... *)
Any mistakes you can find, you can keep and with the spelling mistakes you can cook you an alphabet soup.

My Artemis Homepage: https://star-ship-academy.jimdo.com/
taraba

Registered:
Posts: 3
Reply with quote  #45 
Maybe this kind of stuff is already available in some way, but I was just thinking about ways to make a more cinematic mission briefing or mid-mission new objectives. I guess playing a video file might take care of some of them, but if someone is using different assets then in-engine cinematics would use them and a video would have to be remade.

What about forcing an observer view on the main screen to a specific location and triggering an animation? Ideally this is settable to be triggered with the timestamp of an audio file. So for example "Travel to the delta sector and investigate these eggs... [Eggs hatching animations] Oh no, they're hatching"

Force the strategic view on the screen and ping a specific location in XY coordinates or ping the current location of an object wherever it currently is. Return to previous screen after a set amount of time. Probably the crew is locked out of changing the main screen at during this mission briefing. In a similar way, bring up the ship view and ping a specific node of the shipm "The scientific instruments are loaded on deck 2. These are sensitive and can't take any damage during this mission"
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.