Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment   Page 1 of 4      1   2   3   4   Next
Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,242
Reply with quote  #1 
As Thom explained in this forum, Artemis 3.0 will be written on his new Pax engine. Thom has determined that XML is past its prime and no longer viable for Artemis scripting, so Artemis 3.0 will have a whole new scripting language. It might be Lua or it might be something newer and hotter.

Right now Thom is progressing the Pax engine by developing some new, smaller games which will have their own sexy new scripting systems. This experience will help make scripting in Artemis 3.0 as awesome as possible. As these games are released we will point them out so you can play them and get a feel for Thom's new scripting concepts.

In the mean time, I am looking for your thoughts on Artemis mission scripting. If you were to bomb the old XML system and build something new from scratch, what would it look like? What would it do?

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

Avatar / Picture

Registered:
Posts: 198
Reply with quote  #2 
If a level editor could be developed (even if it is 3.2 or something later) it would be great.

I'd also like to see an infinite map (or larger map) where hitting the map wall loads the next sector in that direction, maybe courtesy a clickable confirmation popup on Helm.

Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,242
Reply with quote  #3 
Quote:
Originally Posted by ogremasch
If a level editor could be developed (even if it is 3.2 or something later) it would be great.

I'd also like to see an infinite map (or larger map) where hitting the map wall loads the next sector in that direction, maybe courtesy a clickable confirmation popup on Helm.



Thom has already assured me that he is committed to an infinite map in Artemis 3.0. I don't know about a level editor, though. I think he hopes to pick a language that already works with a good pre-existing editor.

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

Registered:
Posts: 452
Reply with quote  #4 
Anything function based (e.g., LUA) would be a huge improvement.
e4mafia

Registered:
Posts: 200
Reply with quote  #5 
My wish list would include (by no means exhaustive)

- Object oriented 
- Control over every game play variable, stores on the ship(s), whatever isn't currently covered, add that in please.
- Base actions (loading/unloading activities, away teams to the base, etc)
- A "full featured" GM mode for missions, that doesn't need half a million lines of code to add the functionality. Maybe take inspiration from the TSN GM package as a point of comparison. This is less of a scripting request I guess, and more of a general game feature though, I suppose
- Random encounter/event/side mission options, similar to what gets created in the non scripted missions in 2.7. Some way to create a random side mission, every x to y minutes or something like that. Or an option to just "include" random side missions as a single statement in the script setup.
- Side mission types



Darrin

Registered:
Posts: 86
Reply with quote  #6 
I'd like a rudimentary math library of some sort. For one of my last scripts, I needed to calculate some LOG2 values, but couldn't quite get a Taylor series working. I managed to kludge up something that works, but it's not particularly elegant.

There's another script idea I'd like to tackle, but I will need a lot of trig functions (sine, cosine, tangent) to make it work. I think I can use a Taylor series with the current scripting language, but it's going to be fugly. I'm also not quite sure about how to calculate reflected angles... 

But yeah... logs, square roots, trig functions... Thom gives me the most baffled looks when I try and tell him what I need the scripting language to do. Pretty sure I'm probably not right in the head.


LawsonThompson

Registered:
Posts: 586
Reply with quote  #7 
Oh wow, just posted without actually seeing e4mafia's post above, and it's like we're on the same wavelength!

IANAASG (I Am Not An Artemis Scripting Guru), but based on my particular narrow use-cases my wish list includes:

String functions: Makes for easier display of messages when you can assemble strings on the fly instead of setting a ton of flags and bouncing through a pile of logic.

Object-oriented code:  Maybe Lua will provide a bit of this? I presume it would make future extensions to the Artemis code base a lot easier if new ship types were new instances of the core ships with additional properties and methods. Exposing that in the scripting might be a neat add.


Access to a random fleet generator: 
This would be useful in designing scripts with scaling skill levels, or GM missions where you just need to buff the enemy forces a little at a time.

enemyFleets = new Array;
for (i = 0; i < 5; i++)
{
 // RandomFleet returns an enemy ship fleet object with a desired number of small, medium, large, and elite ships
 enemyFleets[i] = new RandomFleet('Kralien',smallCount,medCount,largeCount,eliteCount);
 enemyFleets[i].setCenter(gmClick.xpos,gmClick.ypos);
}

Access to a side mission generator for standard items: It takes a lot of effort to craft side missions, yet the solo mode generator can crank them out quite readily. Are side missions properties of allied ships? 

thingToDo = new SideMission();
thingToDo.setRewardType('nuke');
thingToDo.setRewardCount(2);
thingToDo.setDestination(currentMission.stationList.getStation('DS1'));
currentMission.alliedShipList.getShip('Transport Alpha').setSideMission(thingToDo);
currentMission.alliedShipList.getShip('Transport Alpha').getSideMission().setSource(); // defaults to ship.self;

Result:  Transport Alpha announces to Comms "<random friendly greeting>! <Action requested at source>.getSideMission().getSourceName() and <Action required at destination>.getSideMission().getDestinationName()".

And what Dave said: function-based scripts would be a massive advantage. The scripts will be more verbose in general, but there are certain parts of script functionality which require massive chunks of duplicate code in XML which could collapse into a few looping lines in another language with control structures.


__________________
----
Visit us at http://www.ltebridge.com
Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,242
Reply with quote  #8 
Quote:
Originally Posted by e4mafia

- A "full featured" GM mode for missions, that doesn't need half a million lines of code to add the functionality. Maybe take inspiration from the TSN GM package as a point of comparison. This is less of a scripting request I guess, and more of a general game feature though, I suppose
- Random encounter/event/side mission options, similar to what gets created in the non scripted


