Hard Light Productions Forums
General FreeSpace => Multiplayer => Blue Planet Multi => Topic started by: bigchunk1 on April 30, 2011, 12:29:14 am
-
Kyad showed me something pretty sweet just a few minutes ago.
(http://i1178.photobucket.com/albums/x380/Brandon_Rehayem/RTSScreen.jpg)
This screenshot was taken from a multiplayer game with one player flying a Ulysses and the other player... being commander of the local fleet... that's right...
As some of you may know, this mod uses Nuke's RTS scripting. What's new about it is Sara got it to work and helped implement it for multiplayer. Imagine playing in a coop, only command is another player in the game. And here's the best part... It actually works. It just needs some more development/polish/implementation.
WIHmulti is looking to take advantage of this script and develop missions for it. Command Serker Team while your allies fly escort. Command fighter wings to cover your allies who are captains of Karuna frigates. The possibilities are pretty astounding, as well as numerous.
So what's the interest level in this endeavor and what would you like to see us do with it?
-
http://www.hard-light.net/forums/index.php?board=218.0
-
Yes that's true. Maybe this thread's title should be 'Another WIH RTS?!'
The main difference is that this version uses FSO, while Matth's project involves the Homeworld 2 engine.
-
At this rate, mods for BP will outstrip and outnumber mods for FS2. :blah:
That said, this looks frickin' sweet!
-
This is a great idea that I'm surprised hasn't been attempted more often in gaming.
I will play the ever-loving **** out of this if it becomes a real thing.
-
To awnser the question, i am very intrested and am already in the process of developing a mission for it
My only problem is this: exactly how big does the hostile fleet need to be knowing a player will be controling everything? Especially one who knows the strengths, weaknesses, and jump-in distances of the ships under their command?
And scotty: this works just as well with the normal mvps as BP, and the original demo mission i made for it used the mvps
-
AardWolf gets the credit for making that. I dug it up a long time ago from someone's signature and decided recently to adjust it a little, removing a hulking interface which covered half the screen and adding proper camera distances. The real fun is, it works in MULTIPLAYER! That's where the fun comes in, as the host running the mod (and the other players not running it) gets godly powers:
* The host can move ships around, friendly ones, or with some editing enemy ones. They jump out and back in at a spot chosen by the host (which he or she picks from overhead view). Essentially like the nano-jumps we saw in Inferno.
* With that, the host can choose to reposition ships to make it more difficult for other players to proceed. For example, what if the SJ Sathanas in High Noon suddenly jumps BEHIND the Colossus half-way? (See picture at bottom of post).
* Totally 'Black&White' style, the host can pick up a player and hurl them across the screen into a fiery death! :yes:
* Only the host can use the RTS module, as for all other players, FS2net/multi constantly reads where the ships are on the player their PC.
* Other players play the game normally and see ships move about (warp effects do not yet show on other players their screens but this can likely be fredded).
Kyad wanted to fiddle with it to make some multi missions on it, so I passed him as well as Battuta and Zacam the code (which is all written in LUA). There should be some multiplayer missions released for it by Kyad eventually. The code either way has a lot of posibilities and I believe it can easily be extended with options such as spawning ships of choice, etc. For a video of how the gameplay actually plays, I recorded this a few days ago. The HUD is a bit silly, but I fixed that in a later version as can be seen in the bottom image. Here, it's played in a BP multi misson (the Pillaging): http://www.youtube.com/watch?v=uN8GDM4pyBU
As last, a cool image of High Noon where I just warped the SJ Sathanas behind the Colossus, the latter firing all it's beam cannons in utter desperation:
(http://img339.imageshack.us/img339/3841/fs2open3613rinf20110417.png)
lvlshot FTW -- The E
-
That was amazing. I continue to be floored by what the SCP is capable of.
(And I want to win High Noon by throwing Player controlled ships into the Sathanas. Bahka space catapult FTW.)
-
I think that this has a lot of potential. Imagine the campaign in which player would start as a fighter pilot, move on to capship command and finally, command a whole fleet. :)
Multiplayer aside, I think that it would be great to have SP missions using these scripts.
-
Sounds like FS2 with a dungeon master.
Will we get the roleplaying version of BP soon? Start out as a Ulysses and eventually grow into a Colossus? :lol:
-
I tend to dub it the Gamemaster Module. :P
-
And for the hat trick we just need a FPS for boarding parties. :lol: Nice work. :yes:
That would be friggin sweet :)
Anybody got experience in FPS modding ?
I've thought about this before, there's gotta be someone out there who's a big Freespace fan and who knows the Source engine or something, surely. Only thing is I'd only trust people from this community to make it as they're the only people who would do the universe justice. Would be so cool to have Hallfight-esque battles.
-
I've been playing with that concept a bit but nothing yet to show. :)
-
[/lurk]
Holy crap, somebody dusted off the RTS mod? Awesome!
Working multiplayer... interesting. Did you come up with a solution for move orders? That was the main roadblock back when Nuke + I were working on it.
[lurk]
-
[/lurk]
Holy crap, somebody dusted off the RTS mod? Awesome!
Working multiplayer... interesting. Did you come up with a solution for move orders? That was the main roadblock back when Nuke + I were working on it.
[lurk]
With all the AI changes of the past years, ships are more or less smart enough to get the big picture of approaching and attacking other capital ships. But direct move orders, no.
-
The way Kyad was moving the ships around was by subspace jumping them. Apparently any given ship can be jumped more than once.
-
Subspace recharges after a certain time. It can be hacked into 1 second though.
-
Wait a minute.... so the host/game master can move around ships and has godly powers?
Isn't that like.... FRED from JAD, only with a real human impersonating FRED instead of scripted events?
On a more serious note: Is it possible to appoint a commander for each team, and not have the host being the only commander? That would make some pretty interresting team vs team missions (reminds me of the game Savage).
-
Sadly, the way it is now... this does not work for TvT :/
-
Only the host can move ships. As the game reads where the ships are for the host. If a client tries it, the server simply acts as if saying "no way, the host has that ship elsewhere" and nothing happens.
-
OK, I think I've came up with a solution to ship movement orders.
Make some way to order them to follow waypoints, then allow player to create (or "teleport" from some offscreen location) and manipulate waypoint patches with one waypoint (perhaps by "slaving" a waypoint position to an untargetable, instant jumpable and invisible ship), which would be deleted (or reset to it's "locked and off screen" status) as soon as the waypoint is reached. This may even work as a FRED-only solution, but I'm unsure of that.
-
OK, I think I've came up with a solution to ship movement orders.
Make some way to order them to follow waypoints, then allow player to create (or "teleport" from some offscreen location) and manipulate waypoint patches with one waypoint (perhaps by "slaving" a waypoint position to an untargetable, instant jumpable and invisible ship), which would be deleted (or reset to it's "locked and off screen" status) as soon as the waypoint is reached. This may even work as a FRED-only solution, but I'm unsure of that.
This is something we've wanted to be able to do for years, but it doesn't work.
-
What is the problem? Ordering a ship to follow waypoints, or tying a waypoint to a ship?
On the other hand, it'd make sense if the admiral isn't controlling every move of ships under his command, instead giving general orders (such as "attack this", "protect this", etc.) and giving coordinates to jump into the battle. If we only could get capship AI to be a bit smarter (I'd like to see them do things such as circle-strafing, like slide-equipped fighters do).
-
Waypoints can be moved, but the AI does not update its knowledge of their position.
-
You know, from a programming standpoint, that reminds me of when I was making my automatic terrain generator... I needed to make a vector array, NOT just a simple array! I wonder if (by whatever means data is parsed to initial ship orders) it's just a raw numeric value that's being fed to the given ship. That would explain why the ship cannot be manipulated dynamically. Of course, I can't be the first one to think of that.
-
You know, from a programming standpoint, that reminds me of when I was making my automatic terrain generator... I needed to make a vector array, NOT just a simple array! I wonder if (by whatever means data is parsed to initial ship orders) it's just a raw numeric value that's being fed to the given ship. That would explain why the ship cannot be manipulated dynamically. Of course, I can't be the first one to think of that.
Take a look in waypoint.cpp, have fun.
-
The bigger problem is that the Game-master (as i am becoming inclined to call it too) while able to tell fighters/bombers what to do (attack/disable ect) cap ships have all of 2 commands: Attack and Depart
This seriously limits the GM's capability to do much in the way of usefulness, though it does take all AI control off the player's shoulders
The ability to left click on a ship, and have that ship be made your actual target (like H and T do, but more akin to the "target in front of" command) while click and drag do the normal "rts" style target, making it much easier for the GM to do the AI controlling instead of being forced to cycle through all of them would be useful, but i guess setting targets to your escort menu will work for now.
AI commands being placed on that convenient yet unused command bar that only currently supports that "micro-jump" symbol would be very cool as well
-
You know, from a programming standpoint, that reminds me of when I was making my automatic terrain generator... I needed to make a vector array, NOT just a simple array! I wonder if (by whatever means data is parsed to initial ship orders) it's just a raw numeric value that's being fed to the given ship. That would explain why the ship cannot be manipulated dynamically. Of course, I can't be the first one to think of that.
Take a look in waypoint.cpp, have fun.
...Maybe later...
:shaking:
However, I WOULD guess that as waypoints were never designed to move in the beginning, and thus the data would be compiled for a given mission in FRED after saving the file. This data then gets associated with a ship, and when it does, it is NOT dynamic. Thus, moving a point in-mission does nothing, as the new data cannot link to the target ship or ships.
Master of the Obvious, signing out.
-
You could give more possible menu commands to warships by modifying the objecttypes.tbl (and thus the AI behaviour).
Capship AI would have to be overhauled to exploit the full potential of an RTS interface.
Also, I wonder if a ship can't be used as a "waypoint" (and a capship ordered to follow it by an order). That would simplify things, but could cause problems with AI.
-
You know, from a programming standpoint, that reminds me of when I was making my automatic terrain generator... I needed to make a vector array, NOT just a simple array! I wonder if (by whatever means data is parsed to initial ship orders) it's just a raw numeric value that's being fed to the given ship. That would explain why the ship cannot be manipulated dynamically. Of course, I can't be the first one to think of that.
Take a look in waypoint.cpp, have fun.
...Maybe later...
:shaking:
However, I WOULD guess that as waypoints were never designed to move in the beginning, and thus the data would be compiled for a given mission in FRED after saving the file. This data then gets associated with a ship, and when it does, it is NOT dynamic. Thus, moving a point in-mission does nothing, as the new data cannot link to the target ship or ships.
Master of the Obvious, signing out.
This would be a great hypothesis except that dynamic waypoints did apparently work at some point in the past. It might be how things are now though.
-
You know, from a programming standpoint, that reminds me of when I was making my automatic terrain generator... I needed to make a vector array, NOT just a simple array! I wonder if (by whatever means data is parsed to initial ship orders) it's just a raw numeric value that's being fed to the given ship. That would explain why the ship cannot be manipulated dynamically. Of course, I can't be the first one to think of that.
I have ALWAYS wondered about dynamic waypoints. I always figured they were pretty much impossible to implement. Are you saying that it is even remotely possible? AKA, having new waypoints be created in real time during gameplay...
Take a look in waypoint.cpp, have fun.
...Maybe later...
:shaking:
However, I WOULD guess that as waypoints were never designed to move in the beginning, and thus the data would be compiled for a given mission in FRED after saving the file. This data then gets associated with a ship, and when it does, it is NOT dynamic. Thus, moving a point in-mission does nothing, as the new data cannot link to the target ship or ships.
Master of the Obvious, signing out.
This would be a great hypothesis except that dynamic waypoints did apparently work at some point in the past. It might be how things are now though.
I have ALWAYS wondered about dynamic waypoints. I always figured they were pretty much impossible to implement. Are you saying that it is even remotely possible? AKA, having new waypoints be created in real time during gameplay that correlate to real time data, such as ship locations, or in the terms of this potential RTS, anywhere the player clicks?
-
At the moment, no, it is not.
Technically though, it should be possible to code it. (NOTE: This is NOT on my todo list, not even near it. I have other things to do for FSO first).
-
You know, from a programming standpoint, that reminds me of when I was making my automatic terrain generator... I needed to make a vector array, NOT just a simple array! I wonder if (by whatever means data is parsed to initial ship orders) it's just a raw numeric value that's being fed to the given ship. That would explain why the ship cannot be manipulated dynamically. Of course, I can't be the first one to think of that.
I have ALWAYS wondered about dynamic waypoints. I always figured they were pretty much impossible to implement. Are you saying that it is even remotely possible? AKA, having new waypoints be created in real time during gameplay...
Take a look in waypoint.cpp, have fun.
...Maybe later...
:shaking:
However, I WOULD guess that as waypoints were never designed to move in the beginning, and thus the data would be compiled for a given mission in FRED after saving the file. This data then gets associated with a ship, and when it does, it is NOT dynamic. Thus, moving a point in-mission does nothing, as the new data cannot link to the target ship or ships.
Master of the Obvious, signing out.
This would be a great hypothesis except that dynamic waypoints did apparently work at some point in the past. It might be how things are now though.
I have ALWAYS wondered about dynamic waypoints. I always figured they were pretty much impossible to implement. Are you saying that it is even remotely possible? AKA, having new waypoints be created in real time during gameplay that correlate to real time data, such as ship locations, or in the terms of this potential RTS, anywhere the player clicks?
Created, no, moved, hopefully.
-
Go wing-nut!
-
kinda spit off from the other thread as that started going into fps territory, but how hard would it be to make a special hud tbm for the RTS mod to use only some parts, specificly:
time
escort
directives
messages
target
would make it much easier as it would no longer be required to go through a few dozen clicks in hud options to get it all right
-
It shouldn't be hard at all. Just delete the entries in the tbm that aren't needed. It'd be easier for me to figure out if I have a simple diagram of what you want.
-
something like this, (pardon the horrible quality), rts control/map are in the script already. perhaps later i'll look into moveing things around to look nice, but for now this is all i need
[attachment deleted by ninja]
-
#Gauge Config
$Base: (1440, 900)
$Required Aspect: Wide Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720) ; These Min and Max fields are Inclusive
$Max: (1920, 1080)
$Gauges:
+Messages:
Position: (7, 6)
+Training Messages:
Position: (533, 146)
+Multiplayer Messages:
Position: (11, 281)
+Wingman Status:
Position: (1311, 169)
+Talking Head:
Position: (7, 66)
+Directives:
Position: (7, 326)
+Objective Notify:
Position: (613, 216)
+Squad Message:
Position: (1163, 6)
+Escort View:
Position: (1238, 326)
+Target Monitor:
Position: (7, 691)
+Extra Target Data:
Position: (7, 647)
+Text Warnings:
Position: (720, 322)
+Threat Indicator:
Position: (847, 317)
+Voice Status:
position: (7, 193)
+Ping:
Position: (1260, 6)
+Lag:
Position: (881, 620)
+Offscreen Indicator:
+Orientation Tee:
Position: (720, 450)
$End Gauges
#End
See if this works.
-
while i lose the main reticle, everything else seems to stay in place
-
Derp. I missed an important flag.
$Load Retail Configuration: No
#Gauge Config
$Base: (1440, 900)
$Required Aspect: Wide Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720) ; These Min and Max fields are Inclusive
$Max: (1920, 1080)
$Gauges:
+Messages:
Position: (7, 6)
+Training Messages:
Position: (533, 146)
+Multiplayer Messages:
Position: (11, 281)
+Support:
Position: (645, 625)
+Wingman Status:
Position: (1311, 169)
+Talking Head:
Position: (7, 66)
+Directives:
Position: (7, 326)
+Objective Notify:
Position: (613, 216)
+Squad Message:
Position: (1163, 6)
+Escort View:
Position: (1238, 326)
+Target Monitor:
Position: (7, 691)
+Extra Target Data:
Position: (7, 647)
+Text Warnings:
Position: (720, 322)
+Center Reticle:
Position: (700, 438)
+Mini Target Shields:
Position: (705, 552)
+Threat Indicator:
Position: (847, 317)
+Voice Status:
position: (7, 193)
+Ping:
Position: (1260, 6)
+Lag:
Position: (881, 620)
+Supernova:
Position: (239, 199)
+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lead Indicator:
+Lock Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (720, 450)
+Target Triangle:
Position: (720, 450)
+Orientation Tee:
Position: (720, 450)
+Mission Time:
Position: (1363, 839)
$End Gauges
#End
Guaranteed to work for the resolution stated.
-
and so it does, much thanks :yes:
now for the actual modiication: for the important info to be collected on one side of the screen. since he rts stuff lean to the left i think it would look nicer over there
something like these, perhaps:
[attachment deleted by ninja]
-
$Load Retail Configuration: No
#Gauge Config
$Base: (1440, 900)
$Required Aspect: Wide Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720) ; These Min and Max fields are Inclusive
$Max: (1920, 1080)
$Gauges:
+Messages:
Position: (7, 6)
+Training Messages:
Position: (533, 146)
+Multiplayer Messages:
Position: (11, 281)
+Support:
Position: (645, 625)
+Wingman Status:
Position: (732, 700)
+Talking Head:
Position: (7, 66)
+Directives:
Position: (7, 805)
+Objective Notify:
Position: (613, 216)
+Squad Message:
Position: (7, 691)
+Escort View:
Position: (7, 720)
+Target Monitor:
Position: (940, 700)
+Extra Target Data:
Position: (940, 744)
+Text Warnings:
Position: (720, 322)
+Mini Target Shields:
Position: (705, 552)
+Voice Status:
position: (7, 193)
+Ping:
Position: (1260, 6)
+Lag:
Position: (881, 620)
+Supernova:
Position: (239, 199)
+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lead Indicator:
+Lock Indicator:
+Hostile Triangle:
Position: (720, 450)
+Target Triangle:
Position: (720, 450)
+Orientation Tee:
Position: (720, 450)
+Mission Time:
Position: (1363, 839)
$End Gauges
#End
Option 2
-
and it works, thanks SypheDMar.
behold the new RTS Hud!
(http://img228.imageshack.us/img228/4215/screen0110.png)
-
Ya know when you have a dream that you know will never happen? RTS features in Freespace was one of mine! :cool: Looking forward to seeing where you go with this guys; amazing so far.
Feel maybe the grid is a bit too bright (perhaps drop the alpha?) but that's just my personal pref there.
-
Ya know when you have a dream that you know will never happen? RTS features in Freespace was one of mine! :cool: Looking forward to seeing where you go with this guys; amazing so far.
Feel maybe the grid is a bit too bright (perhaps drop the alpha?) but that's just my personal pref there.
I'm glad you like it. :) As far as the grid goes, I think I'll have to wait for someone with more knowledge in lua. Nuke and Aardwolf got the original script done. I wish Aardwolf came back to IRC and stayed, but he lurks occasionally, so that's alright. Sara got the thing working for BP2 multi, so she should be able to fix it. If documentation for the script ever comes, I'll make sure that changing grid colors is easy to follow. ;)
EDIT: Just checked. The grid's brightness can easily be changed if you know some basic photo editing skills. However, after looking at the grid in-game (again) myself, I realized that the grid isn't as bright as Kyad's screen shows. It also has to do with the lighting settings. If you ever need help getting a darker version, though, I'll be here to help.
POST EDIT: New HUD tbm removes remnant floating Gauges and positions the Squad Message to somewhere less distracting/more visible.
$Load Retail Configuration: No
#Gauge Config
$Base: (1440, 900)
$Required Aspect: Wide Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720) ; These Min and Max fields are Inclusive
$Max: (1920, 1080)
$Gauges:
+Messages:
Position: (7, 6)
+Training Messages:
Position: (533, 146)
+Multiplayer Messages:
Position: (11, 281)
+Support:
Position: (645, 625)
+Wingman Status:
Position: (732, 700)
+Talking Head:
Position: (7, 66)
+Directives:
Position: (7, 805)
+Objective Notify:
Position: (613, 216)
+Squad Message:
Position: (156, 691)
+Escort View:
Position: (7, 720)
+Target Monitor:
Position: (940, 700)
+Extra Target Data:
Position: (940, 744)
+Voice Status:
position: (7, 193)
+Ping:
Position: (1260, 6)
+Lag:
Position: (881, 620)
+Supernova:
Position: (239, 199)
+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Mission Time:
Position: (1363, 839)
$End Gauges
#End
-
Ya know when you have a dream that you know will never happen? RTS features in Freespace was one of mine! :cool:
You are not alone here. I think a lot of people thought about it without being able to create a viable interface until now.
-
[/lurk]
I notice you're not using the #hero ship names feature...
FYI: you can add #hero to the end of a ship's name to make the name show up in addition to the class.
[lurk]
-
[/lurk]
I notice you're not using the #hero ship names feature...
FYI: you can add #hero to the end of a ship's name to make the name show up in addition to the class.
[lurk]
Ooh, I'll bet there's a lot we can learn from you. You happen to have any old documentation lying around or old threads we ought to be looking at?