Custom Scripts for Single-Player Games

Talk among developers, and propose and discuss general development planning/tackling/etc... feature in this forum.
Post Reply

Do parts of these ideas sound feasible to you?

Yes
1
50%
Yes
1
50%
No
0
No votes
No
0
No votes
Maybe... a little...
0
No votes
Maybe... a little...
0
No votes
It wouldn't be useful or important enough
0
No votes
It wouldn't be useful or important enough
0
No votes
 
Total votes: 2

bsperan
Trader
Trader
Posts: 17
Joined: Sat Jan 14, 2006 11:15 pm
Location: SouthWest MO
Contact:

Custom Scripts for Single-Player Games

Post by bsperan »

There are some feature ideas I have about the VegaStrike Project in adding capabilities to single-player Mods.

To be honest, I'm not even sure if there currently are any Mods under development aimed at being single-player (vs. multiplayer or online play). And I will admit that I haven't been playing close attention to the developments going on here. However, I have read through the Feature Request List and skimmed through the VegaStrike database.
bsperan
Trader
Trader
Posts: 17
Joined: Sat Jan 14, 2006 11:15 pm
Location: SouthWest MO
Contact:

Time Accelerator Device (TAD)

Post by bsperan »

1) Time Accelerator Device (TAD)

First of all, I wonder if it is possible for a single player Mod to allow the creation of a ship device that would rapidly accelerate the flow of time from the perspective of the player/pilot. That is, not only the ship but the entire game Universe. (Programming wise, this would simply be a way to accelerate all game events while still keeping the framerate of the interface at a respectable level.) Understandably, this would only be possible in a single-player game.

I remember playing Elite II and how it sometimes felt so tedious to realistically simulate space travel - how long it took just to get to your destination (or your enemy). I read about the SPEC drive for VegaStrike and while I think it's a nifty idea, I can see situations where it would be much preferable in some mods to have a TAD instead.
Halleck
Elite
Elite
Posts: 1832
Joined: Sat Jan 15, 2005 10:21 pm
Location: State of Denial
Contact:

Post by Halleck »

Time compression = f9
Time reset = f10

The TC in vegastrike is pretty buggy and is only used for testing... but if you want to debug it and clean it up you're welcome to. ;)

If someone does I'd love to use it for my Elite mod.
bsperan
Trader
Trader
Posts: 17
Joined: Sat Jan 14, 2006 11:15 pm
Location: SouthWest MO
Contact:

Player Scripting Interface

Post by bsperan »

2) Player Scripting Interface

I'm wondering what capabilities (if any) there will be to allow players with basic programming knowledge to write simple scripts or mods to directly add extra functionality of their own to a single-player Mod. By this, I mean either an in-game script editor/enabler or being able to write simple script files with an ordinary text editor (or both).

I can understand why this would be completely unfeasable for multi-player games. For one thing, the game universe would have to be completely consistent for all players. For another, it would be inviting game crashes, sabatage, and outright cheating. However, if an ambitious player wants to do something like this in a single player game on his own PC, why not? For multiplayer games, it could be coded so such a 'Player Scripting Interface' would be automatically bypassed. Either that, or the game host/server could be configured so that only approved scripts could be run through the server itself.

Some may have basic programming knowledge and could script something brief in, say, Python. But directly modifying the underlying code of the game and compiling their own version would most likely be far beyond the knowledge, expertise, and/or patience of most space simulator fans. I found what Statick wrote recently in the When Will There Be a Release or Are You Guys Ded thread made this pretty clear:
despite the fact that i'm technically competent enough to run my own PC repair business, that i used to code windows apps for a living (v simple ones i might add), that i've installed and used CVS many times in the past because of this...

i still play 0.4.3
[snip]...but the barrier of having to install CVS software to obtain a later version is enough of a barrier even for me, even when it's software i've used before !
I think I can appreciate that providing such custom scripting access to amatures would entail certain drawbacks and limitations. And, yes, this would mean another complex feature to add and another time sink. But I think it would not only make the VegaStrike project more appealing to more gamers, but also help accelerate the general development. From reading the Development Blogs, it sounds like the development team is currently struggling to squash the many bugs and add some more basic functionality. But what about all those hundreds of feature requests and minor details that remain?

The development team is rather small, is it not? And even when, eventually, VegaStrike 1.0 gets released it still won't have all the features that everybody wants... right? So why not have a simple script interface through which others can write their own functionality? Even if the custom scripts are limited to single-player games, if these prove useful enough shouldn't it be easy enough to incorporate the script into an official release? (Provided such scripts are approved, debugged and don't cause conflicts.)

If such a Player Scripting Interface were implemented, then a place on the website could be created for VegaStrike users/modders to submit their custom scripts. Except, in order to submit their scripts they would have to agree to do so under the terms of the GNU license - making the code available for inclusion in VegaStrike.

The reason I bring this up is because I see how such custom scripting and modding by extraordinary fans has breathed tremendous energy and creativity to certain games. There are some commercial products that would never have gained their current status or devoted fan following if it wasn't for the many hundreds of ingenious customized scripts and simply modifications that were written for them. And it was all done without installing any sort of compiler or CVS software.

The way I see it: This is one way to give VegaStrike fans a means of incorporating their own feature requests and ideas. Instead of just holding their breath for the next release and spouting off ideas in the hopes of seeing their ideas incorporated, they could work on this directly (even without a degree in Computer Science).
Halleck
Elite
Elite
Posts: 1832
Joined: Sat Jan 15, 2005 10:21 pm
Location: State of Denial
Contact:

Post by Halleck »

Half of the game is currently scripted in Python...
Campaigns, bases, and even spawning behavior and such if I recall correctly.

So if you want to script Vegastrike, you have to learn Python and how it is used by VS. :D

And if people can't be bothered to download an SVN client... their loss. We've made the process as simple as it can get for Windows users, and not that much harder on Linux.
bsperan
Trader
Trader
Posts: 17
Joined: Sat Jan 14, 2006 11:15 pm
Location: SouthWest MO
Contact:

Post by bsperan »

So if you want to script Vegastrike, you have to learn Python and how it is used by VS.
I was thinking that VS might be written in Python, but I wasn't sure. It sounded familiar.

However, wouldn't an in-game script editor have some advantages of its own? Perhaps being able to test code on the fly? (Or can this already be done?)

Also, how well documented are the files and the code?

I know some games have the equivalent of a book in terms of the documentation of how to write scripts and code for the program. And some are written in mostly plain english so even a layman might be able to understand it (with some effort).
Halleck
Elite
Elite
Posts: 1832
Joined: Sat Jan 15, 2005 10:21 pm
Location: State of Denial
Contact:

Post by Halleck »

I would wager that documentation is on the poorer side. But I've never delved into either the Python scripting code or the C/C++ source code for the engine myself so I can't tell you.

I'm not exactly sure what would be accomplished by an ingame script-editor because it would probably have to be written in python which is just weird. O_o
It would also frankly be a waste of time for devs that could be improving the game. Better to just use a purpose-built text editor/python test suite.

As I see it, people wanting to mod the game (such as myself) have to bite the bullet and learn what it takes to make the changes they want. There's no way I can think of for us to provide any sort of mechanism that will make this work any easier. Except for better documentation.

I've tried, and I think I (and other contributors) have succeded to a degree at making things easier for certain types of modding by writing HowTos for various development processes. But if someone wants to change the behavior of the game they will just have to learn C or Python.
ghoulsblade
Merchant
Merchant
Posts: 47
Joined: Wed Jun 20, 2007 7:13 pm
Location: Germany/Munich
Contact:

Post by ghoulsblade »

Halleck wrote: And if people can't be bothered to download an SVN client... their loss. We've made the process as simple as it can get for Windows users.
i disagree, i proposed something even more trivial (svn-based updater/installer program that does not require the user to install or even know what svn is) that is already used successfully in another open-source-project , see this thread :
http://vegastrike.sourceforge.net/forum ... 3553#83553

this would enable users the usual "download(updater)-install(=run-updater)-play"
and would basically just checkout a specific svn branch/tag onto the users machine. it DOES require binaries (.exe) to be in the svn to work, it cannot function as a compiler.
mortaneous
Bounty Hunter
Bounty Hunter
Posts: 164
Joined: Tue Jul 11, 2006 6:20 pm
Location: Some small planet, Parallel Earth, Resources Negligeble
Contact:

Post by mortaneous »

With the exception of having to install the SVN client and point it to the repository yourself, that is how it works for Windows users who don't want to compile. I should know, that's what I use.
Halleck
Elite
Elite
Posts: 1832
Joined: Sat Jan 15, 2005 10:21 pm
Location: State of Denial
Contact:

Post by Halleck »

ghoulsblade: I just saw what you are talking about when I was reading through the "ARE YOU GUYS DED?!" thread. That would indeed make the process easier, and I would encourage you to help port that tool to vegastrike if you have time. :wink:
jackS
Minister of Information
Minister of Information
Posts: 1895
Joined: Fri Jan 31, 2003 9:40 pm
Location: The land of tenure (and diaper changes)

Post by jackS »

mortaneous wrote:With the exception of having to install the SVN client and point it to the repository yourself, that is how it works for Windows users who don't want to compile. I should know, that's what I use.
Update utilities also tend to add useful tag management options (i.e. upgrade to latest stable/unstable/bleeding-edge) that can help shield the user from having to figure out which internally consistent set of files they really want to be dealing with at any given point in time.

We're very interested in getting an update utility functional for VS.
ghoulsblade
Merchant
Merchant
Posts: 47
Joined: Wed Jun 20, 2007 7:13 pm
Location: Germany/Munich
Contact:

Post by ghoulsblade »

jackS wrote: Update utilities also tend to add useful tag management options (i.e. upgrade to latest stable/unstable/bleeding-edge) that can help shield the user from having to figure out which internally consistent set of files they really want to be dealing with at any given point in time.

We're very interested in getting an update utility functional for VS.
full ack. good to hear, i've started a thread to help get things rolling :
http://vegastrike.sourceforge.net/forum ... highlight=
Halleck wrote: I would encourage you to help port that tool to vegastrike if you have time. Wink
i'm afraid i'm too short on time to do that on my own, but i'll help if someone volunteers to do it.

Also i've started another spacegame project with a friend a while ago (as vs appeared to be dead at that time ;)) which still requires some work to get it playable, so i won't become a full-time VS-contributor.
The aim of the game is quite different from VS, but maybe the projects can benefit from each other later (when our project is a little more mature), pm me if you are interested, i don't want to spam here.

btw, is the artwork for VS (models, textures...) available under some free license (creative commons, public domain, gpl), or is it only for VS use ?
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Post by loki1950 »

ghoulsblade wrote
btw, is the artwork for VS (models, textures...) available under some free license (creative commons, public domain, gpl), or is it only for VS use ?
most is gpl the exceptions are tagged with readmes in the folder the are found in

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
Post Reply