This will take some thought and probably a whole different conceptualization of game mastering. There are some cases, for example a convention tournament, where you do not want the players to have access to any GM controls. In the current Artemis software, any player can open a GM screen but without scripted controls all they can do is look at the map. If the GM screen always had powers it would allow massive cheating.

I expect the solution to this and some other problems is to make the GM screen NOT a console on a ship. That might allow a server setting to block players from opening a GM screen. This might also make it possible for any arbitrary number of player Comms officers to communicate with arbitrary game objects using custom messages that would sent messages to the GM console. For example, if the script created an object called Pirate King with custom Comms messages, the GM might get a message saying: "Artemis just told Pirate King to shove a torpedo up his nose."

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

Avatar / Picture

Administrator
Registered:
Posts: 2,242
Reply with quote  #9 
One concept Thom has discussed is modular player consoles. This might allow Weapons to move the Torpedo tube module to a different part of the console, or Communications to add Mainscreen controls to their console. If this happens it might be possible for a mission script to spawn a new module to a console. Imagine if your script could spawn a module of Tractor Beam controls to Helm and a Tractor Beam power slider/coolant bar to Engineering. Imagine if you could spawn to Communications a Decoding module and a Space Marines module. Imagine if you could spawn to Science a module to scan and analyze cosmic rays.
__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
e4mafia

Registered:
Posts: 200
Reply with quote  #10 
My brain just melted, fell apart and then exploded with excitement about this. 
ryleyra

Registered:
Posts: 2,906
Reply with quote  #11 
Quote:
Originally Posted by Mike Substelny

This will take some thought and probably a whole different conceptualization of game mastering. There are some cases, for example a convention tournament, where you do not want the players to have access to any GM controls. In the current Artemis software, any player can open a GM screen but without scripted controls all they can do is look at the map. If the GM screen always had powers it would allow massive cheating.


The thing is, I can see a lot of potential for a "GM assisted" mode in regular randomized play. If the players are finding the going too easy, for instance, it would be nice to be able to spawn a new wave of foes, or a handful of Skaraans, similar to how the newest release will add a second wave as a matter of course. (It might also be nice to be able to modify that from the customization screen, to add multiple waves or drop the second wave altogether)

As you say, though, the potential for cheating is there. Perhaps, if you are running in invasion mode, or a script that does not enable the GM console, when you bring up the console it could ask, "Do you wish to enable modifications to the server?" If the players say yes, then it is obvious they are intending to "cheat". You could even disable or modify scoring in such a case. (Or GM mode could be scored according to different rules)

As I implied above, you could have a command in the script language that turns on GM controls. Without it, the script is intended to be automated and not require GM interaction.

Full disclosure, I got the idea from Conan Exiles, which I'm currently playing. If you start a personal game just for you as a single player or for a couple of your friends, it starts a server. You can then access Admin Mode on the server to modify the gameplay however you want. The game even calls it "cheating", although for a private server you would want to have Admin rights set up so no one else can "steal" it.

Similar to the above, you could enable the GM console from the server control screen, or the "Do you with to enable this cheat?" could appear on EVERY console logged in, so no one can mess with the game without everyone knowing. 😃

e4mafia

Registered:
Posts: 200
Reply with quote  #12 
Is this coming from an online TSN type of game? I'm not really seeing where the "cheating" would be a realistic problem given the cooperative nature of the game. I suppose in PVP scenarios this would be a real concern though, so maybe I just answered my own question 😉
Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,242
Reply with quote  #13 
Quote:
Originally Posted by e4mafia
Is this coming from an online TSN type of game? I'm not really seeing where the "cheating" would be a realistic problem given the cooperative nature of the game. I suppose in PVP scenarios this would be a real concern though, so maybe I just answered my own question 😉


e4mafia, do you mean the TSN Role Play group? I believe they always play with a game master anyway so this would not affect their style of play. The problem would only crop up at events that strive to give multiple crews a "fair" experience in a non-GM mission. As the game works now any sneaky player can open a GM console but that console is basically an unlimited Science station, it has no GM powers. If the GM console gets default controls then the server will need a setting so convention hosts (for example) can disable the GM console and prevent cheating.

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

Avatar / Picture

Administrator
Registered:
Posts: 2,242
Reply with quote  #14 
Continuing with game master conundrum . . .

Starting with the earliest days of Artemis, Thom has taken the game to conventions and offered prizes called "Lucky Sevens." If a new crew plays their first Invasion Mode game on difficulty 7 and wins they get a prize. Over the years lots of crews have tried to be Lucky Sevens and a few succeeded and won the prize. Right now if a sneaky player opens the GM screen all they see is a map with unlimited sensor range so it doesn't make much difference. But the Lucky Seven prize would be ruined if a sneaky player could open the GM screen and find controls to buff their ship, destroy enemies, add friendlies, move terrain, etc..

Does that make the problem clear?

__________________
"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  #15 

A lot of the stuff I would like to see was already mentioned. I specifically concur with a bunch of stuff that e4mafia and ryleyra said.

Furthermore, because currently Artemis has no proper modding access, I would love to see a ton (if not all) variables outsourced to an .ini file or something. Essentially, too many things about Artemis are very specific to one universe and are not subject to modding, which is a pity. Storing more variables in a place where modders have access would significantly strengthen the bond between non-TSN scifi fans and Artemis as a useable software to enhance their fandom with.

Also, adding a toggle between resistance space and no-resistance space (i.e. Star Trek space versus real space) would be awesome.

Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.