Create an account


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Chat / taunt HUD portraits (need help from other coders!)

#1
I've been planning to add this feature for some time. I looked into it yesterday, and it seems to be something I won't be able to do alone. So I'm asking any coder that would like this feature for help in creating it.

The idea is adding HUD chat portraits similar to those in UT. Which means that when someone taunts / autotaunts or uses the main chat, all players will see a picture of their character on the HUD for a brief amount of time. Only one portrait is shown at a time, representing the last player who spoke. Here is a screenshot from UT2k4 showing how it's done there (see the center-left area of the screen). I even did an ugly mockup of how it would look like in Xonotic.

My idea was using the existing character preview images from the character selection screen. Someone proposed we allow custom avatars instead, which IMO wouldn't be the best idea (maybe we can implement that too but as a separate feature, since this is meant to show the in-game character who spoke). The best idea on my mind however, is drawing the very 3D model on the HUD. Which is possible, since CSQC can render models (used for gibs and other stuff).

The idea of showing the animated player on the HUD sounds pretty awesome to me, and much more suitable for a video transmission. When triggered by someone chatting, the model can be shown in the idle animation, while triggering it by taunt can show it in the taunt animation dancing around (all player models have it, but it's not used IIRC). The player can even hold the weapon he fragged or chatted with. IMO this would be more awesome than just an image, and it's a feature I really hope can be made into reality Smile

But of course, such wouldn't be easy to do. So onto the technical part: There would certainly need to be some server - client networking involved, since the server needs to specify which player we are displaying. This could be achieved in two ways I can think of:

Either send all the values as stats or WriteBytes to the client (which would take more bandwitch and would be a bad idea as divVerent mentioned), or use the same system the scoreboard does to show each player's name and colors. This involves just sending the entity number to the client, and the client obtaining the properties for that player. Player name and shirt / glow are already obtained that way by the scoreboard, but the player model and skin need to as well.

The portrait itself should be a HUD panel of its own I think, since that gives more freedom to configure it. Drawing a 3D model on the HUD can use a simple method. The model's rotation would be opposite the player's rotation, and its origin would be a short distance away from the player in the direction he is looking. This will cause the client-side model to move with the player as he looks around and walks, giving the feel of being on the HUD. A 'no culling' drawflag should keep the model from being hidden by walls if you look too closely at them.

I'm planning to try starting the implementation of this myself. But given it's quite a complex feature, I'm not sure how far I can get without help. Specifically on obtaining the player model and skin using player entnums, as well as making the model appear as part of the HUD (and be movable with its HUD panel). We might also need FruitieX's help on the HUD part, since this involves making a new panel.

So if any coders fancy this feature and have time to help, please post here so we can think of something! Hope we can make this feature happen Tongue
Reply

#2
To be honest, I'd not use this feature. People's names are enough for me to see it, and I think we have already a lot in the HUD anyway. But that's just me Smile
I'm making Liblast - a FOSS online FPS game made with Godot 4 and a 100% open-source toolchain
Reply

#3
(03-24-2011, 12:20 PM)unfa Wrote: To be honest, I'd not use this feature. People's names are enough for me to see it, and I think we have already a lot in the HUD anyway. But that's just me Smile

Same for me.
Reply

#4
this feature would be a great edition to and campaign gameplay. Instead a separate animation, wouldn't it be better to have a camera that follows the player. It could be set so it follows the player on a slight angle and shows from the chest and above. much like this Smile Tongue

http://www.youtube.com/watch?v=IFYGx1KgK...re=related
There's nothing better than getting off you butt and contributing to a community. There is no excuse when it comes to computers. Spend a little of you playing time, giving back Smile
Reply

#5
(03-24-2011, 07:07 PM)Cuinnton Wrote: this feature would be a great edition to and campaign gameplay. Instead a separate animation, wouldn't it be better to have a camera that follows the player. It could be set so it follows the player on a slight angle and shows from the chest and above. much like this Smile Tongue

http://www.youtube.com/watch?v=IFYGx1KgK...re=related

THIS

As good as Unreal Tournament and Unreal Tournament 2004 (UT2k4 especially) did this, a chase cam would look better.
ECKZBAWKZ HUGE LIST OF ACHIEVEMENTS GOES HERE....


Oh wait.
Reply

#6
Face chase?

I like that. Would be much more usefull than static portraits. That could also tell ya, where is the player saying stuff, and who is kicking his @$$.

On the other hand... it could eat up a lot of GPU resources.

So a nice little switch somewhere is mandatory! Wink
I'm making Liblast - a FOSS online FPS game made with Godot 4 and a 100% open-source toolchain
Reply

#7
We could have a 'all spectate', where there is a follow camera for every person (divided into windows).
Reply

#8
(03-24-2011, 07:07 PM)Cuinnton Wrote: this feature would be a great edition to and campaign gameplay. Instead a separate animation, wouldn't it be better to have a camera that follows the player. It could be set so it follows the player on a slight angle and shows from the chest and above. much like this Smile Tongue

http://www.youtube.com/watch?v=IFYGx1KgK...re=related

That would be nice, but likely not possible... and would heavily affect performance if it was. It would require the client to render a warpzone from a fake camera following the shown player. Can't think of any way that could be done in, and it would create a second render which would be much slower (would also require players to have reflections enabled).
Reply

#9
[Image: xfs6driy66jnwvo4jm04_thumb.jpg]

Another horrible mockup Tongue (of what live would look like).
Reply

#10
Not so horrible, nowego4 Smile

I got a totally different idea.

Maybe there could be a compass showing where is the person saying, also an animated icon above the one chatting (with his message) could appear. Or only the messages above heads. That's what only Fallout had, even though it seems so natural.

I always felt that those portraits in UT2k4 were pure plastic and useless Wink No offence! Big Grin
I'm making Liblast - a FOSS online FPS game made with Godot 4 and a 100% open-source toolchain
Reply

#11
Quote:That would be nice, but likely not possible... and would heavily affect performance if it was. It would require the client to render a warpzone from a fake camera following the shown player. Can't think of any way that could be done in, and it would create a second render which would be much slower (would also require players to have reflections enabled).

yeh thought it wouldn't be possible without effecting performance. hmm even if it was just a black background around the player model. so none of the 2nd camera area is rendered?

either way i would also +1 on a typing icon over a players head on the map, rather than a chatting box. Smile
There's nothing better than getting off you butt and contributing to a community. There is no excuse when it comes to computers. Spend a little of you playing time, giving back Smile
Reply

#12
It wouldn't be much if it's a small square, and we could disable some shaders for the preview. Plus, your dead, it's not like you need the FPS anyways...
Reply

#13
(03-25-2011, 05:23 PM)unfa Wrote: Not so horrible, nowego4 Smile

I got a totally different idea.

Maybe there could be a compass showing where is the person saying, also an animated icon above the one chatting (with his message) could appear. Or only the messages above heads. That's what only Fallout had, even though it seems so natural.

I always felt that those portraits in UT2k4 were pure plastic and useless Wink No offence! Big Grin

Now that I think about it, UT99 probably did it better because the portraits were too small for you to see every detail in there face when static covered it, so much so that when I first played the game I thought I was looking at an animated face each time a bot took me down.
ECKZBAWKZ HUGE LIST OF ACHIEVEMENTS GOES HERE....


Oh wait.
Reply



Possibly Related Threads…
Thread Author Replies Views Last Post
  Hello guys! I need Xonotic Debian repository, not snap SerW 4 709 11-11-2023, 08:31 PM
Last Post: cushinga
  Speech to text, or almost voice chat oblector 0 920 06-30-2022, 06:29 PM
Last Post: oblector
Heart Paid work to help demo an integration into Xonotic stuart 9 6,250 02-04-2020, 09:23 AM
Last Post: stuart
  Help with Client for Machine Learning QuakingInFearOfQuakeC 1 2,560 04-17-2019, 05:51 PM
Last Post: BuddyFriendGuy
  Xonotic Git Help Molnija 4 5,133 01-20-2019, 11:38 PM
Last Post: Molnija
  Chat color question Molnija 0 2,331 11-14-2018, 02:26 AM
Last Post: Molnija
  Notify hud Molnija 0 3,324 10-14-2018, 06:13 PM
Last Post: Molnija
  Remove color font from scoreboard and drag notify, but not chat Molnija 6 5,127 09-14-2018, 10:28 PM
Last Post: Molnija
  Weapon models WIP help. Beagle 1 3,490 05-17-2015, 06:52 PM
Last Post: Beagle
  Getting Position of Other Players/Bots Client-Side ehrenbrav 7 8,582 05-10-2015, 12:42 PM
Last Post: ehrenbrav

Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-