Galactic Exploration - Work In Progress

Gordon Finlay
Elite Warrior
Elite Warrior
 
Posts: 237
Joined: 14th Nov 2000
Location: San Diego, CA, USA

Galactic Exploration - Work In Progress

Postby Gordon Finlay » Thu Jun 02, 2005 8:03 pm

Greetings. I posted about this project on RHCD's site, and now I post here with some updates.

First of all, it IS multiplayer, which means while you can use it on your own, its designed to be played with multiple people. It starts off as your standard multiplayer script. Same objectives, same usual business of blowing one another into smithereens. And as has been done so many times before, you can simply set course to another system and engage your warp drive.

Now comes the new stuff. Whenever someone engages their warp drive, if you're in the same system as them you'll receive notification of the fact. Your computer will record their final destination, and you will be able to give the command to warp to the recorded location.

Furthermore, any information you have stored on your computer can be sent to other players (including your OWN position). Meaning if you're in the Fong system and your opponent warps out, you can select your opponent from the warp-computer, mark him for transmission, and then select your teammate and transmit that information to him. That way, both you and your teammate can automatically warp to the opponent's new location.

For now, the script allows you to warp anywhere. It updates the Helm Screen map when you traverse sectors, and has NavPoints for the Fong, Qo'Nos, and Vulcan systems (for easy access to each of the 3 stock sectors). In the final version, this will probably be changed to a new arena with new star systems (to limit the lag and overhead associated with loading new systems).


Work-arounds have been put in place to fix several exploitable glitches in KA, namely the warp-transit bug (hitting 2-6-3 while in the Gunnery Chair at warp drops you from warp but maintains warp velocity), the celestial targetting glitch (target the sun and point in that direction and your weapons have infinite range), and a nasty little emergency-turn glitch (continuously activating the emergency turn makes your ship bounce around like its lagging, not to mention making it less susceptible to a breakdown).

As far as the actual meat of the script, there is much progress. There is a working demo out there right now at (link in the next post). If you want to get an idea of what this is and give it a try for yourself, then there it is. Notable additions since that demo are that the transmissions between players can be intercepted and/or nearby players can pinpoint the source. The final version will use HUD dialogs instead of the Chat Messages for notifications.

Things still to go? At the time being, the RandomEncounters have been disabled (finally figured out how to do that, thank you Uwe), which in my personal opinion is wonderful because it means people will be that much more encouraged to play online. I'm told thats unlikely, so probably the final version will include SOME form of scripted RandomEncounters (possibly even taken from the same file). These AI ships will be capturable, as has become popular in Racer's scripts.

