Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project status #8

Open
wootguy opened this issue Feb 10, 2024 · 1 comment
Open

Project status #8

wootguy opened this issue Feb 10, 2024 · 1 comment
Labels
documentation Improvements or additions to documentation

Comments

@wootguy
Copy link
Owner

wootguy commented Feb 10, 2024

My goal is to have every sven map working for a 1.0 version of this mod. After that, I start trying more of my own ideas, and make guides for others to do the same. There is a lot more you can do with open-source game code.

Most 4.x era Sven Co-op maps work as is. Many 5.x era maps should also work but will need porting if they were compiled with increased limits or use angelscript. The current list of supported maps is here .

A major difference you'll notice is that sven-specific weapons are replaced with stock Half-Life weapons (uzi/saw/minigun/m16 -> mp5, sniper -> crossbow, deagle -> 357). Some basic features are implemented in plugins which haven't been added here yet (player unstucking, thirdperson camera, etc.).

Bugs and other to-do items noted during public testing (updated 2025/1/1)
--------------------
Bugs
--------------------
- shock troopers not retaliating against pit drones (auspices)
- scripted_sentence doesnt work (convert to normal sounds?)
- grunt uses turret 50 feet away (hostage2a)
- shockroaches always spin around when trooper gibbed
- monsters can't walk over opened door when opens downward (oberon14)
- clear text menu on server join
- starting server on infested2 causes UserMsg client disconnects, even though entity data is fine (https://github.com/ValveSoftware/halflife/issues/1894)
- custom saw grunt guy still firing in tiny bursts
- friendly alien has human gibs
- barnacle doesn't play death animation sometimes (sc_another)
- npcs talk to themselves (barney tb_mesa3gold, sc_tetris2 medic)
- nm_uspninjas friendly grunts fixated on enemies on the other side of the map? that they never saw?
- Banned for move commands flooding (burst) <-- this is kicking innocent players
- upwards trigger_push weaker than in sven
- SV_BuildSoundMsg: gonome/gonome_step1.wav not precached (0)
- monsters trying to run into trigger_push that is too strong to pass (nm_attackdefend)
- sc_tl_cf_library  intro broken (removed from cycle)
- shotgun grunts don't always have the same head? (extension first room from vent)
- can block spawning of non-solid items (mountainpass ammo)
- hwgrunt not using repel animation
- kyper assistant gets blocked by a player and waits like 5s to try following again
- grunts changing skins on death sc_trollworld (weapons group not at expected index)
- old maps used netname for custom names (the_stairs)
- "huh tankrocket or any tank controllable not giving score?"
- gagged npcs can't use scripted_sentence (ey_compo)
- "FATAL ERROR (shutting down): Cache_Free: not allocated" after about 260 map changes, called by Mod_LoadStudioModel_internal
   - people also saying all monsters are frozen or something 10 maps before the crash, on etc2_1
- corrupted options in alamo model event 4 (models/ne/superzombie.mdl) caused model ptr corruption?
- killing a train/elevator doesn't stop its sounds
- babygrunt staring, possibly stunlocked
- Can't apply gunshot decal for edict 2326 'func_clip' (sc_defmapN_v3)
- first person spectate doesnt show beams for shockroach/displacer
- cameras dont work with spectate
- shock roach underwater gibs teammates
- voltigore not responding to damage from behind
- glock ammo not precached sc_spaceviking1
- grunts not responding to damage sc_spaceviking1 bathroom
- gonome and proly all monsters eating corpse million miles away
- garg stomp attack shouldnt be interruptable (babygarg)
- last 1-2 corpses shouldnt fade out on monstermaker
- flashlight glow not always working, depending on where u are on the map (ghost_buster)
- turrets aiming at feet of monsters (sc_conspiracy intro)
- increase abs box for uposiede down  monsters (werongworld)
- pizza guy teleported then barnacle tongue attached to a player and was dragging the player around
- sc_dead_zones assassins at end dont respond to sound or damage
- male assassins still deaf (the_prison_v2 end)
- no free edicts from gibs from sc_robination ending
- weaponbox does not respawn (svencoop2)
- friendly fire avoidance not working nm_uspninjas
- barney dropping 357?
- turrets pushed down a bit? war.bsp
- op_blackmesa9 shotgun model for friendly grunt showing as rpg
- can overheal sentry with wrench pve_building_rb
- grunt caught by barnacle floated down with caught anim between.bsp
- zombie barney head hitbox not working defmap
- sentry kicked away by garg or tor beamed away
- alien controllers sometimes have stuttering movement
- mp3 looping 3+ times causes it to be unstoppable?
- grunts seem to take cover on first sight, but hwgrunt shouldn't do that (cassault1)
- ammo ents not floating (combined)
- tor running into wall forever (con3hl_6)
- barney/otis turning their head to talk while shooting?
- sc_another worldspawn textures scolling but shouldnt (force rendercolor value?)
- deactivated turrets shw as neutral in kill feed
- shooting multiple super explosives left me in standing death pose sc_strangers
- someone switched to spectator mode but it didnt show in scoreboard the entire time
- still getting blue flicker shooting npcs
- not all heals should be capped to max health (crushing healer thing that gives you 999999 hp from fun maps) (hlywood)
- voltigore not using range attack when unable to reach (noob_og)
- don't precache model event sounds, the mod does this automatically now (voltigore and some others?)
- new joiner should see cameras
- monsters obsessed with the player it killed and wont react to sounds/damage anytmore? (robogrunt)
- aerodock1 SV_BuildSoundMsg: player/pl_tile3.wav
- Sc_alley friendly garg double killfeed message
- dont unstuck from dying players
- tram got stuck on rotating thing. I think because someone was wedged in the platform so it wouldnt move when lever was pulled (etc2_7)
- can't get down vent. trigger_push is solid for some players. even jumping on it cant get them past it (tower2)
- no free edicts after 35 minutes creating spark_shower (sc_spaceviking2, also sc_catalyst)
- gonomes dont attack sometimes. ai bugged? (septic_morass_demo)
- sprites aren't rendering correctly (out of sync with actual frame, color wrong depending on where you stand, etc.)
- cr_wayne_hl crash at garage tp
- scientist and medic heal without continuous use
- uprising client overflowed at turrets with all the bullets, he was right next to them, i also got it once
- crash: Entity pev not linked to edict 781 pev (weaponbox) breakdown_heist_hl
- ai has trouble following up slopes/stairs even if theres a node path
- sc_robination corpses not fading
- still seeing crosshair after joining blackfacility2
- ammo depleted should play on last shot, not holster, in case it's your last weapon
- grunts running up sandbags but can't (tox_surface4)
- de-duplicate health warnings too
- need cooldown on swap (can double swap and not go anywhere)
- stuck in door rotating still very fast damage
- idle kicker kicking on plugin reload
- minigun spin sound still playing killed outside of pvs
- plugin updates not working, not loading new code somehow
- lava more damage too? too ez in fire_temple
- rpg laser broken in water tunnel.bsp
- antiblock cooldown for pairs of players (swapping at same time sometimes reverts the swap)
- sc_army4final21 npcs spawning in ceiling again

--------------------
Improvements / Tweaks
--------------------
- increase agrunt range (not shooting at assaultmesa ending)
- bullets/shotgun should be able to gib small monsters (headcrab)
- can't barnacle the barnacle
- minigunner spin sound much quieter than windup
- don't say "you lack a required itenm" if it was
- increase water damage, instakill wasnt so bad except a couple maps
- bullsquid excitement animation too long, too ez to kill it
- gonome/gonome_step1.wav not precached sc_tombofdeath_v12-4 (add proper step sounds+events for the default model)
- grunts crouching to attack which obscures their view and they shoot their cover instead (shocktroop too and everything)
- force players out of the way of scripted sequences (extended, c1a0c)
- add sqknest
- EF_NOINTERP doesn't work (sc_waterworks tunnel trigger getaway_chase) (apache isn't interpolated, so maybe other ents can do the same?)
- right click gauss should gib robos
- warn if no worldspawn entity
- can zoom in with xbow during cutscene
- no weapons assassins easily stun locked with egon or smth
- hwgrunt has trouble targetting things (daikon_warfare1)
- garg should react to being damaged and retarget or just turn around
- female assassin drop gun
- change friendly garg dot color
- warn if spawner is blocked by something and the spawner/mosnter would trigger something
- impact sounds for apache glass/engine (you get really close in thebackdoor)
- warn if trigger_condition has multiple targets for true/false (sven only triggers first found)
- key values like MOVETYPE_SOLID work with changevalue
- grunt speech needs more variety for some things (kills, )
- cvar for isalve revivals (code is already written, just uncomment it)
- mp_edictsorting for high priorty ents isn't needed. You can increase delta.lst values and the client is fine with that
- maybe have barnacle flip your view so you can't kill it
- looped music restarts when leaving audible range (arcade)
- voltigore beam shouldn't be interruptable (eastbase1 behind door)
- respawning takes out of camera
- should be able to stunklock agrunts with headshots?
- sometimes not seeing bullet impact effects/blood? packet loss?
- dropping weapon in water doesnt fall slow
- shock doesnt blow up dead robos
- tentacle too much hp and should maybe stay dead (invasion2)
- egon should gib corpses
- spectate afk timer bullies
- underwater use animation
- hlbugfixed cl_forceteammatesmodels breaks custom models
- no weapons animation on player
- crouching on pushable is a lag fest. Test if vanilla hl server also has that problem
- crossbow sniper mode has no impact sound?
- visual feedback for gauss explosion and self-hit logic
- head hitbox for houndeye (oneshot with revolver)
- dropped shotguns give 8/4 ammo not 12
- reload sounds should be quieter for other players
- hud_centerid not centering second line for hp
- tentacle sounds not working outside of hl
- different fall noise for falling on player
- crossbow icon for pitdrone spit and other projectiles from monsters
- turn off status hud after kill
- just call zombie barney/solider "zombie"
- elights + dlights for shock beams and voltibeams
- make all monsters flinch like the alien grunt (20 heavy damage for idle flinching, but less flenching while attacking)
- some indicator that a player is taking timed damage
- stop cowering from grenade sounds after it explodes
- laser gun in adventure_1 not counting as player kikll
- replace injury with nothing and suicide with own name
- head hitbox for assassins, zombie grunts, hwgrunts custom models
- shooting grunt interrupts its reload and then it immediately reloads again
- add SCHED_CHASE_ENEMY_FAILED Logic from kingpin to other monsters that have ranged attacks and chase enemies (voltigore)
- play mp3 on connect, not join (it gets reset on join) (can't really, don't know if they have the file yet)
- show respawn timer for inventory items that are waiting to respawn
- black ops should fight hecu
- alien grunts fight race x
- big momma armor should take full damage from shock and displacer and maybe egon
- rpg grunt fire faster (0.5s) and maybe less accurate so you can dodge
- projectiles should go where you aim, rpg laser more responsive(toggle at any time)
- sc_reflux has better snow but can't do sideways scrolling ig
- grunt melee attacked by voltigore in sight but still shooting at me, the lesser threat
- corpse should gib if you die while falling
- points for crushing things with vehicles
- show breakable in kill feed if it gives points
- rejoins should make you lose multiplier, if they've been in the game for X amount of time (not for fastl dicsoncetin)
- don't drop weapon until respawned if map has medkit
- grapple should gib corpse
- late joiners to a series should be penalized (lots of dying in tombofdeath-1 so you get nerfed if you played from map 1)
- should get credit for using a breakable or tripmine to kill something
- use interpolated monster origin for camera targets (pizza_ya_san1)
- option to change blood color other than red/yellow
		-1: DONT_BLEED;
		0: Monster Default
		1: BLOOD_COLOR_RED;
		2: BLOOD_COLOR_YELLOW;
		3: BLOOD_COLOR_BLUE;
		4: BLOOD_COLOR_PINK;
		5: BLOOD_COLOR_WHITE;
		6: BLOOD_COLOR_ORANGE;
		7: BLOOD_COLOR_BLACK;
		8: BLOOD_COLOR_DARKGREEN;
