Source Feature Requests: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
 
(146 intermediate revisions by 41 users not shown)
Line 1: Line 1:
{{deprecated|This page is no longer used, Visit the [https://github.com/ValveSoftware/Source-1-Games/issues GitHub repository for Source games] where bugs and features requests can be submitted. Please submit new feature requests there instead.}}
This page is about things happening in-game.
This page is about things happening in-game.


Line 5: Line 7:
For things happening while using the Hammer editor, see [[Source_SDK_Bugs/Hammer_bugs|Hammer bugs]] and [[Hammer Feature Requests]].
For things happening while using the Hammer editor, see [[Source_SDK_Bugs/Hammer_bugs|Hammer bugs]] and [[Hammer Feature Requests]].


<!--{{cleanup|trim the page as problematic}} TBH I dont see why this is needed so I am just going to hide it-->
==Animation/Physics==
===Dynamic Reactions===
NPCs should be able to be hit by an object and that object will move the ragdoll, but the NPC will react and reposition itself.
For example, if you were to throw an object at an NPC's head, currently the object just bounces off and the NPC doesn't react. What should happen is that the NPC's head moves and the NPC reacts to return their head to its original or ideal position.


If you think something is not intended to function like it does, post it in the [[Source_Feature_Requests_and_Bug_Reports#Bug_Reports|Bug Reports]] section.
This would also help add realism to combat. For example, if you were to shoot a combine soldier in the knee, it should make the knee move, maybe even knocking the soldier over. The solder will try to get back up, and if it succeeds, it should be limping if the knee is damaged enough.


If you think something is intended to function like it does, but you are still not satisfied with it, post it in the [[Source_Feature_Requests_and_Bug_Reports#Feature_Requests|Feature Requests]] section.
Valve is planning to add more physics-based animation to their engine, and this would be an excellent addition.


:If I'm not mistaken, Valve has implemented physics-based animations starting from Left 4 Dead's Source engine. --[[User:Prof. Orribilus|Prof. Orribilus]] 05:16, 25 September 2012 (PDT)


=Feature Requests=
===Dynamic Player===
In this the player entity would be more interactive with it's environment.
Example:
When an explosion in near the player the player is ragdolled(somewhat) and pushed away.This including first-person views.


==General==
==General==
Line 32: Line 45:
::Lovely&mdash;'''[[User:Ts2do|ts2do]]''' 12:37, 7 Jun 2006 (PDT)
::Lovely&mdash;'''[[User:Ts2do|ts2do]]''' 12:37, 7 Jun 2006 (PDT)


:::Ah finnaly thats gonna add a little amount though to the overall performance.--[[User:MrTwoVideoCards|Gear]] 04:57, 31 Oct 2006 (PST)
:::Ah finally thats gonna add a little amount though to the overall performance.--[[User:MrTwoVideoCards|Gear]] 04:57, 31 Oct 2006 (PST)


'''Addition''' Allow your own '''player shadow''' to be visible to you. At the moment you cannot see where the shadow is cast, however your enemy can in multiplayer games- big advantage in some cases.
'''Addition''' Allow your own '''player shadow''' to be visible to you. At the moment you cannot see where the shadow is cast, however your enemy can in multiplayer games- big advantage in some cases.
* A console command for the dynamic shadow draw distance.


===Parallax===
===Parallax===
Line 41: Line 56:
===Mirrors===
===Mirrors===
The ability to make materials that reflect the world, instead of using cubemap reflection. Exactly like water.
The ability to make materials that reflect the world, instead of using cubemap reflection. Exactly like water.
:It's been added to Source 2007 Engine. Check glass/ folder in Source Shared 2007. --[[User:Frostbite|JakeB]] 15:30, 18 Jun 2008 (PDT)
:: Very limited uses though. This needs to be improved on, along with water tech --[[User:Welsh Mullet|Welsh Mullet]] 13:47, 16 June 2010 (UTC)


===More Skybox control===
===More Skybox control===
The ability to change the settings of a [[3D Skybox]] (namely its texture) would be benificial. I'm unsure of the best way to achive this. Changing the '''sv_skyname''' in the console does not actually change the sky texture even after trying mat_reloadtextures or mat_reloadmaterial.
The ability to change the settings of a [[3D Skybox]] (namely its texture) would be beneficial. I'm unsure of the best way to achieve this. Changing the '''sv_skyname''' in the console does not actually change the sky texture even after trying mat_reloadtextures or mat_reloadmaterial. It does however change the sky texture after reconnecting, if you are playing on an online server.
 
An alternative to changing the sv_skyname would be to edit the '''skyname''' keyvalue of the worldspawn entity.
 
===OpenGL renderer===
Adding an OpenGL renderer would be a good idea, like Half-Life had.
 
'''Addition:''' As a comment to both this and the Linux porting suggestion, adding OpenGL support would greatly benefit Linux WINE users even if there is not official port of Source for Linux. OpenGL translates far easier then DirectX under WINE.
 
:: Done in Mac engine update? --[[User:Welsh Mullet|Welsh Mullet]] 13:49, 16 June 2010 (UTC)
 
::: Currently, OpenGL is in the Mac version only. Windows version is still limited to DirectX. --[[User:Barracuda|Barracuda]] 19:03, 16 June 2010 (UTC)
 
:::: Thought it was the same engine... Can you download the mac version on linux? --[[User:Welsh Mullet|Welsh Mullet]] 20:54, 16 June 2010 (UTC)
 
===Dynamic cubemaps===
Dynamic cubemaps should be added to the engine, with at least 1 cubemap always "following" the player, so that the reflections on view models and stuff around the player would have more realistic reflections. To get an idea of what I mean, try watching this video, it explains a problem with static cubemaps (note: the video is NOT mine) [http://www.youtube.com/watch?v=C6Zawe7e9BE&feature=related]


==Hammer==
==Hammer==
===Camera Views===
===Camera Views===
*A possible newer camera view to show how far a light entity will cast it's light as well as the shadows it will create. Also the camera view can be special, it can be toggled like others and even show other events within the map and maybe incorrectly placed entitys and possible errors.
*A possible newer camera view to show how far a light entity will cast it's light as well as the shadows it will create. Also the camera view can be special, it can be toggled like others and even show other events within the map and maybe incorrectly placed entities and possible errors.
 
* Dragging in the 2d views while in camera mode always sets camera pos. Currently it only works the first time, after that you hav to find the gizmo.
 
*Brush dimensions always stay in 2d view
 
===Cinematic Editor===
*A built in cinematic editor that allows for users to build a scene in Hammer and preview the animation in real-time.
 
===Material Editor===
*An in-editor material editor complete with texture importing and material customization tools.
*The ability to copy texture paths in the browser
*A more advanced Material Viewer.. Categories, Tags, Searching
 
===Real-Time Editing Solutions===
*The ability to edit game environments in real time through Hammer is one so chooses.
*Autoloading pointfiles option
 
===Add-on Tools===
*Tools to create add-ons from with in hammer.(e.g. An add-on for randomly distributing trees to large environments)
 
===Preserving groups of brushes tied to entity===
Even now, tieing to entity a group of brushes causes the lost of the group. Preventing this from happening would be useful.
 
===Fade distance options===
Stuff like selecting props without a fade distance, opaque helpers, toggle draw on/off in hammer like ingame, more accurate "camera" distance
 
===Displacement tool in z mode===
Holding m1 would move vertexes in zmode like when not in zmode + update marker when moving
 
===Misc===
*Cutting brushes could always use nodraw on new faces.
 
*Right click to reset entity key


*Random texture rotation


*Enable/disable full stop when leaving a trigger_push
*AddOutput BaseVelocity to have absolute control rather than add onto current velocity


==Audio==
==Audio==
Line 58: Line 128:
*<code>OnFinishedPlaying</code> output to cleanly loop a sound.
*<code>OnFinishedPlaying</code> output to cleanly loop a sound.
*Fade in and fade out effects (in a map entity).
*Fade in and fade out effects (in a map entity).
*Music not to suddenly cut out between maps


===Soundscape creation tool===
===Soundscape creation tool===
Soundscape creation tool with realtime preview.
Soundscape creation tool with real-time preview.


===Sound sample previews===
===Sound sample previews===
Line 68: Line 139:


More sound formats, particularly Ogg Vorbis (not difficult to implement) or FLAC.
More sound formats, particularly Ogg Vorbis (not difficult to implement) or FLAC.
===OpenAL support===
OpenAL provides more realistic 3d dimensional sound. While current sound engine is good, you can still clearly hear sounds when you are close to source but between you and source are some huge rocks or thick wall.
:: There is inital OpenAL support in MacOS X version --[[User:Nshopik|Nshopik]] 22:46, 3 September 2010 (UTC)
===Tracked audio support===
You can do lots of cool things with tracked audio formats such as fading in channels and what not. And they can be smaller file-size wise too, not like it matters these days.
===Minor changes===
ambient_generic Playtime in seconds


==Code/Scripting==
==Code/Scripting==
Line 78: Line 159:


: Annoying as that is, it's pretty easy to create your own mod for HL2:SP - have a look at [[MINERVA]] as an example, and feel more than welcome to rip it apart and convert into something new with a search-and-replace on the word 'MINERVA'. It makes the final mod much easier to distribute, install and remove as well, as it's a single folder in SourceMods rather than many files scattered through HL2's directories... &mdash;'''<font color="#10c010">Cargo Cult</font>''' <sub>([[User:Cargo Cult|info]], [[User talk:Cargo Cult|talk]])</sub> 07:14, 3 Apr 2006 (PDT)
: Annoying as that is, it's pretty easy to create your own mod for HL2:SP - have a look at [[MINERVA]] as an example, and feel more than welcome to rip it apart and convert into something new with a search-and-replace on the word 'MINERVA'. It makes the final mod much easier to distribute, install and remove as well, as it's a single folder in SourceMods rather than many files scattered through HL2's directories... &mdash;'''<font color="#10c010">Cargo Cult</font>''' <sub>([[User:Cargo Cult|info]], [[User talk:Cargo Cult|talk]])</sub> 07:14, 3 Apr 2006 (PDT)
===Better Documentation===
I would really love to have a complete source engine documentation designed for mod developers, because right now I have to spend hours of code reading to find out how to do a minor change.--[[User:Psycommando|Psycommando]] 20:12, 14 Jan 2009 (PST)
===_rt_Camera material===
Implement in other Source games then Half-Life 2 / Half-Life 2 DeathMatch the camera material, mechanism described in [https://developer.valvesoftware.com/wiki/Info_camera_link info_camera_link page]. It would be cute to have. --[[User:Prof. Orribilus|Prof. Orribilus]] 07:58, 30 September 2012 (PDT)


==Entity and brush behavior==
==Entity and brush behavior==
Line 97: Line 184:
===Physics===
===Physics===
There does not seem to be a simple way to adjust internal unit scale and physics in the source code in a similar way to HL1 (''hull.txt''). Changing the values in ''vphysics_interface.h'' do not seem to have a visible effect in game. Without this models adjusted for 0.16 scale will not have accurate physics.
There does not seem to be a simple way to adjust internal unit scale and physics in the source code in a similar way to HL1 (''hull.txt''). Changing the values in ''vphysics_interface.h'' do not seem to have a visible effect in game. Without this models adjusted for 0.16 scale will not have accurate physics.
Having separate gravity controls for each player, independent of map gravity orientation and intensity(walk on walls).


===Poison Damage===
===Poison Damage===
Line 103: Line 192:
===Improved chapter unlock entity===
===Improved chapter unlock entity===
Entity to trigger chapter unlock without re-locking later ones.
Entity to trigger chapter unlock without re-locking later ones.
:This can be done using the <code>incrementvar</code> command, as demostrated [[Unlocking_chapters_in_your_mod|here]].[[User:Rodeoclown|- RodeoClown]] 05:01, 26 Apr 2006 (PDT)
:This can be done using the <code>incrementvar</code> command, as demonstrated [[Unlocking_chapters_in_your_mod|here]].[[User:Rodeoclown|- RodeoClown]] 05:01, 26 Apr 2006 (PDT)


==Mapping==
===Every entity should have an OnSpawn output===
''See [[Hammer Feature Requests]] for tool enhancements.''
We could do away with many logic_auto's if all other objects had OnSpawn outputs.  We could also remove Names from many objects because they could call functions on !self without having to refer to a name.


===Give us Steam VGUI===
'''Addition:''' OnKill would also be very useful. I think [[Left4Dead|Left 4 Dead]] has it, although I'm not completely sure. &mdash;[[User:Invsighost|InvisGhost]] 15:19, 14 Oct 2009
It'd be a great advancement in modding if the Steam vgui2 interface was made public as well as overriding the vgui2 dll.


===Displacements===
===Scaling props===
Add the ability to use displacements on triangular faces.
It is strange that there is no option to scale props, it is very easy to implement and would get rid of all the duplicate models that are just in a different scale (like for the 3d skybox). It would also allow props to be mirrored along an axis, something even more important than scaling in general.


===An 'ammo' property for game_player_equip entity===
Even now, ''game_player_equip'' entity gives to the player a weapon with only one ammo. A property to specify the amount would be useful.


=Bug Reports=
P.S. I have found this issue while mapping for ''Day of Defeat: Source''. I don't know, for the time being, if it occurs in other Source games too.
==Users experience a slight delay with clientside interpolation and lag correction==
This issue has been reiterated since the early beta stages. And is somewhat documented in the forums. However it has never been officially refuted or commented on afaik. Some sources to the ''bug''.
[http://forums.steampowered.com/forums/showthread.php?t=420665 Counterstrike source netcode - The final quirks]
[http://forums.steampowered.com/forums/showthread.php?t=490324 Net-Code-FIX for COMPETITIVE gaming!!!]. You have to view these threads as very biased bug reports, but the extent of people who have experienced them should encourage you to take the matter seriously! --[[User:Oc|oc]] 13:37, 31. Oct 2006 (CET)


==Entity and brush behavior==
===A slight different behavior for game_player_equip entity===
Even now, ''game_player_equip'' entity get the player to drop the equipping weapon to the ground if he has yet a primary one or the same one. This causes an issue if a granade is dropped along the path of a moving brush: the brush stops itself. Due both to this and to the fact that dropping the weapon to the ground is useless, i think that, in this situation (player having yet a primary weapon or the equipping one), this entity should do one of two things:
# In case of non-primary weapon equipping, anything; in case of primary weapon equipping, gets the player to drop his one before equips him with the new one
# Anything in both cases


===prop_door_rotating custom hinges===
P.S. I have found this issue while mapping for ''Day of Defeat: Source''. I don't know, for the time being, if anything like occurs in other Source games too.
Moving the hinge (by altering the ''axis'' keyvalue) of a non-standard [[prop_door_rotating]] (like a ''models/props_wasteland/interior_fence001g.mdl'' fence door) has no effect. The door will open in the middle. --[[User:Andreasen|Andreasen]] 11:11, 20 Mar 2006 (PST)


===func_door wont stop looping===
=== A 'parent' property for weapon entities===
If the ''Loop Moving Sound?'' keyvalue for a [[func_door]] is set for a sample with an already built in loop, the sample will not stop looping. Further attempts to open or close the door will only add another looping sample to the noise. --[[User:Andreasen|Andreasen]] 07:50, 16 Mar 2006 (PST)
It could be useful to make weapon entities parentable.


===func_details are disappearing===
===Merging some "map property" entities in the worldspawn one===
Surfaces on thin [[func_detail]]s (about 2 units thick) is disappearing in-game, even at close distances. This can be especially annoying when it comes to signs. --[[User:Andreasen|Andreasen]] 07:50, 16 Mar 2006 (PST)
Could some "map property" entities, like ''light_environment'', ''shadow_control'', ''env_sun'', ''game_ragdoll_manager'', ''game_weapon_manager'', ''game_gib_manager'' and ''water_lod_control'', be all merged in the ''worldspawn'' one?


===npc_snipers and info_snipertargets===
===Moving sound===
* When an [[npc_sniper]] is shooting at an [[info_snipertarget]] that is parented to something else, the dot will land on target but the bullet fired will always travel backwards at a fixed direction, no matter where the target is. (This direction might change slightly between compiles.) --[[User:Andreasen|Andreasen]] 19:43, 12 Feb 2006 (PST)
Add the possibilty to make an associated at a moving parented ''ambient_generic'' sound to follow the entity's position while being played, because now the sound is played at the correct position but doesn't move itself.


* When an [[npc_sniper]] is issued the ''SweepGroupRandomly'' input, the sniper will ''continue'' firing at these targets until an NPC interrupts him. Is it supposed to work like that? --[[User:Andreasen|Andreasen]] 19:43, 12 Feb 2006 (PST)
===Subtitles/Closed captions in multiplayer games===
In Day of Defeat: Source are implemented the mechanisms for defining, and associating to a sound, subtitles/closed captions; but it seems that is not implemented the mechanism that "triggers" a subtitle/closed caption in conjunction with the playing of the sound. It would be cute having it.


* If the <code>info_snipertarget</code> entity doesn't have its ''Shoot Me'' flag set, Source crashes with the "memory could not be 'read'" error when a sniper is told to sweep it and has landed its beam on the target. This bug is reproduceable for me. --[[User:Andreasen|Andreasen]] 00:22, 12 Feb 2006 (PST)
P.S. I have only tested Day of Defeat: Source


===Block LOS not working===
===Nav editing===
*The Block LOS tool texture (''tools/toolsblock_los'') doesn't work anymore for me. In my HL2SP map combine soldiers can see right through a brush with this texture, and this brush also blocks light (but at least it is invisible). --[[User:Andreasen|Andreasen]] 19:49, 10 Feb 2006 (PST)
* Having a JUMP connection seems better than a mesh with the JUMP attribute. Connection types for dynamic events and mesh types for static events?
** It is happening to me also [[User:Davlevels|Davlevels]] 06:11, 26 Mar 2006 (PST)
* Nav_mark_unnamed as a function in toggled paint mode.
* Nav_check_connectivity to mark said areas.
* Mark area number command.


===env_beams===
===More branch paths for path_track entities===
Damage of [[env_beam]]s is acting really strange when emitted from a ''solid'' [[func_brush]]. When the ''Life'' of the beam is set higher than 1, the starting point and "collision" area of the func_brush is never updated between map compiles. This area doesn't affect the player or item collision, but it does affect the beams area of damage. If the ''Life'' is set above zero, then the area of damage becomes even ''more'' irregular, and will only hurt the player and prop_physics (and probably other stuff) ''some''times. The func_brushs first "collision" area will also interfere with other env_beams. This bug is easily reproducable. --[[User:Andreasen|Andreasen]] 19:37, 5 Feb 2006 (PST)
or at the very least, some inputs to change the Next Stop Target and Branch Path keyvalues like how [[path_corner]] has '''SetNextPathCorner'''


===Ragdolls & Door Props===
===Volumetric light brush entity===
* Expected: [[prop_door_rotating]] entities do not interfere with clientside ragdolls collisions.
Color, alpha, pattern, fade distance, cast direction for shading, uniform / directional cast direction
* Observed: Clientside ragdolls seem to be clipped to the closed position of prop_door_rotating entities.  This applies to any position doors are opened to.
* [[User:ts2do|ts2do]]


===env_smokestack===
===tools/blocklight fade defined by brush dimensions===
* env_smokestack some time after they start releasing smoke the smoke stops to be released. Also, when you look away from the smoke it stops to release the smoke and starts again to release it when you look at it. [[User:Davlevels|Davlevels]] 06:16, 26 Mar 2006 (PST)
A flat brush would block light instantly, and a wider brush would fade the light farther.


===Volume inputs===
===A step entity===
I apologize if I'm mistaken, but the more I experiment with [[ambient_generic]], the more I suspect that the sound ''actually playing'' on ''Volume'' inputs is a bug, mostly because this type of play doesn't register as playing, so a ''StopSound'' input won't be able to stop a sound started through the ''Volume'' input, but also because the ''Volume'' input isn't affected by the ''Is NOT Looped'' flag. The ''Volume'' input was probably meant to adjust the sound volume ''without'' playing the sound.
Using keys like step interval, random steps, and puts like OnStepUp/Down, GoToStep, OnStep*, DisableStep*,


===Static Prop Decals===
===Minor suggestions===
Decals on static props do not render as wireframes when mat_wireframe is enabled&mdash;'''[[User:Ts2do|ts2do]]''' 20:17, 22 May 2006 (PDT)
* point_proximity_sensor sensitivity setting
* func_precipitation render distance option
* game_ui deactivate on death or OnDeath put
* OnBlocked func_rotating would allow AddOutput BaseVelocity vertical bump (elevators)
* A brush entity to control sound, so all sounds within a trigger_brush are only heard within linked brushes


==Commands==
==Mapping==
===[[status]] command===
''See [[Hammer Feature Requests]] for tool enhancements.''
* Observed: The spacing between the version and the colon for the status string is offset from the other lines:
hostname:  Half-Life 2
version  : 1.0.1.0/7 2651 insecure
map    :  d3_c17_01 at: -6857 x, -1414 y, 64 z
players :  1 (1 max)
# userid name uniqueid connected ping loss state adr
#  1 "name" UNKNOWN 03:04 71 0 active loopback
* [[User:ts2do|ts2do]]
==Materials==
===Materials===
On blended materials, it seems that "$basetexturetransform" scale affects both "$basetexture" and "$basetexture2", while "$basetexturetransform2" scale doesn't do anything.  [[Image:blendtest.jpg|none|thumb|100px|Blend Test by [[User:X^18|X^18]]]]
==VGUI==
===Window Docking===
* Observed: Windows in Source dock to hidden panels if docking is enabled in SourceScheme.res.
* [[User:ts2do|ts2do]]
===Text Boxes===
* If one uses IME ([http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/ime_5tiq.asp Input Method Editor]) in the console but doesn't turn off IME before returning to the game, the console continues recording keystrokes. The fix is to use [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/ime_1n3n.asp ImmSetOpenStatus] to close IME when no text boxes have focus. --[[User:Kateye|Kateye]] 22:55, 7 Oct 2006 (PDT)


==Official Mods==
===Give us Steam VGUI===
===[[Day of Defeat: Source]]===
It'd be a great advancement in modding if the Steam vgui2 interface was made public as well as overriding the vgui2 dll.


====game_text====
===Displacements===
* Observed: game_text does not show up in-game
Add the ability to use displacements on triangular faces.
* [[User:El Capitan|El Capitan]]
 
====Clip textures====
* Observed: Clip textures make metal footsteps sound when walked over!
* [[User:El Capitan|El Capitan]]
 
===[[Counter-Strike: Source]]===
Credit goes to [http://forums.steampowered.com/forums/showthread.php?t=504152 cloud1337] and his contributors from Steam Forums.
====Barrel Physics====
* Barrels and other prop_physics forcefully push players who interact with them.
* Suggestion: Create an alternative to sv_turbophysics with the players +use function disabled.
 
====Defuse Kit over Bomb Plant====
* Defuse kits and other props around the bomb randomly disable a player defusing.
* Suggestion: Make the defuse action only begin when the bomb is directly in the players cross-hair, eliminate any other detection methods that cause unwanted interactions.
 
====Defuse through Walls====
* Players can defuse through Walls and other objects.
* Suggestion: See Above.
* Example: [http://i25.photobucket.com/albums/c95/Cloud1337/de_nuke0073.jpg]
 
====Stuck Defusing====
* When a player attempts to stop defusing and fire there is a delay between the original -use command and when the server recognises the player has stopped defusing, causing the player to be stuck and the bomb to continue defusing (even though the players cross-hair is no longer located near the bomb) for a short period of time.
* Suggestion: Unsure of the reasons behind this bug. Possibly a glitch where +attack works (temporarily) as a defuse mechanism?
* Example: [http://www24.brinkster.com/draxus99/source/stop_defusing.jpg]
 
====Forced Point of View====
* When a player is 'forced' lower than he is meant to crouch his point of view also drops, this happens when another player is stacked on their head or when they crouch under certain trains. SourceTV also does not record the players 'forced' point of view, it records what he should be seeing if he wasn't forced.
* Suggestion: Find out why SourceTV doesn't get 'forced' a point of view and implement that on a client / server side. Also fix the train props on de_train to coincide with the POV fix.
* Example: [http://i25.photobucket.com/albums/c95/Cloud1337/de_train0078.jpg]
 
====Fake bomb Plant====
* When a player begins to plant while crouched and then aborts while moving the planting animation continues and all other players view them as a non-threat.
* Suggestion: Kill the plant animation when a player moves if it isn't already.
* Example1: [http://i25.photobucket.com/albums/c95/Cloud1337/de_nuke0065.jpg]
* Example2: [http://i25.photobucket.com/albums/c95/Cloud1337/de_nuke0067.jpg]
 
====Guns and Tickrate====
* Changing the tick-rate of a server also seems to affect the firing mechanisms and reactions of certain guns. This mainly happens with the AK47 and MP5 on low tick-rate servers (33).
* Suggestion: Analyse the difference between the AK47 and MP5 on 33 tick and 100 tick servers. Find out what data isn't being sent or requested on the 33 tick server and fix it.
 
====Shadows appearing through props====
* Shadows are commonly visible through doors, small walls, and props.
* Suggestion: Implement the same method that core walls use to distort shadows on props and smaller walls.
* Example: [http://i25.photobucket.com/albums/c95/Cloud1337/de_nuke0063.jpg]
 
====Both Teams receive Defuse / Explosion Points====
* On the right timing a player can receive 3 points for defusing (only when they defuse action is almost complete) even when the bomb explodes and Terrorists win the round. The bomb planter still (also) receives 3 points.
* Suggestion: Make bomb explosions and bomb defuses individual and exclusive events if they already aren't.
 
====Grenade Physics====
* Grenades can be used to block players from moving and also forcefully push them in some circumstances. Flashes and Smoke grenades can also be used to stop a player from defusing.
* Suggestion: Make the grenades react to the players movement and not the other way round.
 
====Slow Door movement====
* On 100 Tick servers (online) doors tend to open slowly with a very choppy animation and are very sensitive to player movement.
* Suggestion: Find out why it happens for 100 tick servers online, and why it doesn't happen for 66 tick servers online or 100 tick servers at LAN.
* Example: [http://i25.photobucket.com/albums/c95/Cloud1337/de_nuke0054.jpg]
 
====Stuck within a Door====
* Players can get stuck within doors.
* Suggestion: Make doors only react to the +use function and not player movement.
* Example: [http://i25.photobucket.com/albums/c95/Cloud1337/de_nuke0058.jpg]
 
====Rapid Firing Model Animation====
* When an enemy fires a gun while strafing (at the right speed) and moving the animation that other players see is a rapid movement of the enemies gun going from left to right (and possibly vice versa).
 
====First Person footstep noises====
* When running up or down an incline footstep noises can sometimes become inaudible however other players can still hear them.
 
====Nade animations====
* Randomly when a player becomes visible (ie. running around a corner) a nade throwing animation is played. This is regardless of what weapon the player is holding or in possession of.
 
====Change Teams crash====
* When a relatively large amount of players change sides (~4-6 minimum) most players on the server crash.


====Ambient reloading and knife sounds====
==CSGO Request==
* Randomly players can hear reloading or knife sounds where no-one exists or is reloading / knifing.
* Bomb radius should have volume and density, for greater control. Optimally, it should be generated based on a "light sample" rendered from the brush origin, so walls block damage.


====Dead Shadows====
* Skin control for weapon_entities
* After a player dies his shadow remains in an animated loop.


====Wall Flashes====
* prop_dynamic_glow - DisableDraw would leave the glow, while Disable would also disable the glow effect.
* Players sometimes get flashed even when standing behind a solid object or wall.


====Flashes not recorded on SourceTV====
* Fix [[vgui_movie_display]] in csgo and allow streaming
* Players are not blinded by flashes when viewing a SourceTV demo.


====Request: Bomb Explosion Magnitude====
* Allow your own '''player shadow''' to be visible to you. At the moment you cannot see where the shadow is cast, however your enemy can in multiplayer games- big advantage in some cases.
* It would be nice to some mappers if the bomb explosion magnitude or size of "concussion wave" (so to speak) were customizable (I have an office-like area very near a bomb site and causes some intense lag/fps drop on bomb explosions due to the large amount of physics objects in said environment)
* If not this the ability to prevent physics objects from being affected by the bomb blast.


==Models==
[[Category:Source]]
===Model Shadows===
====Translucency====
* Shadows cast from models always cast the shadow of the first skin. This means, if varying translucency is introduce into a skin set, only the first skin's shadow will be rendered.
* [[User:ts2do|ts2do]]
==Miscellaneous==
===HL2MP Mod localization===
[[Category:Technical]][[Category:Feedback]][[Category:Developer Issues and Workarounds]]
* The ability to add a third-person view in single player mods easily.

Latest revision as of 07:28, 2 July 2024

Obsolete-notext.pngDeprecated:This page is no longer used, Visit the GitHub repository for Source games where bugs and features requests can be submitted. Please submit new feature requests there instead.

This page is about things happening in-game.

For bugs (only) concerning things occurring while using the SDK, see Source SDK Bugs.

For things happening while using the Hammer editor, see Hammer bugs and Hammer Feature Requests.

Animation/Physics

Dynamic Reactions

NPCs should be able to be hit by an object and that object will move the ragdoll, but the NPC will react and reposition itself.

For example, if you were to throw an object at an NPC's head, currently the object just bounces off and the NPC doesn't react. What should happen is that the NPC's head moves and the NPC reacts to return their head to its original or ideal position.

This would also help add realism to combat. For example, if you were to shoot a combine soldier in the knee, it should make the knee move, maybe even knocking the soldier over. The solder will try to get back up, and if it succeeds, it should be limping if the knee is damaged enough.

Valve is planning to add more physics-based animation to their engine, and this would be an excellent addition.

If I'm not mistaken, Valve has implemented physics-based animations starting from Left 4 Dead's Source engine. --Prof. Orribilus 05:16, 25 September 2012 (PDT)

Dynamic Player

In this the player entity would be more interactive with it's environment. Example: When an explosion in near the player the player is ragdolled(somewhat) and pushed away.This including first-person views.

General

sv_autosave

sv_autosave should disable map-specific autosaves too.

Progress bar

Better progress bar for bzip2ed fast map downloads.

Addition Add a percentage complete display? Also do not make the progress bar wrap many times (make 100% the end).

Graphics

Dynamic shadows handling

Better handling of dynamic shadows to prevent shadows in indoor spaces being cast in inappropriate directions for lighting conditions. Either enable dynamic shadows to be cast by light sources other than light_environment, or institute 'fallback' diffuse shadow directly under object if not directly lit from sky light. This would require a trace along the vector of the light_environment angle to see if it hits a skybox texture, but would at least prevent the situations we get where indoor shadows are falling in completely the wrong direction.

Other possible 'cheap' solution would be to enable multiple shadow_control entities in a map, one per area separated by area portals. In this way, a map with strong directional daylight in outdoor areas could use straight down shadow controllers in indoor areas to reduce the jarring appearance of indoor shadows.

Already in progress! --TomEdwards 12:31, 7 Jun 2006 (PDT)
Lovely—ts2do 12:37, 7 Jun 2006 (PDT)
Ah finally thats gonna add a little amount though to the overall performance.--Gear 04:57, 31 Oct 2006 (PST)

Addition Allow your own player shadow to be visible to you. At the moment you cannot see where the shadow is cast, however your enemy can in multiplayer games- big advantage in some cases.

  • A console command for the dynamic shadow draw distance.

Parallax

Adding parallax mapping or relief mapping to the source engine would be nice. Or an explanation why it hasn't been implemented.

Mirrors

The ability to make materials that reflect the world, instead of using cubemap reflection. Exactly like water.

It's been added to Source 2007 Engine. Check glass/ folder in Source Shared 2007. --JakeB 15:30, 18 Jun 2008 (PDT)
Very limited uses though. This needs to be improved on, along with water tech --Welsh Mullet 13:47, 16 June 2010 (UTC)

More Skybox control

The ability to change the settings of a 3D Skybox (namely its texture) would be beneficial. I'm unsure of the best way to achieve this. Changing the sv_skyname in the console does not actually change the sky texture even after trying mat_reloadtextures or mat_reloadmaterial. It does however change the sky texture after reconnecting, if you are playing on an online server.

An alternative to changing the sv_skyname would be to edit the skyname keyvalue of the worldspawn entity.

OpenGL renderer

Adding an OpenGL renderer would be a good idea, like Half-Life had.

Addition: As a comment to both this and the Linux porting suggestion, adding OpenGL support would greatly benefit Linux WINE users even if there is not official port of Source for Linux. OpenGL translates far easier then DirectX under WINE.

Done in Mac engine update? --Welsh Mullet 13:49, 16 June 2010 (UTC)
Currently, OpenGL is in the Mac version only. Windows version is still limited to DirectX. --Barracuda 19:03, 16 June 2010 (UTC)
Thought it was the same engine... Can you download the mac version on linux? --Welsh Mullet 20:54, 16 June 2010 (UTC)

Dynamic cubemaps

Dynamic cubemaps should be added to the engine, with at least 1 cubemap always "following" the player, so that the reflections on view models and stuff around the player would have more realistic reflections. To get an idea of what I mean, try watching this video, it explains a problem with static cubemaps (note: the video is NOT mine) [1]

Hammer

Camera Views

  • A possible newer camera view to show how far a light entity will cast it's light as well as the shadows it will create. Also the camera view can be special, it can be toggled like others and even show other events within the map and maybe incorrectly placed entities and possible errors.
  • Dragging in the 2d views while in camera mode always sets camera pos. Currently it only works the first time, after that you hav to find the gizmo.
  • Brush dimensions always stay in 2d view

Cinematic Editor

  • A built in cinematic editor that allows for users to build a scene in Hammer and preview the animation in real-time.

Material Editor

  • An in-editor material editor complete with texture importing and material customization tools.
  • The ability to copy texture paths in the browser
  • A more advanced Material Viewer.. Categories, Tags, Searching

Real-Time Editing Solutions

  • The ability to edit game environments in real time through Hammer is one so chooses.
  • Autoloading pointfiles option

Add-on Tools

  • Tools to create add-ons from with in hammer.(e.g. An add-on for randomly distributing trees to large environments)

Preserving groups of brushes tied to entity

Even now, tieing to entity a group of brushes causes the lost of the group. Preventing this from happening would be useful.

Fade distance options

Stuff like selecting props without a fade distance, opaque helpers, toggle draw on/off in hammer like ingame, more accurate "camera" distance

Displacement tool in z mode

Holding m1 would move vertexes in zmode like when not in zmode + update marker when moving

Misc

  • Cutting brushes could always use nodraw on new faces.
  • Right click to reset entity key
  • Random texture rotation
  • Enable/disable full stop when leaving a trigger_push
  • AddOutput BaseVelocity to have absolute control rather than add onto current velocity

Audio

Better music support

Better support for music, including:

  • Ability to mark a sound as music regardless of the format.
  • OnFinishedPlaying output to cleanly loop a sound.
  • Fade in and fade out effects (in a map entity).
  • Music not to suddenly cut out between maps

Soundscape creation tool

Soundscape creation tool with real-time preview.

Sound sample previews

First of all, it would be good if you could preview button sounds instead of choosing them from a list and testing them each in-game.

Second of all, I'd like to be able to play looping sounds using the loop, so that I know which ones are looped and which are not, and how they sound looped. You could add a Stop button to prevent a loop going on forever.

More sound formats, particularly Ogg Vorbis (not difficult to implement) or FLAC.

OpenAL support

OpenAL provides more realistic 3d dimensional sound. While current sound engine is good, you can still clearly hear sounds when you are close to source but between you and source are some huge rocks or thick wall.

There is inital OpenAL support in MacOS X version --Nshopik 22:46, 3 September 2010 (UTC)

Tracked audio support

You can do lots of cool things with tracked audio formats such as fading in channels and what not. And they can be smaller file-size wise too, not like it matters these days.

Minor changes

ambient_generic Playtime in seconds

Code/Scripting

Improved chapter system

Improved chapter system, ideally with only one file (plus any images) to worry about!

GCF priority for HL2:SP

I'd like to have custom content have priority over the Half-Life 2 GCF files. For example I'd like to be able to add custom sentences to a custom hl2/scripts/sentences.txt file without having to create my own mod for that. The GCF overriding custom material is apparently unique to HL2:SP. Even Lost Coast lets custom content have priority over the GCF. --Andreasen 05:40, 3 Apr 2006 (PDT)

Annoying as that is, it's pretty easy to create your own mod for HL2:SP - have a look at MINERVA as an example, and feel more than welcome to rip it apart and convert into something new with a search-and-replace on the word 'MINERVA'. It makes the final mod much easier to distribute, install and remove as well, as it's a single folder in SourceMods rather than many files scattered through HL2's directories... —Cargo Cult (info, talk) 07:14, 3 Apr 2006 (PDT)

Better Documentation

I would really love to have a complete source engine documentation designed for mod developers, because right now I have to spend hours of code reading to find out how to do a minor change.--Psycommando 20:12, 14 Jan 2009 (PST)

_rt_Camera material

Implement in other Source games then Half-Life 2 / Half-Life 2 DeathMatch the camera material, mechanism described in info_camera_link page. It would be cute to have. --Prof. Orribilus 07:58, 30 September 2012 (PDT)

Entity and brush behavior

An Entity/Command for reading variables

We have a method of modifying server variables (incrementVar), but no way of reading back what we set. Can we have either a client/server command for reading variables, or an entity that can do it?

The super gravity gun

I don't know what exactly is causing this, but while working on the npc_citizen_fleeing prefab, I noticed that shooting/punting/pulling the citizen with the Super gravity gun won't kill him, but just rip away ragdoll duplicates from his body. He won't die. I'm posting this under feature requests because I'm thinking that the scripting isn't written for citizens (or perhaps other NPCs too) interacting with the super gravity gun.

Also, if the super gravity gun global state is turned on, the bodies of zombies killed with another weapon simply vanishes, instead of turning into ragdolls. (The headcrab can detach as a ragdoll if the zombie is blown up though.)

Teleport

The current trigger_teleport isn't teleporting thrown grenades or weapons, it is even (to my understanding) impossible to set a filter to allow hegrenade_projectile, weapon_hegrenade, or weapon_glock entities, The filter or trigger_teleport ignores these entities.

Multiple Fog Controllers

It would be helpful to have more than one env_fog_controller allowed in a map. The current work around is the use of triggers in conjunction with a point_clientcommand that changes the values of many settings; fog_color, fog_colorskybox, fog_enableskybox, fog_end, fog_endskybox, fog_override, fog_start, fog_startskybox. I propose an enable/disable function (plus 'start disabled' flag) added to env_fog_controller to allow triggering between each.

Physics

There does not seem to be a simple way to adjust internal unit scale and physics in the source code in a similar way to HL1 (hull.txt). Changing the values in vphysics_interface.h do not seem to have a visible effect in game. Without this models adjusted for 0.16 scale will not have accurate physics.

Having separate gravity controls for each player, independent of map gravity orientation and intensity(walk on walls).

Poison Damage

Getting bitten by a black headcrab isn't dangerous even if you're not wearing a HEV suit. The damage is mysteriously healed anyway. I would like it if poison damage is only healed/non-lethal if the player is wearing a HEV suit.

Improved chapter unlock entity

Entity to trigger chapter unlock without re-locking later ones.

This can be done using the incrementvar command, as demonstrated here.- RodeoClown 05:01, 26 Apr 2006 (PDT)

Every entity should have an OnSpawn output

We could do away with many logic_auto's if all other objects had OnSpawn outputs. We could also remove Names from many objects because they could call functions on !self without having to refer to a name.

Addition: OnKill would also be very useful. I think Left 4 Dead has it, although I'm not completely sure. —InvisGhost 15:19, 14 Oct 2009

Scaling props

It is strange that there is no option to scale props, it is very easy to implement and would get rid of all the duplicate models that are just in a different scale (like for the 3d skybox). It would also allow props to be mirrored along an axis, something even more important than scaling in general.

An 'ammo' property for game_player_equip entity

Even now, game_player_equip entity gives to the player a weapon with only one ammo. A property to specify the amount would be useful.

P.S. I have found this issue while mapping for Day of Defeat: Source. I don't know, for the time being, if it occurs in other Source games too.

A slight different behavior for game_player_equip entity

Even now, game_player_equip entity get the player to drop the equipping weapon to the ground if he has yet a primary one or the same one. This causes an issue if a granade is dropped along the path of a moving brush: the brush stops itself. Due both to this and to the fact that dropping the weapon to the ground is useless, i think that, in this situation (player having yet a primary weapon or the equipping one), this entity should do one of two things:

  1. In case of non-primary weapon equipping, anything; in case of primary weapon equipping, gets the player to drop his one before equips him with the new one
  2. Anything in both cases

P.S. I have found this issue while mapping for Day of Defeat: Source. I don't know, for the time being, if anything like occurs in other Source games too.

A 'parent' property for weapon entities

It could be useful to make weapon entities parentable.

Merging some "map property" entities in the worldspawn one

Could some "map property" entities, like light_environment, shadow_control, env_sun, game_ragdoll_manager, game_weapon_manager, game_gib_manager and water_lod_control, be all merged in the worldspawn one?

Moving sound

Add the possibilty to make an associated at a moving parented ambient_generic sound to follow the entity's position while being played, because now the sound is played at the correct position but doesn't move itself.

Subtitles/Closed captions in multiplayer games

In Day of Defeat: Source are implemented the mechanisms for defining, and associating to a sound, subtitles/closed captions; but it seems that is not implemented the mechanism that "triggers" a subtitle/closed caption in conjunction with the playing of the sound. It would be cute having it.

P.S. I have only tested Day of Defeat: Source

Nav editing

  • Having a JUMP connection seems better than a mesh with the JUMP attribute. Connection types for dynamic events and mesh types for static events?
  • Nav_mark_unnamed as a function in toggled paint mode.
  • Nav_check_connectivity to mark said areas.
  • Mark area number command.

More branch paths for path_track entities

or at the very least, some inputs to change the Next Stop Target and Branch Path keyvalues like how path_corner has SetNextPathCorner

Volumetric light brush entity

Color, alpha, pattern, fade distance, cast direction for shading, uniform / directional cast direction

tools/blocklight fade defined by brush dimensions

A flat brush would block light instantly, and a wider brush would fade the light farther.

A step entity

Using keys like step interval, random steps, and puts like OnStepUp/Down, GoToStep, OnStep*, DisableStep*,

Minor suggestions

  • point_proximity_sensor sensitivity setting
  • func_precipitation render distance option
  • game_ui deactivate on death or OnDeath put
  • OnBlocked func_rotating would allow AddOutput BaseVelocity vertical bump (elevators)
  • A brush entity to control sound, so all sounds within a trigger_brush are only heard within linked brushes

Mapping

See Hammer Feature Requests for tool enhancements.

Give us Steam VGUI

It'd be a great advancement in modding if the Steam vgui2 interface was made public as well as overriding the vgui2 dll.

Displacements

Add the ability to use displacements on triangular faces.

CSGO Request

  • Bomb radius should have volume and density, for greater control. Optimally, it should be generated based on a "light sample" rendered from the brush origin, so walls block damage.
  • Skin control for weapon_entities
  • prop_dynamic_glow - DisableDraw would leave the glow, while Disable would also disable the glow effect.
  • Allow your own player shadow to be visible to you. At the moment you cannot see where the shadow is cast, however your enemy can in multiplayer games- big advantage in some cases.