Anyway, feel free to shoot comments to me here or on MSN. Now, here are some screenshots (don't make fun of me; I PREFER 640x480):

Image
Image
Image
Image

** LATEST VERSION 0.21 **
http://hotfile.com/dl/108917673/48dff66/explore021.rar.html

(German)
http://hotfile.com/dl/108917750/9950d22/explore021g.rar.html

Revision 0.21 Notes:
- Added the ability to use custom sector maps for the out-system warp interface.

Uwe
Field Marshal
Field Marshal
 
Posts: 2040
Joined: 22nd Mar 2001

Postby Uwe » Fri Jun 03, 2005 6:04 pm

Gordon, this looks like a great project.

Uwe

Gordon Finlay
Elite Warrior
Elite Warrior
 
Posts: 237
Joined: 14th Nov 2000
Location: San Diego, CA, USA

Postby Gordon Finlay » Sat Jun 04, 2005 9:12 am

Update (June 4th, 1:12 AM):

Hey guys. I've made several updates to the source, and re-uploaded. You can always download the latest version from:
http://gordonf.rscfleet.net/KA/expl.int
http://gordonf.rscfleet.net/KA/explinfo.int
and (if you need the netscen): http://gordonf.rscfleet.net/KA/netscen.lst

Since the last update, I've added the ability to intercept transmissions. I know this works for in-system transmissions, but need to test and debug the out-system transmission interception capability.

Additionally, I changed all the notifications from ChatMessages to HUD Dialogs. I'm looking for a voice actor to do the necessary voices, so if anyone feels like giving me a good audition for a Klingon voice, just MSN me.

To possibly boost interest in this project on KA.com, I'm considering adding the ability to externalize the ships used. The script would load the ships from an external file, if present, or use the KA stock ships if not. This way, you would just need to add a params file to the directory for it to load the ship list for your mod. I may add this to the next compile.

I also have a rudimentary version check. It kicks players who don't have the same version of the script as the host from the game. Still a little buggy, but hope to iron this out soon.

I look forward to your comments. Thanks!

-Gordon

Gordon Finlay
Elite Warrior
Elite Warrior
 
Posts: 237
Joined: 14th Nov 2000
Location: San Diego, CA, USA

Postby Gordon Finlay » Sun Jun 05, 2005 11:22 pm

Update (June 5th, 3:15 PM):

Hey guys, I don't have a lot of time to write, but I just wanted to give a quick update on the explore script.

I added a neat little feature, where the game calculates the vector to your destination star system and makes you ship warp in that direction, instead of just arbitrarily warping off into the sunset like it currently does (you must admit though its kind of funny to see the fleet warping off in one direction and your ship warping off in a completely different one). Also, I took Racer's suggestion and did "InitSystemAllowance(1)" so now all systems in the sector will show up in the 'Sector List' box.

I started working on the Warp Trap. Its the ugliest piece of code in the whole script, but thats to be expected as this is (I believe) the first time such a thing has been attempted. Let me explain how it works:

When the player tries to warp to another star system, the script records their final system and coordinates into a variable, cancels that warp, and then immediately orders the player's ship to warp to Argelius (Deep Space) at coordinates based on the player's slot number.

When the player arrives in Argelius (or somewhere in between warping out and arriving, I'm still tweaking), the player is Switched into a camera ship and a window is output to the screen. As the Simulator automatically disables the mouse, I may have to do this part entirely with keyboard commands (or try to do some kind of hack involving mmSay commands). Anyway, in the final version the player will be able to change course and view status and there will be a map of the sector showing the player's current position (along with everyone else within sensor range). Right now, it just waits 10 seconds and then calls the ExitWarpTrap.

When the warp-trap is over, the player's ship is ordered to warp to the original destination and the player is put back into command of it. The final result is that we can make out-system warping take as much time as we need. This should add to the feel that space is vast, and make the game both more realistic and more playable (you have to actually wait for reinforcements to arrive).

As always, I welcome any comments.

RCgothic
Order of Kahless
Order of Kahless
 
Posts: 9553
Joined: 27th Mar 2001
Location: Scotland

Postby RCgothic » Sun Jun 05, 2005 11:40 pm

This sounds amazing. It will really contribute to multiplayer, and I'm looking forward to trying this out with Too much and co. Tell them i say Hi next time you see them. ;)
RCgothic

Gordon Finlay
Elite Warrior
Elite Warrior
 
Posts: 237
Joined: 14th Nov 2000
Location: San Diego, CA, USA

Postby Gordon Finlay » Mon Jun 06, 2005 10:24 am

UPDATE (June 6th, 2:24 AM):

Okay the warp trap is now in place and functioning. Next on the agenda is to add the interface for actually CHANGING the ship's course while at warp, and to display ships other than the players, but thats tommorow's project. Here's a screenshot of the console while you're in warp (both to show that its working and illustrate how badly I need artists on this project):

Image

Please note that I have every intention of making a 3D map. My plan right now is to have 2 of these maps on-screen. The left-map would be a 3D map of the universe/quadrant/sector/whatever and the right-map would be the corresponding 2D helm-screen map for that area of space.

Unfortunately, I still have not been able to get the mouse to work properly. The simulator automatically hides it and I'm unable to retrieve it even with ShowMouse. If ANYONE knows how to get a mouse pointer to show up on the HUD, please contact me at once or reply here with the answer.

For now, I am proceeding under the assumption that the mouse-based GUI is unfeasible, and will instead be coding it to be keyboard-based.

I appreciate your comments!

RCgothic
Order of Kahless
Order of Kahless
 
Posts: 9553
Joined: 27th Mar 2001
Location: Scotland

Postby RCgothic » Mon Jun 06, 2005 12:18 pm

where have you been for the last 4 years? This sounds absolutely amazing.
RCgothic

Gordon Finlay
Elite Warrior
Elite Warrior
 
Posts: 237
Joined: 14th Nov 2000
Location: San Diego, CA, USA

Postby Gordon Finlay » Wed Jun 08, 2005 12:27 pm

UPDATE (June 8th, 3:37 AM):

Hey guys, sorry for the lack of updates here. I assure you its not because I'm not working on the script. ;)

Since the last update, I've added a nice little flashy title to the warp trap gui. The system map displayed will now be appropriate for the system the player is in (currently meaning where they are on the warp trap) and will change as they cross sector lines. The S and E spots will only be marked if they're on the same sector map as the player.

I'm still getting some crazy visual glitches for when the player is moved into the camera just before his ship is ordered to warp. I think this stems from KA causing warping ships to be viewed at medium detail. This would not be a problem except there is still a visual disturbance (SOMETHING, I can't quite put my finger on it) afterwards, even when the player's in the final system. =/ Gonna have to work on this a bit more...

I went ahead and decided to throw in some polishing details, namely in the area of music. The music theme will now be randomly selected out of ALL the game themes (not just the two normally used in MP/QB). The Desperation Music will now play for the player (as it does in SP) when the player reaches a desperate hull limit, though I may raise the limit a little bit. The Friendly Death music will now play whenever the player is killed, and the Player Death music will play when he is captured. The Music Theme itself is randomized everytime the player enters a new system (including when he respawns). I'm going to work on polishing this a bit more. I might consider putting friendly-death music on human teammate deaths, and victory music on human-enemy kills, though I don't want to inundate the player with these jingles.

Next on the agenda:

Well, first I've got to actually MAKE the rest of the GUI for the warp trap (changing course, changing speed, that sort of thing). I'm not sure (I DO need to check this) if the player's ship will repair for days when it goes to warp if the player's not in it (the mission clock doesn't advance by days/weeks because the player is transferred into the camera before the warp). If it doesn't, it will be to our benefit because the player will need to have his settings done.

Second, I need to put the information on player position into genericstrings for coordination between the players. This way, other players (if in range) will show up on your warp map. Combine this with the GUI, and you should be able to warp to follow another player around.

With the new warp trap, I'm going to have to rewrite the entire section on transmission/interception involving out-system (subspace) transmits. This shouldn't be too hard, but the entire interception code is something of a minor nightmare so I've been putting off doing this.

Next, I'm considering adding the ability to have battles in deep space/the warp trap. Here's the possible scenarios:
1. Battles fought in deep space at conventional speed. This would basically be a regular KA battle, but the players would be moved to a section of deep space. This would not be difficult. The problems come in devising the controls for these deep space battles. Likely, a key will be assigned to have the player attempt to jump into out-warp (thus returning them to the GUI and exitting the battle). There will be enough delay between pressing the button and actually exitting the battle for other nearby players to attempt to follow (they would sync up exactly, so if theres a 3 second delay between player 1 warping out, and player 2 hits their button 2 seconds later, player 1 and 2 would both go to warp at the same time). This leads directly to the second kind of battle...

2. Warp-Speed Battle. This would be rather esoteric, and though possible using entirely scripting, I would recommend a slight bit of modding to it as well. Basically, this is a normal battle with chief differences. First of all, no warping at all. Secondly, the map of your position will still be displayed on the screen (shrunken a bit) and you'll still be able to use some sort of interface to change your direction vector (or to lock onto a player to intercept/follow). The key factor here is power-to-warp. You MUST output the same or better warp-power as the person you're chasing to be able to follow them. Otherwise, they escape instantly from the battle. What this means is that these warp battles will be very taxing on power. You won't be able to run full impulse and full warp at the same time. Since we assume the positions of the players to be relative, the impulse drive will be the only way of closing the distance to another player at warp. Small ships are excellent at this. We could also include other limits based on other-games/canon (no shields/no tractors/that sort of stuff), but I would prefer not to until we see how it actually plays.

Now the modding I was referring to is this: We could set the space-dust mode to be warp, but it still wouldn't look right. From the player's perspective, they'd be moving very SLOW, not very fast. We could also have it set so that the player doesn't see ANY space dust, but thats a cheap way out. The other solution? Make a terrain for being 'at warp'. I'm not entirely sure how, but I believe you guys can make little fog-effects or something so that you basically have unimpaired vision, but crazy warp-effects too. I'll play around with it, but I'd rather dedicated myself to the scripting portion. Please reply if you're interested.

Anyway, thats all for now. As always, your honest feedback is appreciated.

Good night.

RCgothic
Order of Kahless
Order of Kahless
 
Posts: 9553
Joined: 27th Mar 2001
Location: Scotland

Postby RCgothic » Wed Jun 08, 2005 2:26 pm

Hmmm. Would it be possible to add a long tunnel with warp streak effects with an animated star streak map?

The other way I could think of is to hava a plate at one end of the map spawn the warp streaks, which then rush past, but again, no idea hoe that would actually be implemented.
RCgothic

Gordon Finlay
Elite Warrior
Elite Warrior
 
Posts: 237
Joined: 14th Nov 2000
Location: San Diego, CA, USA

Postby Gordon Finlay » Wed Jun 08, 2005 6:20 pm

Well, another way to do it would be to get rid of the use of impulse entirely and have the ships be at a set offset from each other, then have them XFollow a camera ship (or modded camera ship) that moves at warp speed. Then we could have the space dust mode set to warp and it would look right.

RCgothic
Order of Kahless
Order of Kahless
 
Posts: 9553
Joined: 27th Mar 2001
Location: Scotland

Postby RCgothic » Wed Jun 08, 2005 6:31 pm

that would be good too. I'm sure you'll work it out. Although without a small amount of manouvrebility, a small ship wouldn't WANT to catch a big ship, it would get blasted to bits by aft weapons.
RCgothic

Gordon Finlay
Elite Warrior
Elite Warrior
 
Posts: 237
Joined: 14th Nov 2000
Location: San Diego, CA, USA

Postby Gordon Finlay » Wed Jun 08, 2005 10:56 pm

Thats a very true point. I think our best bet is probably to go with the impulse relativity and the illusion of warp speed using terrain effects. It might irk a few die-hard Trekkies/scientists ("why use impulse at warp? Just use warp!"), but its the most playable solution.

One other thing is that I can play the ambient warp noise during the whole warp-trap. That might help a little.

teeth_03
Order of Kahless
Order of Kahless
 
Posts: 3073
Joined: 2nd Jul 2003
Location: Somewhere in the Matrix

Postby teeth_03 » Thu Jun 09, 2005 11:35 pm

um...so all of this is talking about what happens when you warp between systems?

honestly,it sounds very complicated,and somewhat unnessessary

I say this because I tried the new version,and it took 5 min at warp 9 to get from Finch To Qonos...BORING!

wouldn't be so bad if you could play some mini game or sumtin,most ppl will not just wanna sit there and wait.

As for a suggestion,have you figured out a way to script in more stable AI's,cuz that would be great,especially if you could capture them

Gordon Finlay
Elite Warrior
Elite Warrior
 
Posts: 237
Joined: 14th Nov 2000
Location: San Diego, CA, USA

Postby Gordon Finlay » Fri Jun 10, 2005 1:40 am

I appreciate your criticism, Teeth. The time it takes to travel between systems/sectors is directly dependent on your warp speed, the distance between the systems, and a constant defined in the script. This constant will be tweaked as necessary to promote gameplay while maintaining the feel of distance in space.

Space is SUPPOSED to be large, and while '5 minutes' may be something of an exaggeration, I remind you that Finch and Qo'noS are separated by more than an entire sector of space and it SHOULD take you a relatively long time to get there.

As for your other concerns, I remind you this is a work in progress and new features are being added daily and play-tested. What I just mentioned in the previous update is not 'unnecessary' at all, but rather its what would stop it from "just waiting for 5 minutes". Instead, you might have to change course to avoid an enemy patrol, and someone will be able to intercept you at warp speed and you'll have to fight them.

Warping out-system will not be 'fire and forget', like it is in the original KA.

Again, thank you for your honest opinions.

EDIT:
Okay, I talked with Teeth and then realized that I haven't uploaded a compile for a while. My script is broken right now, so I'm going to fix it tonight and then upload it. I'll post when its ready.

EDIT:
Okay, sorry guys. I uploaded a working version. It should be much better than the one currently up there, though its using a mostly untested way of assigning players. It should be stable for one player, though I haven't had the chance to test the out-warping tracking stuff with other players. Please let me know how it goes.

Gordon Finlay
Elite Warrior
Elite Warrior
 
Posts: 237
Joined: 14th Nov 2000
Location: San Diego, CA, USA

Postby Gordon Finlay » Sun Jun 19, 2005 11:14 am

UPDATE:

Sorry for the lack of updates guys, but there's been a serious pitfall in the development of this script, namely the complete and total loss of my hard drive and all the information contained therein, including the source to the Explore Script. I do have one back-up which I've already retrieved, but its at least a week and a half to two weeks old. Its really quite disheartening, and if anyone has any kind words of motivation to renew my spirits, now is certainly the time.

Fox McCloud
Lieutenant General
Lieutenant General
 
Posts: 1742
Joined: 17th Nov 2000
Location: Middlesbrough, England, UK

Postby Fox McCloud » Sun Jun 19, 2005 7:08 pm

You are a godsend Mr Finlay.

You may aswell call this the KA Multiplayer Revitilisation Project.
"Cry woe... destruction... ruin and decay.
The worst is death, and death shall have his day."[/align]

genix
Captain
Captain
 
Posts: 635
Joined: 4th Nov 2001
Location: orlando florida

Postby genix » Mon Jun 20, 2005 12:49 am

My goodness, dont give up now. What you have accomplished is nothing short of amazing. It is my sincere hope that you can find the time and the drive to move forward with this project.
The best piece of Star Trek dialog from the stinkiest Star Trek film. StarTrek V The Final Frontier
SPOCK: I do not expect you to forgive me.
KIRK: Forgive you?! I oughta knock you on your god damn ass!!
SPOCK: If you think it will help.
McCOY: You want me to hold him Jim?
KIRK: You stay out of this!

RCgothic
Order of Kahless
Order of Kahless
 
Posts: 9553
Joined: 27th Mar 2001
Location: Scotland

Postby RCgothic » Mon Jun 20, 2005 5:03 am

Do you not still have a copy uploaded?
RCgothic

Senior Citizen
Order of Kahless
Order of Kahless
 
Posts: 3143
Joined: 18th Aug 2001
Location: Looking for gold somewhere in Brazil

Postby Senior Citizen » Mon Jun 20, 2005 2:26 pm

Please, don´t quit!!!

We need it!!!

S_C

'Cause I'm free to do what I want any old time (I'm a newcreation)
'Cause I'm free to do what I want any old time
(Don't be afraid of your freedom)
'Cause I'm free to do what I want
To be what I want any old time
I said I'm free to be who I choose
To get my booze any old time



I'm Free

Soup Dragons after The Rolling Stones

Gordon Finlay
Elite Warrior
Elite Warrior
 
Posts: 237
Joined: 14th Nov 2000
Location: San Diego, CA, USA

Postby Gordon Finlay » Mon Jun 20, 2005 10:56 pm

There is still a copy uploaded, and this copy is actually more recent than the source I have on my hard drive.

The good news is that I made an upload right before I did the warp trap, so all the transmissions stuff is there. While I'm going to have to rewrite the entire warp trap code, it shouldn't be as tough this time because I now know HOW to do it.

I won't give up, but its going to take me a few days to get back to where I was before.

Next

Return to Mission Scripting

cron