- corpse fall slow in water
- suit voice: skip battery message if already a level higher, stop sounds on respawn
- bad guys shouldnt get score from killing each other

--------------------
Misc
--------------------
investigation notes:
- player name preserved on map change unless downloading files? rename not always shown. also if rejoining name is kept
- mem usage goes up like 4% for each player joined?

hl 25th todo (didn't copy over yet):
- CHalfLifeMultiplay::FShouldSwitchWeapon (cl_autowepswitch) (HLGetNextBestWeapon for singleplayer rules too)
- sv_cheats stuff (i think rehlds handles this?)
- scripted sentence changes for letting buttons or smth speak (scripted.cpp)
- snark anglevectors stuff (what is that for?)
- buster mode + HasPlayerItemFromID

low prio:
- scversion world keyvalue probably affects lots of ents in unknown ways
- thirdperson cancels cutscene
- bounce spam drop weapon on elevator going down
- https://archive.svencoop.com.br/web/svencoop/20230220030651/https://sites.google.com/site/svenmanor/entguide/input_output_ref
- triggers support wildcards (e.g. target = "asdf_*")
- naming a game_end "game_end" prevents it from being triggered
- friendlies not aiming at osprey motors
- env_laser flickering between actual position and 0,0,0 (pointless_b2)
- update reload time to fit weapon animation for custom models
- custom muzzle flashes/events
- show hud what opens doors, what buttons do, etc. (random shitty mapper logic)
- AllocBlock full after 100 map changes or so (client engine problem)
- hornet and shock gun can instant reload by dropping
- why do dead players have better collision than corpse?
- gruntwar floating guns when wall broken
- holding reload on mp5 reloads it twice
- hwgrunt goes idle after a kill and spinning sound stops?
- agrunt custom model without bees trying to shoot bees and not moving? re_evil_directors_cut
- dont allow changing some cvars unless special cases (mp_weaponstay, forcerespawn)
- fall damage for monsters
- getting stuck jumping out of water sometimes
- custom gibs for every monster
- respawn vehicles that leave the map
- try updating richpresence_ vars and scr_connectmsg
- item code duplication (weapons, ammo, items, weaponbox)
- monster code duplication for things like damage and death (basemonster, machines, special monsters)
- physics for sentries
- create a million different idle animations to handle sentences for grunts/otis/etc without precaching?
- turret bezerk death should show skull
- fem assins dont have room to jump away from nade so they flip in-place and go nowhere (sparrows_op_1)
- deluge crossbow not precached -marcu
- pitdrone and gonome also running into wall forever
- displacer portal should have max lifetime (one lost all its velocity and never disappeared`)
- add skill settings for things skill cvar affected
- skill cvar for grapple damage, shock beam
- SV_BuildSoundMsg: scientist/scream07.wav not precached (running away)
- bees can glitch through solids sometimes? (sc_frogger_final bees killing turrets in red boxes in homing mode)
- door opened before it was supposed to (the_room_door "a dead end? lets have a closer look")
- bullsquid tail whip wrong kill icon
- use recent version of gcc (old version auto-includes stdint.h?)
- security cards respawning?
- golden 257 not gibbing in sectore_3
- no score for mortar captured.bsp

model todo:
- fixup turret textures (chrome triangle has wrong texture, gun brace uses some of the side texture)
- merge op4 grunt models
- merge textures for monsters that split them up too much (rgrunt, most aliens)
- merge v/p/w models
- merge zombie models
- op4 grunt mp arm isnt blue

design/vision/server todo:
- make cutscenes optional or able to skip instantly for yourself
- game_text lore and author comments should be removed from any maps that are meant to be serious
- auto-add env_sound to maps that don't have it? the campaign feels more immersive with it. Almost like a different game.
- hl is meant to be relatively light on combat. no bullet sponges. No insta-respawning enemies
- not knowing what to do in a cryptic map might not be a totally bad thing, considering the alternative is usually grunt spam
- no waiting around for things to happen, like timed horde sections. "something needs to happen every 3-5 seconds" -gaben 

unreproducible bugs:
- gordonsci2 sequence never plays for button. He just stares at the button
- dead grunts/robogrunts(?) sometimes get stuck shooting invsiibly despite having no body or smth
- egon was stuck on for other player
Repository owner locked and limited conversation to collaborators Feb 10, 2024
@wootguy
Copy link
Owner Author

wootguy commented Nov 18, 2024

I've noticed that new players can't do most sven maps because they're poorly designed and give no clues on what to do. So, I'm also working on making a plugin that tells you what to do and where to go in every map, complete with pathfinding that accounts for what a player can/can't reach in the moment. This will speed up map testing, detect when a map is softlocked, and lay the groundwork for better pathfinding for bots and npcs in the future. A huge project on its own. This is also high priority because whenever I do add new maps, I often see players complaining:

X: this map sucks
X: what do we do
X: pls rtv
X: rtvvvvvvvvvvvvv
- X has left the game.

In sven this is less of a problem because there is usually a veteran there who's played every map 30 times. HL on the other hand got an influx of new players who are still learning how to crouch jump.

@wootguy wootguy added the documentation Improvements or additions to documentation label Dec 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant