Test_User d6b02cf0b4 Don't make everyone an admin when using without an account server | 1 year ago | |
---|---|---|
.github | 3 years ago | |
data @ b161bf8bed | 3 years ago | |
doc | 4 years ago | |
engine | 1 year ago | |
ext | 4 years ago | |
sh | 1 year ago | |
.gitignore | 3 years ago | |
.gitmodules | 4 years ago | |
.travis.yml | 3 years ago | |
AUTHORS | 3 years ago | |
CONTRIBUTING.rst | 3 years ago | |
LICENSE | 4 years ago | |
README.md | 3 years ago |
Vega Strike Space Simulation Engine
#====================================
# @file : README.md
# @brief : quick repo guide
#====================================
Either install Vega Strike from the binary installer for your platform, if available, or follow the instructions for compiling from source. (Compiling Vegastrike
, below.)
bin/vssetup
bin/vegastrike
or double-click the executable file in the bin directory.Run setup and then vegastrike
bin/vssetup
bin/vegastrike
Vegastrike command line parameters allow for different start settings and are as follows
vegastrike [-ddata_dir] [-px,y,z] [-jsector/starsystem] missionname
OPTIONS
-d/my/data/dir
specifies /my/data/dir as the path for finding the vega strike data. De-
fault is /usr/local/share/vegastrike/data
-p1024,2405,1245090101
Forces the player's starting location to be at x= 1024, y= 2405,
z=1245090101
-jgemini_sector/troy
Forces the player to start in the troy system in gemini sector.
missionname
Specifies a mission for vegastrike to run. Default is /usr/lo-
cal/share/vegastrike/data/mission/exploration/explore_universe.mission.
Vegastrike takes a single command parameter indicating which mission it should load
bin/vegastrike mission/explore_universe.mission
is an example of a valid mission call
the -l flag (must be flushed with the system) will force a player to begin in a star system.
bin/vegastrike -lvega_sector/vega mission/bomber.mission
will force the bomber mission to run in the vega sector
If you encounter any issues while playing, please create an issue with the Vega Strike development team by posting a new issue.
REQUIRED FILES
/usr/local/bin/vegastrike
The vegastrike engine.
/usr/local/bin/vsinstall
The Setup utility.
/usr/local/bin/vslauncher
The vegastrike save game and mission selection utility
/usr/local/bin/vssetup
Internal installer program
/usr/local/share/vegastrike
The vegastrike data files
/usr/local/lib/man/man1
Directory containg the manual files
~/.vegastrike
Directory containing user specific data managed by vegastrike.
~/.vegastrike/vegastrike.config
User-specific configuration file
Most starships come equipped with a warp drive. Unfortunately they can only be used at large singularities in the space-time continuum. Your computer signals these points by placing glowing blue balls in those areas. Their relative size indicates how small a starship must be to fit through the jump point.
To engage a jump drive, position your ship inside and press 'j'.
Regulations state that starships should be stopped before jumping-- disasters have resulted from starships travelling at any great speed into a jump point.
Often interstellar travel requires going great distances. To facilitate this, we have provided time compression. Press F9 to increase time compression to get where you're going. Press F10 to drop out of time compression. F10 will happen automatically if enemies are nearby.
If you sadly lose your life in combat you may respawn by pressing ':'
A new starship will be created for you by Bob.
If you wish to transfer command to another starship, simply press '[' to switch over. This is useful if you have died and do not wish to call on Bob for help.
Shift-W shift weapons computer mode to damage mode
F1 toggle cockpit/background display
F2 left
F3 right
F4 back
F5 Chasecam
F6 Panning Cam (s,a,w,z pan)
F7 Target Cam
F8 Strange Cam
F9 Increase Time Compression
F10 Reset Time Compression
F11 Zoom in
F12 Zoom out
a,d,w,z pan ghost cam
: respawn -- use after death to recreate your starship
[ switch ships in battle (use to control allies)
sudo apt-get -y install cmake g++ python-dev libboost-python-dev libgl1-mesa-glx freeglut3-dev \
libopenal-dev libsdl-gfx1.2-dev libvorbis-dev libjpeg-dev libpng-dev libgtk2.0-dev
Or on Debian 10:
sudo apt-get -y install git cmake python-dev build-essential automake autoconf libpng16-16 \
libpng-dev libpng-tools libjpeg62-turbo-dev libexpat1-dev libgtk2.0-dev \
libopenal-dev libogg-dev libvorbis-dev libgl1-mesa-dev libsdl1.2-dev \
libavcodec-dev libavcodec-extra libavformat-dev libavresample-dev libavutil-dev \
libavdevice-dev libpostproc-dev freeglut3-dev libxmu-dev libxi-dev \
libboost-python1.67-dev
Or on Ubuntu 20.04:
sudo apt-get -y install git cmake python-dev build-essential automake autoconf libpng16-16 \
libpng-dev libpng-tools libjpeg62-dev libexpat1-dev libgtk2.0-dev libopenal-dev \
libogg-dev libvorbis-dev libgl1-mesa-dev libsdl1.2-dev libavcodec-dev \
libavcodec-extra libavformat-dev libavresample-dev libavutil-dev libavdevice-dev \
libpostproc-dev freeglut3-dev libxmu-dev libxi-dev libboost1.67-all-dev
vsbuild.sh
script in the sh
directory.or manually
mkdir build & cd build
cmake ../engine
make
mkdir ../bin && cp vegastrike ../bin/ && cp setup/vssetup ../bin/ && cd ..
Link to list of dependencies in wiki
If there are any problems with this installation method, please create an issue with the Vega Strike development team by posting a new issue.
Packaging Vega Strike:
After building Vega Strike, then packages can be built using:
make package
An example mission(this is stored in the test1.mission file)
A mission must begin with the headers:
<mission>
<variables>
<var name="defaultplayer" value="blue"/>
<var name="mission_name" value="4 versus 4" />
<var name="splashscreen" value="bad_guys_vs_good_guys.bmp" />
<var name="system" value="sol" />
<var name="description" value="4vs4.txt" />
</variables>
Currently all of these options are ignored except for the "system". it loads sol.system as the star system (which is in XML and stores all present planets)
The only other system included in this beta release is the blank.mission
which has 1 planet, 1 sun and 2 starbases.
After this, comes the actors in the mission, the flightgroups of fighters.
<flightgroups>
You must begin the flight group tag as above, and terminate it after all of your flight groups
<flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="8" nr_ships="3">
The name will be used later for targetting and offset purposes. The faction is a faction listed in factions.xml (should be self explanatory 0 is neutral 1 is happy -1 is mad) Currently confed and aera are the two active factions. AI must be default in this version as no ohter AI scripts are yet written. nr_ships indicates how many starships will be in this flight squadron.
<pos x="10000.0" y="0.0" z="3000.0"/>
This indicates the flight group's position... be sure it is unique
<rot x="180.0" y="180.0" z="180.0"/>
<order order="tmptarget" target="omikron"/>
<order priority="0" order="superiority" target="enemy"/>
<order priority="1" order="bomber" target="omikron"/>
<order priority="2" order="escort" target="blue"/>
the rest is in development
</flightgroup>
you must end all flight group tags
continue with any other flightgroups... you can have as many as you want from as many named factions are you want...
</flightgroup>
</mission>
The AI is completely scriptable, and I have not spent all that long perfecting it. There are included instructions about editing the AI scripts yourself.
Currently there is only 1 AI personality. In the future there will be a method to assign different personalities to different starships.
it's the "default" personality.
2 files are responsible for the control of the "default" personality
default.agg.xml
and
default.int.xml
default.agg.xml means the "aggressive" AI. it controls what it does to aggressively bring its vengeance upon its target.
When editing this file in notepad, you'll notice some tags and various numbers.
The first tag, AggressiveAI has a parameter time="4"
that's how often the AI checks if it should change its strategy. This time can be any integer value... it can revise its plan more often or less often. 4 has been good because most maneuvers can mostly complete in 4 seconds and it's a good time to revise plans
underneath the beginning tag exist a list of tags that describes the logic the AI uses to figure out its next strategy.
there are a number of tags you can specify for the aggressive AI: distance, threat, hull, fshield lshield rshield bshield rand
Each tag asserts if one of the tag-values above is between min and max.
The AI needs to make a CHOICE about what it does next, so it takes a look at the list of tags and determines if any of the assertions is true.
Nested statements mean that BOTH must be true. so you can say "if the distance is at most .5 and the hull is between .25 and .75 by writing:
<distance max=".5">
<hull min=".25" max=".75" script="afterburnerslide.xml">
</hull>
</distance>
this means "if the distance is at most half the range of my guns and the hull is between 1/4 and 3/4 of its capacity, then perform an afterburner slide.
It goes down the list of such assertions and chooses the appropriate AI script to run.
The facing and movement tags fill in the gaps where NONE of the list of the assertions are true and the ship is not either turning or moving anywhere:
<facing script="turntowards.xml">
</facing>
at the very bottom the </AggressiveAI>
must show up to indicate that the AIscript has terminated.
The aggressive.int.xml is written out exactly the same as the aggressive.agg.xml
the difference is that scripts listed here INTERRUPT the current action!
An example from the game is:
<AggressiveAI close=".05">
<hull max = ".5" script="evade.xml">
<threat min=".4" script="afterburnerslide.xml">
</threat>
</hull>
<distance max=".03" script="turnaway.xml">
<!-- distance less than .1-->
</distance>
</AggressiveAI>
this says:
If the hull is at most half and someone is threatening me with a 40% chance to hit... then evade and then afterburner slide
OR
if someone is at most .03 of my max range away from me TURN AWAY!
this will interrupt the current progress of any scripts
So that's how to use AI scripts.
If you want to know more about writing actual maneuvers (like turnaway.xml which as you can see is in the directory) please contact me at hellcatv@hotmail.com
you need to have a heavy background in vector math.
In this guide, any coding is located in square brackets ([]). Number values may not be accurate.
Guide 1: Hacking cash Step 1 Locate you saved files. (Windows XP: Program files/VegaStrike/Vegastike-0.5.0/.vegastrike-0.5.0/save||||Mac: (disk)>Users>(user)>.vegastrike-0.5.0>saves>(savefile)) Step 2 Open the files using a word document editing program (preferably Notepad++) Step 3 On the first line, you should see something roughly resembling this: [Crucible/Cephid_17^200000.000000^Llama.begin 119990000070.992740 -8999928.351833 -109989999927.749450] On this line, find the numbers surrounded by carets “^”. This is your cash. Change it to what you want, preferably in the high millions. Or possibly even trillions. Go nuts. Step 4 In order for the game not to go mad about this, you need to add this ending:[.000000] Basically, if you have, say a quadrillion cash (1000000000000000) you still need to add .000000 on the end, making it stupidly long. Yes, we know, its annoying. Step 5 Now you need to check if you are using commas or “‘” in your cash. Don’t. Then save the file. .txt files work, however when you see them on the loading screen they end in .txt. Step 6 You’re now richer than a very rich man on International very rich day! Yay!
Guide 2: Getting the ship of your dreams Step 1 Get your saved file from Guide 1. Step 2 Now, find the cash (numbers in carets “^”). There is a name after this. At the start of the game, it is always “Llama.begin” Step 3 Now you can change this name into any ship you like. However, it must be in the same format. Step 4 Here are some good ships: Goddard.milspec Clydesdale.stock Hyena.stock (Light, weak fighter. Good for getting used to combat with other fighters.) Mule.stock (trader) Step 5 There is a ship list either in the game files or on the internet, check that out for some good models. (remember: add .stock or .milspec on the end!!!! (milspec is only on some specialised ships)) Finally, save the file as before.
This guide was created by Munno 2010-10-08
Mail comments or suggestions to vegastrike-users@lists.sourceforge.net
And if you can design some missions it would rock!
https://github.com/vegastrike/Vega-Strike-Engine-Source
EOF