Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment  
Nhaima

Registered:
Posts: 21
Reply with quote  #1 
If Thom is going to implement additional craft (Fighters, shuttles, etc.), why not make it generic instead of hardcoding values into the game? That means if he only implements shuttles this time around, he would would have to make a code change for bombers, and potentially another code change for interceptors, or any other craft you could think of.

If you are allowed to implement craft via keywords in the vesselData.xml file, then those can be referenced in the carrier entry of a ship and it will handle the associations automatically give the race/faction of the vessels in vesselData.
MarkBell

Avatar / Picture

Administrator
Registered:
Posts: 1,955
Reply with quote  #2 
But if the craft are fundamentally different than fighters in game mechanics, then you'd need some way to differentiate, right? If shuttles can do things fighters can't and vice versa, you'd need some kind of keyword to tell the game which is which.

Having a top level keyword followed by a user defined title would be awesome, allowing for a variety of fighters (or shuttles, or interceptors, or whatever). But if a bomber has a different set of abilities than an interceptor, that'd need defined in the game code.

__________________
Note - this is in no way intended to be an official position of Thom or Artemis, as I am not an official representative of the creator or game.
LastStar007

Registered:
Posts: 12
Reply with quote  #3 
There are design patterns for this kind of thing...
ryleyra

Registered:
Posts: 3,007
Reply with quote  #4 
I was hoped that this was how it worked. I would have liked to have been able to define a fighter, give it the keyword "bomber", and have it appear on the carrier automatically because it already had the bomber tag defined. There has been a lot of talk about declaring a "shuttle" class of one man ship as well, for those ships that don't have fighters.

As MarkBell said, though, if the functions associated with that type of craft don't exist, though, all you can do is create a variation of a fighter. For instance, I would expect a "bomber" to be equipped with mines, but all a fighter can mount is missiles. The bomber tag would have to be recognized by the game, and provide an interface to drop the mines, possibly in addition to firing missiles.

Alternately, Mike Substelny has suggested a second player could play a "tail gunner" role in a bomber or heavy fighter. This would actually be more complicated, because currently each person who takes the Fighter console gets their own fighter. For two people to be in the same fighter there would have to be a mechanism to link their consoles to each other.

Finally, I suspect that it's more difficult that it seems to just define a random tag in the vesselData file and make it mean something. Tags only exist in vesselData because Thom defines them. I suspect that means that all of the tags will have to be predefined, and those will be the only tags available. If there are to be any tags for a variation of a fighter, say a "fighter" and a "heavy fighter", with the same interface but a different loadout, those tags will have to be added. Note though that different races can have different loadouts in the same craft type. (currently they do not, presumably for game balance purposes)

Personally, if I were to recommend to Thom a selection of fighter tags, I would suggest five, with the possibility that some of these would be variants that aren't used in the stock vesselData:

fighter
shuttle
bomber
heavyftr ("heavy" is an available keyword, but I have hopes it will be applied to the Arvonian Carrier)
recon
MarkBell

Avatar / Picture

Administrator
Registered:
Posts: 1,955
Reply with quote  #5 
Honestly, I would love to have the opportunity to define multiple entries in vesselData that have the same type (fighter, shuttle, etc) but different titles (Type_II, Type_IV, Danube, etc).  Then I could give different ships of the same side a different fighter complement with the same basic abilities.  Like an Excelsior could have Type_5 shuttle types, while a Galaxy could have Type_7 and a Sovereign could have Type_9 and Danube types; all shuttle types but differing in capabilities.  A Colonial Battlestar could have a mix of Viper_II and Viper_II types while a newer ship might only have Viper_VI; these would all be fighter types but differing in capabilities.

This is sort of the moonshot, honestly - it combines game mechanic keywords with a generic labeling system.  Thom can add game functionality to support craft types as he goes, while modders can go nuts on variations.

Also note, there is plenty of room for variation inside the standard fighter framework - different strength and cycles for the beam, shields, speed and turning.  Different mechanics are things like collecting upgrades and returning them to the ship, shooting without a lock, and different torpedo capabilities.

__________________
Note - this is in no way intended to be an official position of Thom or Artemis, as I am not an official representative of the creator or game.
mwick

Registered:
Posts: 64
Reply with quote  #6 

If I were implementing it myself, I'd try to implement a generic type of ownership - ships can own consoles (which players can select), ships can own weapon implements (launchers, optional specific loadout for launchers, beams, etc), and ships can own other ships. Then vesseldata details how they all link together.

E.g. you can define:

- a 'heavy bomber' vessel with no beams, one console (pilot), three launchers, all equipped with mines. 

- an 'interceptor fighter' vessel with two beams, one console (pilot), one launcher, equipped with homing missile.

- a 'heavy carrier' vessel which owns three heavy bomber vessels, two interceptor fighter vessels, three consoles (captain, helm, engineer)


As long as you implement each feature in a truly generic way, the act of creating different types of fighters/bombers/shuttles is just a matter of stringing it all together in vesseldata. 

I don't mean to say that the above is easy - almost certainly the opposite - but IMO worth the effort to give maximum flexibility to modders, content creators, and the developer himself.


__________________

Lt. JG Wick

Artemis:Eastern Front
https://artemis.forumchitchat.com/post/artemis-eastern-front-8008146

Nhaima

Registered:
Posts: 21
Reply with quote  #7 
And nothing would stop that method from defining certain types, such as "Shuttle" as special to allow them additional mechanics.

Something I should have brought up in my first post - a stop gap measure to implementing better volume controls would be to stash the slider values in the registry when they are changed/saved. It wouldn't fix the issue of changing sound before you get in-game, but it would mean that if you do it once then it would save it. You already store things in the registry, so it wouldn't be a big deal.
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.