[Project] Insight
Huze
Insightful Join Date: 2003-11-12 Member: 22724Members, NS1 Playtester, NS2 Playtester, Squad Five Blue, Reinforced - Shadow
<div class="IPBDescription">Spectator Mod</div><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo-->Insight Spectator Mod<!--sizec--></span><!--/sizec-->
Insight is an enhanced spectator mod created by myself and <a href="http://www.unknownworlds.com/ns2/forums/index.php?showuser=130634" target="_blank">Dghelneshi</a>
Insight provides additional information to spectators for more informative live casting.
This mod requires the server and ALL clients on it to have it installed in order to be able to play!
Feedback always welcome! For more information check out our modding forum thread and readme.
<u>Links</u>
<a href="http://www.duplexgaming.co.uk/downloads/mods/89/insight/" target="_blank">Download</a>
<a href="http://ns2comp.herokuapp.com/insight" target="_blank">Installation Instructions</a> (With Pictures)
<a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=117794" target="_blank">Modding Forums Thread</a>
<a href="https://github.com/jhughes/insight/issues?state=open" target="_blank">Issue Tracker</a> - See what we're working on
Insight is an enhanced spectator mod created by myself and <a href="http://www.unknownworlds.com/ns2/forums/index.php?showuser=130634" target="_blank">Dghelneshi</a>
Insight provides additional information to spectators for more informative live casting.
This mod requires the server and ALL clients on it to have it installed in order to be able to play!
Feedback always welcome! For more information check out our modding forum thread and readme.
<u>Links</u>
<a href="http://www.duplexgaming.co.uk/downloads/mods/89/insight/" target="_blank">Download</a>
<a href="http://ns2comp.herokuapp.com/insight" target="_blank">Installation Instructions</a> (With Pictures)
<a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=117794" target="_blank">Modding Forums Thread</a>
<a href="https://github.com/jhughes/insight/issues?state=open" target="_blank">Issue Tracker</a> - See what we're working on
Comments
New features include:
- Update for b206
- Revamped player and tech point frames
- Player and tech point frames shown in freelook mode
- Health bars on players
- Improved map clarity
- Map is now only toggled between big and small mode, you can now hide the map with the '3' key
- Lost upgrades/evolutions shown darker
- Hive type and maturity on tech point frames
- Marine/Alien win splash screen
- Recycling is now tracked for buildings/resources lost
Sorry if this is already in, but I think it would be awesome if clicking player names would move the camera to that player. The same idea could also work with research icons moving the camera to the structure that researched it.
<!--quoteo(post=1931072:date=Apr 28 2012, 03:11 PM:name=ZramuliZ)--><div class='quotetop'>QUOTE (ZramuliZ @ Apr 28 2012, 03:11 PM) <a href="index.php?act=findpost&pid=1931072"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Sorry if this is already in, but I think it would be awesome if clicking player names would move the camera to that player. The same idea could also work with research icons moving the camera to the structure that researched it.<!--QuoteEnd--></div><!--QuoteEEnd-->
We couldn't get it out for this version, sorry. It was a lot harder than expected.
<a href="http://ns2comp.herokuapp.com/insight" target="_blank">Check it out if you're having problems installing.</a>
If you can a write up on how to put it on a server also would be great.
<!--quoteo(post=1931811:date=Apr 30 2012, 09:15 AM:name=JuCCi-PuCCi)--><div class='quotetop'>QUOTE (JuCCi-PuCCi @ Apr 30 2012, 09:15 AM) <a href="index.php?act=findpost&pid=1931811"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Thank you very much for this^
If you can a write up on how to put it on a server also would be great.<!--QuoteEnd--></div><!--QuoteEEnd-->
<strike>Good idea! I'll make sure to do this.</strike>
<a href="http://ns2comp.herokuapp.com/insight/server" target="_blank">It is done.</a> Let me know if anything is unclear.
- Make zooming like in supreme commander. Seamless zoom using mouse wheel. At higher zoom levels, overlay icons in structures/players (<a href="http://www.youtube.com/watch?v=T4ZJzOEOLnE" target="_blank">supcom example</a>). Maybe even abandon minimap completely, depending how well this would work.
- indicate players being hurt. Something simple as: If player takes damage in the last second, tint or flash his skycam-icon red or something. Makes it easier to spot dying fades etc
Not sure how feasable / useful these features would be, just crossed my mind.
Also: Any plans to integrate this into the game? It should be! This is one of the hottest and professional looking features of the game IMHO. It can easily compete with current spectator modes for League of Legends of Tribes Ascend. Integrate it, and release another showcase Video in the UWE youtube channel - Skycam got one, then this should definately get one.
You might want to check out the notifications (such as "marine needs medpack") code to see how they do it, although I dont know if a spectator have access to that kind of data, seeing as spark likes to limit what the client knows :(
- Make zooming like in supreme commander. Seamless zoom using mouse wheel. At higher zoom levels, overlay icons in structures/players (<a href="http://www.youtube.com/watch?v=T4ZJzOEOLnE" target="_blank">supcom example</a>). Maybe even abandon minimap completely, depending how well this would work.<!--QuoteEnd--></div><!--QuoteEEnd-->
We both tried getting mouse wheel zooming to work, but failed miserably. NS2 does strange things to input. We actually had it jitter up and down a bit, but the server would reset the zoom on every tick. :/
As for icons at high zoom levels: It might be too much work (and too much server/client stress) to be worth the hassle, as the normal map is usually enough. Both entities and the level itself have maximum draw distances and entities beyond their maximum distance also don't give any updates to the player. Changing that will reduce performance, maybe even significantly so, depending on the implementation.
<!--quoteo(post=1932540:date=May 2 2012, 11:00 AM:name=wey)--><div class='quotetop'>QUOTE (wey @ May 2 2012, 11:00 AM) <a href="index.php?act=findpost&pid=1932540"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->- indicate players being hurt. Something simple as: If player takes damage in the last second, tint or flash his skycam-icon red or something. Makes it easier to spot dying fades etc<!--QuoteEnd--></div><!--QuoteEEnd-->
Not completely sure I like too many flashy things on the UI, but it could work.
Personally, I think the health bars on the players in Skycam mode are by far the best way to follow combat situations. I'm not sure whether we should also try to implement them into freelook mode. It could look a bit cluttered and ugly.
<!--quoteo(post=1932540:date=May 2 2012, 11:00 AM:name=wey)--><div class='quotetop'>QUOTE (wey @ May 2 2012, 11:00 AM) <a href="index.php?act=findpost&pid=1932540"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Also: Any plans to integrate this into the game? It should be! This is one of the hottest and professional looking features of the game IMHO. It can easily compete with current spectator modes for League of Legends of Tribes Ascend. Integrate it, and release another showcase Video in the UWE youtube channel - Skycam got one, then this should definately get one.<!--QuoteEnd--></div><!--QuoteEEnd-->
Thanks for the praise, but the code behind it is rather ugly; especially mine, since I pretty much learned programming as I developed this mod (and I still do). I'm aiming for a partial rewrite in the near future, which will also enable a whole new palette of features.
<!--quoteo(post=1932585:date=May 2 2012, 03:38 PM:name=Feha)--><div class='quotetop'>QUOTE (Feha @ May 2 2012, 03:38 PM) <a href="index.php?act=findpost&pid=1932585"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Not sure if you solved the clicking on names to move camera thing, but I once messed around in notifications, and noticed uwe has already made code in this regard.
You might want to check out the notifications (such as "marine needs medpack") code to see how they do it, although I dont know if a spectator have access to that kind of data, seeing as spark likes to limit what the client knows :(<!--QuoteEnd--></div><!--QuoteEEnd-->
Not sure what Huze has tried, but I wanted to take another look. It is certainly possible to mimic the commander behaviour, it's just that we need a player's position to teleport to him, which he doesn't provide us with, unless he is actually in range/on screen (optimization).
By the way, you can follow us and see what is planned/solved on GitHub: <a href="https://github.com/jhughes/insight/issues?state=open" target="_blank">Git Issues Tracker</a>.
My idea behind the damage indicator was: As long as we don't have day9-level casters all over NS2, such a indicator could help the casters as well as the stream viewers to see when something important (i.e. fade/onos going down) is happening. Maybe something conservative like: Only for lerk, fade, onos, and only if health is below 60% and the damage is significant: tint the player indicator a bit red while damage is happening. But it's fine without, just an idea.
Also I saw on github you're thinking about stripping clantags. That might be difficult and not the best idea. Not only are clantags vastly different and not always in linear form (remember HAM from ns1?). But also there are ringers, some people like to make slight modifications to their tag etc.
Yeah, though all tags I've seen yet are pretty much standard. We're just trying to facilitate casting by making the "XXX vs YYY" overlay unnecessary/automatic and in the same go allow for longer names on the player frames.
We could easily count and find similar characters in player names.
Lets say clan ABC uses clan tags like this:
"[ABC] aaaa"
"[ |ABC-T] bbb"
"[ABC>ccc"
"randomringer"
At first we should replace special characters like {|(-+. with spaces:
" ABC aaaa"
" ABC T bbb"
" ABC ccc"
"randomringer"
After that we could strip spaces at the beginning of the string:
"ABC aaaa"
"ABC T bbb"
"ABC ccc"
"randomringer"
Now we can find the clan name by picking dominant characters:
3xA > 1xr => A
3xB > 1xa => B
3xC > 1xn => C
3x' ' > 1xd => lets stop here
This would work for most of the clans tags i have seen so far. If we add a few extensions to this algorithm, it could also work for names like "A-B-C] dddd" or "dddd ABC" or maybe even "ddd ABC ddd".
edit: <strike>The only problem is that coding stuff like this in lua is most probably a pain in the *** (it would be relatively easy in c/c++)...</strike>
I'll be finishing up a major release for Insight this week. I'll be streaming live on my <a href="http://www.twitch.tv/huze1/" target="_blank">twitch tv</a> channel during the evenings. Follow me if you want to see the new stuff and make suggestions.
After this patch I'll be taking a break from working on Insight for a couple weeks.