Forum posts

BSP is telling you that your map has a leak, fix it.
I joke that people in TWHL insists you need to edit the half-life SDK code and produce your own custom DLLs at the slightest problem but I'm afraid this is the case for this one.
Yup, that's the case.

More specifically, the battery percentage is there, the first highlighted line of code move the starting point a slightly bit to the right of the H.E.V. suit icons (empty and full). The second one actually print the percentage.

As for the line you're refering to, it's called a "divider" and it's part of the health HUD. The code you need to remove is there (the highlighted one).
The source code of TFC is not available to the public and I heavily doubt Valve would agree to release it as they made crystal clear that they would stop doing so in response to the various leaks in the past years.

There are some TFC elements in the HL source code like the player and class selection panels and minor things but the rest such as weapons, game modes, player classes themselves and many more will have to be re-programmed by yourself.

As for Metamod, AFAIK, you will only be able to change existing stuff so forget about adding new stuff like classes.
Posted 1 year ago2023-02-09 15:49:56 UTC
in Client compiling Weapon problem. Post #347318
Without the full code of the weapon you're trying to program, this is complicated to tell exactly what's wrong.

My guess is that the projectile (in this case, the nail) is both part of the client and the server. The projectile should only be on the server (between an #ifndef CLIENT_DLL and #endif block), look at the RPG's rocket, snark as a monster or placed tripmine for an example.
Can you give a more in-depth description of your mod? We don't know if it's singleplayer or multiplayer or both, the sypnosis (if it's singleplayer) and such.
Making the maps
Splash Screen and Artworks
Sounds and Musics
Voice Acting
Designing (characters, maps, etc.)
Story and script writing
Post some stuff of what you already did.
Posted 2 years ago2022-10-04 17:44:56 UTC
in Wiki enhancment thread Post #346935
I think the lists of attributes and flags in the entity guide are mostly based off of the official FGDs. Which is unfortunate because the FGDs are far from accurate. For example the "Not In Deathmatch" flag actually works on any entity regardless of game or mod, so it should probably be included in every entity page?
I share the same feeling as well about K/V pairs and spawnflags coming from the FGD rather than the game/mod's code. While this is inevitable for games/mods with closed source without reverse engineering (Counter-Strike: Condition Zero - Deleted Scenes and Team Fortress Classic for example), it would be best to rely on the game/mod's code whenever possible.

Sure, reading and understanding code is not everyone's forte but it's basically the truth when it comes to entity's configuration and behavior (that's how I discovered the differences between Half-Life/Deathmatch Classic/Ricochet for trigger_teleport). Non-programmers could always ask programmers to double-check or whatever if necessary (through live/Discord shoutboxes or forums).
Yeah, I think those flag descriptions should probably just be in the relevant entity pages, doesn't make a whole lot of sense to have separate ones. I think these came from the old glossary section from before we had a wiki.
I think this would make sense for "unique" K/V pairs and spawnflags that you would find in a single entity. I'm afraid it wouldn't work well for common K/V and spawnflags because it would be tedious (imagine duplicating and keeping consistency of the "Gag" spawnflag across all monsters entities for example).
But does it make sense to include a description of it on every page, when we might want to update that description some day?
That's one of the counter-argument of the point above.

If possible, I suggest to combine "the best of both worlds": have the ability to "inject" (or "include") a wiki page within another. For example: we could have a wiki page dedicated to that "Not in deathmatch" spawnflag with just the description and in the entity's page, we would just do something like [include=Spawnflag:Not in deathmatch]. The entity page would render the spawnflag page like if it was part of it's content. Need to update the description? Update the spawnflag page and it propagates automagically to all entities pages that uses it.

The inconvenient is that it would require Penguinboy to update the WikiCode parser and page rendering to add such feature (while making sure it's secured and doesn't inject anything "external").
The problem is that in the mod's grapth folder there are also .nrp files, which is curiously absent from valve's graphs folder. Even when the game can't edit the nod file (it's read only on FS level) it's still creating the nrp file, and seems to be relying on it. It seems to me that the AI system that uses the nod/nrp map combo is causing this problem, as the original game has no nrp files and it works fine.
The NRP file is basically a "report" file (or log if you prefer) giving stats about nodes, links and more. It has no relation to the NOD file containing the actual data and thus can be wiped out when shipping/releasing maps and mods.

As you probably saw when reading the code, you might have noticed that the code assumes that all func_door and func_door_rotating entities are moveable while everything else is static (including func_train, momentary_door and such). This is bad because it causes the situation you described to happen. An approach that requires a test to be validated would be to replace these hardcoded classnames checks by checking if the entity's pev->movetype is something else than MOVETYPE_NONE.
Suspecting that maps saved by bspguy compels the engine to produce this problematic node formats, I resorted to ripent-ing the props I wanted to add (VHLT's). This failed, the problematic graph formats are generated, and the same freeze happens.
The NOD file has a header and one of it's entries is the BSP's CRC checksum at the time the node graph was generated. Since you ripent-ed the BSP, the original CRC checksum is lost and thus a new one is generated (same checksum is used in multiplayer games to make sure the clients have the same map as the server). When the node graph loading code detect that the BSP's CRC checksum is different than the one that was stored while generating the graph, it assumes that the map changed and thus the old node graph is deleted to generate a new one. In other words, you can't use the original NOD file on a modified BSP.
Automatic mod setup is a plus, but I've done it so many times I speedrun it now. Besides, you won't be making myriads of mod configs, no?
I think it would be best to have no "automatic game/mod setup", just let the level designer do the manual setup as there are too many things that can be different. At least an "import/export" function to backup/restore or share a game/mod profile to a beginner and have him update it or whatever.

I saw in your document you added "Half-Life 2" support, Not to discourage you but there's a lot more work and effort than Quake/Half-Life (filesystem, material, shaders to quote one of the many obstacles awaiting for you)
and nobody uses the out of date free Jack, I hope.
There are more users of "free J.A.C.K." than "paid Steam" ones that's for sure.
Trenchbroom could be a viable option, but half-life support is still under development
A lot of progress has been made and support for GoldSrc is still on-going, it's use-able for geometry/texturing and probably most of the other things unless it's very specific.

Do note that making a level editor from scratch is going to take a lot of time, effort and knowledge. Some people who gave it a try can back that up.

If you insist so much on writing a replacement for Hammer in C++ and want a cross-platform UI framework: Qt.
Posted 3 years ago2021-04-28 19:22:41 UTC
in Enhanced Half-Life (custom SDK/mod) Post #345570
This is very interesting, looking forward to it! Keep up the good work :)

I have a few questions:
  • The overall goal is to make the smallest SDK possible while maintaining full functionality, and even expanding on features by using newer language/library features, and using code generation to help eliminate redundancy in things like save game code
  • All of HLEnhanced features should eventually be re-implemented in this project, along with merging the unique features from Opposing Force Updated (weapons, NPCs, game modes) and Blue Shift Updated (handful of entities). This should make EHL the one-stop-shop for making a mod that mimics any of these 3 games, aside from the issue of Op4 weapons having grunt hands only
Are you going to provide the ability to have these extra features toggle-able through preprocessor defines (like HLEnhanced's USE_OPFOR) or separate repositories (like Half-Life Updated) to get a "HL SDK but just cleaned up"? I know this would require a lot of work but that would be nice for total conversions which do not rely or very little on existing entities.
The UI should be replaced entirely with a VGUI2 version. The code for that exists in HLEnhanced and will be ported over later on when i tackle that task. Eliminating the use of VGUI1 entirely will help to simplify things.
By "the UI should be replaced entirely with a VGUI2 version", I'm guessing you are talking about all the existing VGUI elements (class menu, team menu, scoreboard, observer's control panel...) or are you extending this to other UI stuff (HUD based menu, ammo, crosshair, health...)?

I have an idea: a few days or weeks ago, I was talking with some other GoldSrc programmers about skill CVARs and how it's tedious to add them. As you know already, when you add a skill CVAR in the game code (not talking about updating skill.cfg), you need to add a float variable to the skilldata_t structure, create the 3 CVARs themselves (cvar_t), register them (CVAR_REGISTER), "link" the variable and the CVARs using GetSkillCvar and optionally provide a multiplayer override. This is a pain in the ass because:
  • If you want to add a 4th difficulty, you need to manually add a 4th CVAR and register it for every set of skill CVARs and don't forget to update the "hardcoded clamp".
  • Prone to human mistakes in my opinion, especially for beginners, also known as the "did I updated the number correctly in that cvar_t->name syndrome?"
I was wondering if it would be possible to simplify all of these tedious things by having some kind of CSkillCvar class that would create the appropriate number of cvar_t, register them automatically?
Posted 3 years ago2021-04-06 11:56:56 UTC
in Help me, Lords of coding!! Post #345515
The way you have programmed your item is fine if the player keeps the item in his inventory forever which is not what you want because you want the power up to be "time based".

First, remove your BOOL m_fDamageDoubler because it's going to be more confusing than helping.

In CBasePlayer (player.h) class declaration, add this:
float m_flDoubleDamageBonusTime;

bool HasDoubleDamageBonus()
{
    return gpGlobals->time < m_flDoubleDamageTime;
}
If you are not familiar with HL SDK programming: gpGlobals->time is the current game time.

m_flDoubleDamageBonusTime basically tells when the power up should be "off" and it gives you the state of the power up (game time higher than double damage time? It's off then. Double damage time higher than game time? It's on then) so you basically have 2 information in a single variable. That's why the handy bool HasDoubleDamageBonus() is made and you should use it whenever you want to check if the player has the double damage bonus (it replaces your obsolete if ( m_fDoubleDamageBonus )).

In CBasePlayer::Spawn in player.cpp, add m_flDoubleDamageBonusTime = -1.0f; to the end to properly initialize the variable (because nobody likes problems).

If you are making a singleplayer mod, add m_flDoubleDamageBonusTime to the save/restore table of CBasePlayer as a FIELD_TIME to prevent issues when saving/loading games (again because nobody likes problems).

Want to give 15 seconds of power up to the player? Just do m_flDoubleDamageBonusTime = gpGlobals->time + 15.0f;.

Like Dr. Orange mentioned, the FireBulletsPlayer method is responsible for firearms damage (crowbar, grenades and such are handled separately). That's where you do if ( pPlayer->HasDoubleDamageBonus() ) flDamage *= 2.0f; to actually apply the damage bonus.
Posted 3 years ago2021-03-08 12:10:02 UTC
in Grenade Tinnitus (Ear Ringing) Effect Post #345407
Posted 3 years ago2021-01-14 12:20:12 UTC
in Half-Life Updated (custom SDK) Post #345222
I can fix the crowbar bug, but what's the double shot bug exactly? Just so i know what to look for.
Probably the fact that client prediction can call events twice, I opened this related issue back in 2015.

Mods can compile the SDK without the CLIENT_WEAPONS pre-processor define enabled. This will however require the programmer to move the client sided stuff back to the server for weapons. In other words: revert what Valve did when they introduced the client prediction system. An alternative is to set the cl_lw CVAR (Console VARiable) to 0 (false).

However, I strongly advise to not do that since they are more "workarounds" rather than "proper fixes", especially if the mod supports multiplayer.
Posted 3 years ago2021-01-14 09:55:15 UTC
in Half-Life Updated (custom SDK) Post #345219
This is really interesting stuff! Does this fix the fast crowbar gib bug and the double shot bug from the glock's secondary fire?
No for both.
Posted 4 years ago2020-11-20 18:30:19 UTC
in Need help with Activities and NPC coding Post #344910
I second Captain P advice, the way you are doing it right now will involve a lot of code duplication and that will put a lot of burden when maintaining it.

Sometimes in situations like these, it's best to make methods that solve small but repetitive problems. In your case, one small problem is "how do I convert the pev->weapons value to a C string that would match the animations names" and "how do I handle the standing up/crouched difference".

Then you combine both solutions to get the "final answer" to your original problem which was "how do I get the proper value to use in LookupSequence ". In the end, you have something like this:
/**
 * Returns the name of a sequence for this monster based on his stance (standing up or crouched), a specific name and his current weapon's name.
 * @param szName The name of the sequence without the stance ("ref_" and "crouch_"), weapon's name ("python"...) and any underscore.
 * @return The corresponding sequence name.
 */
const char *CMyMonster::GetSequenceName( const char *szName ) const
{
    static char szResult[32];

    strncpy( szResult, m_fStanding ? "ref_" : "crouch_", sizeof( szResult ) );
    strncat( szResult, szName, sizeof( szResult ) );
    strncat( szResult, "_", sizeof( szResult ) );
    strncat( szResult, GetWeaponIDAsCStr(), sizeof( szResult ) );

    return szResult;
}

/**
 * Returns the name of the weapon this monster is currently using as a "C string".
 * This is used to select the proper sequence when performing activities.
 * @return This monster's current weapon name.
 */
const char *CMyMonster::GetWeaponIDAsCStr() const
{
    if ( pev->weapons & HEVSCI_PYTHON )
        return "python";
    else if ( pev->weapons & HEVSCI_SHOTGUN )
        return "shotgun";
    else if ( pev->weapons & HEVSCI_MP5 )
        return "mp5";
    else if ( pev->weapons & HEVSCI_CROSSBOW )
        return "bow";
    else if ( pev->weapons & HEVSCI_RPG )
        return "rpg";
    else if ( pev->weapons & HEVSCI_GAUSS )
        return "gauss";
    else
        return "onehanded";
}
Which you can use like this:
void CMyMonster::SetActivity( Activity NewActivity )
{
    int iSequence = ACTIVITY_NOT_AVAILABLE;
    void *pModel = GET_MODEL_PTR( ENT( pev ) );

    switch ( NewActivity )
    {
    case ACT_IDLE:
        iSequence = LookupSequence( GetSequenceName( "aim" ) );
        break;
    default:
        iSequence = LookupActivity( NewActivity );
    }

    if ( iSequence <= ACTIVITY_NOT_AVAILABLE )
    {
        // Not available try to get default anim
        ALERT( at_console, "%s has no sequence for act:%d\n", STRING( pev->classname ), NewActivity );
        pev->sequence = 0; // Set to the reset anim (if it's there)
        return;
    }

    // Set to the desired anim, or default anim if the desired is not present
    if ( pev->sequence != iSequence || !m_fSequenceLoops )
        pev->frame = 0;

    pev->sequence = iSequence; // Set to the reset anim (if it's there)
    ResetSequenceInfo();
    SetYawSpeed();
}
Assuming your monster is crouched, uses the Python and you want the corresponding aim sequence, GetSequenceName( "aim" ) will return crouched_aim_python.
Posted 4 years ago2020-11-19 22:28:35 UTC
in Need help with Activities and NPC coding Post #344895
For the RPG, inspire yourself from the player weapon or the func_tankrocket entity (HGrunt uses them during the "On A Rail" chapter).

For the crossbow, inspire yourself from the player crossbow weapon (or the bullsquid spit attack).

The Gauss and Egon will require some extra work since some effects are done on the client side. I guess you will have to "copy and translate" all the effects from the client to the server.
When the game/mod starts, issue the map <your fancy background map here> command
This can be done by putting the command in a RC or CFG file.
have some kind of if ( thisIsMyMenuMap ) condition to show that new main menu (powered by VGUI or another UI framework if you use one). Then you issue commands depending on the buttons being clicked. For example: "New Game" button would issue map <your first map here>. "Load game" would load up the default load dialog.
That would be client sided.
Posted 4 years ago2020-06-20 12:29:28 UTC
in hl1 weapon coding bug Post #344439
Okay, there are some stuff I've noticed about your weapon code. First, the secondary attack:
void CFuckfinger::SecondaryAttack(void)
{

void;

}
If your weapon does not have a secondary attack, then it is useless to override it in your weapon class, also that void; thingy is useless (maybe you meant return;?)

Now onto the reload:
void CFuckfinger::Reload(void)
{
    // Ammo check and actual reload code here

    if (iResult)
    {
        m_flTimeWeaponIdle + UTIL_SharedRandomFloat(m_pPlayer->random_seed, 10, 15);
    }
}
The problem here is that you calculate the next weapon idle time but you never assign the result, you missed a m_flTimeWeaponIdle =

And finally the weapon idle code :
void CFuckfinger::WeaponIdle(void)
{
    // Reset empty sound, autoaim and "time to idle check" code here

    if (m_iClip != 0)
    {
        int iAnim;
        float flRand = UTIL_SharedRandomFloat(m_pPlayer->random_seed, 0, 1);

        if (flRand <= 0.5)
        {
            iAnim = FUCKFINGER_IDLE;
            m_flTimeWeaponIdle + 70.0 / 30.0;
        }
        else if (flRand <= 0.7)
        {
            iAnim = FUCKFINGER_IDLE;
            m_flTimeWeaponIdle + 60.0 / 16.0;
        }
        else
        {
            iAnim = FUCKFINGER_IDLE;
            m_flTimeWeaponIdle + 88.0 / 30.0;
        }
        SendWeaponAnim(iAnim, 1);
    }
}
There are 3 problems here, the first one is the identical to the reload problem (you calculate the next idle times but you never assign them). The second problem is that you forgot UTIL_WeaponTimeBase() in the calculation which is the current game time. And the final problem is that you are randomly picking one of 3 possibles scenarios but all of them play the same idle animation (the idle time being the only difference). You could simplify your WeaponIdle function to something like this:
void CFuckfinger::WeaponIdle()
{
    ResetEmptySound();
    m_pPlayer->GetAutoaimVector(AUTOAIM_10DEGREES);

    // Play idle animation only if it is time to do so and the clip/magazine isn't empty
    if ( m_flTimeWeaponIdle > UTIL_WeaponTimeBase() || m_iClip <= 0 )
        return;

    SendWeaponAnim( FUCKFINGER_IDLE );
    m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 3.0f; // Assuming your idle animation duration is 3 seconds
}
Next time when you post code here, post it in a code block so that's it's easier for everyone to read, see the formatting help wiki page for details.
You can try to do something similar à la Cry of Fear but this involves re-creating the main menu itself.

When the game/mod starts, issue the map <your fancy background map here> command, that map would trigger an entity or your code would have some kind of if ( thisIsMyMenuMap ) condition to show that new main menu (powered by VGUI or another UI framework if you use one). Then you issue commands depending on the buttons being clicked. For example: "New Game" button would issue map <your first map here>. "Load game" would load up the default load dialog.
Posted 4 years ago2020-06-19 19:46:02 UTC
in hl1 weapon coding bug Post #344427
It would be a lot easier if you post the code so we can help you.
Posted 4 years ago2020-06-11 17:29:30 UTC
in Need help with broken buttons in mod Post #344394
Have you tried cleaning and building again the solution?
Posted 4 years ago2020-06-11 17:27:44 UTC
in SharpLife - Dot Net Core based modding p Post #344393
There will be a SL Single-Multiplayer source then?It is not that I will start anything in a near future, but it could be interesting for people to start doing something cool with the GS code using your "mod".
No, Solokiller said in a previous post when he redesigned the engine that the game source code is gonna be a "client/server/shared" architecture where client-only stuff goes into the client part, the server-only stuff goes into the server part and everything common to the client and server goes into the shared part.

It's basically the same architecture as Source which he also used in HLEnhanced.

Unless everything changed fairly recently, there is a year gap between the mentioned post and this one.
Maybe the target (aka the monster to follow) becomes invalid at some point and the game crash due to an attempt to access an invalid pointer.

Try implementing this fix I made for Parasomnia and see if it solves the problem or not.
Posted 4 years ago2020-01-12 13:59:24 UTC
in TWHL Tower 2 Post #343605
Reminder to hammermaps and SourceSkyBoxer that there is likely gonna be no code change and TWHL Tower 2 is gonna stick to vanilla SoHL 1.8. It's way too late to change the "base" anyways.

I would like the deadline extension as well.
Posted 4 years ago2019-12-18 07:35:54 UTC
in Hidden gems / Underrated games? Post #343477
Replayed Raven Shield recently with the Elite Counter Terror mod, it's always fun to play the game.
Posted 4 years ago2019-12-09 05:57:34 UTC
in Hidden gems / Underrated games? Post #343452
Half-Rats: Parasomnia, a lot of players played the game and stopped because it was either "too hard" or "lost". I guess this means that players are way too much used to navigation assistance (beacons, quest markers, GPS...) and no longer have the desire of exploration and a sense of orientation (something that the Thief series except the 2014 reboot heavily encouraged).

DeathMatch Classic, it's just Quake on GoldSrc.

Ricochet because of it's gameplay.
Here's how I would see things:
  • Introduction (why do we have rules in the first place)
  • Rules that applies to both here and Discord (the existing TWHL rules: 'be nice, no piracy, no spam' are enough, each detailed in a sub-title)
  • Examples of bad behavior that we don't tolerate
  • Consequences for disobeying
  • Reporting bad behavior to moderators & administrators
All of these in a short size (like a single A4 page should be enough) and using simple sentences (no "lawyer style language"). The references that PenguinBoy posted could be use to reform complicated rules (if needed) and examples of bad behavior.
Posted 5 years ago2019-11-22 13:03:34 UTC
in Half-Life: Alyx Post #343386
btw how long do you think until someone will create a non vr version mod ? XD
A "flat" version of HL:A would be "boring" as you would lose all the interactions that VR grant.

Source: The Final Hours of Half-Life: Alyx (20 min interview).
My speculation is, less than 4 months after the SDK releases, if they provide one.
Right now, it is confirmed that we'll have Hammer 2 for HL:A. As for a "standard source code" à la GoldSrc/Source (even complete), nothing official yet.
Posted 5 years ago2019-11-21 21:11:44 UTC
in Half-Life: Alyx Post #343372
Hammer 2 for the Source 2 engine which you can already mess around through Dota 2 tools and/or Steam VR.
Posted 5 years ago2019-11-04 11:36:13 UTC
in TWHL Tower 2 Post #343303
Can't you use "fake" fog? By "fake" I mean sprites, func_illusionary, non-solid func_conveyor...
Posted 5 years ago2019-11-01 21:11:52 UTC
in TWHL Tower 2 Post #343280
Give me some info before... What game mode will be used, singleplayer with deathmatch 0 or multiplayer with deathmatch 1? Is gauss hopping allowed?
Likely singleplayer, as for gauss hopping, it depends if Spirit of Half-Life 1.8 allow it in singleplayer.

I can try to participate.
Posted 5 years ago2019-09-10 16:07:48 UTC
in The ~Video Game Music~ Thread Post #343118
Painkiller - Mech
Posted 5 years ago2019-06-17 11:36:02 UTC
in Locking a .BSP file? Post #342747
Decompiling a Source map is the same as GoldSrc. It's possible but it won't produce a 1:1 replica and it might end up with errors.

As others mentioned, give some time to another mapper and he'll fix the decompiled stuff and/or recreate it from scratch.
Posted 5 years ago2019-06-05 22:51:39 UTC
in Help with gauge creation Post #342700
This is from a Zombie Panic! Source map I made years ago.

Each "tick" (white brush) is a "func_brush" with a different name. At the beginning of the round, I call the "Color" input on all of them with the red color to tell "0%". There are 10 ticks so one tick = 10%, when the objective would reach 10%, I call the "Color" input on the first tick in green and I would repeat for the next tick every 10%.

A potential GoldSrc equivalent of this system would be to use "func_wall" instead of "func_brush", "env_render" instead of "Color" input and a "multi_manager" to replace Source's I/O system.
Posted 5 years ago2019-04-01 11:38:42 UTC
in Post your screenshots! WIP thread Post #342376
RB-DOOM3-BFG?
Posted 5 years ago2019-03-13 06:47:06 UTC
in A Utopia At Stake Post #342249
FMOD does support MIDI out of the box on Windows. On other OSes lile Linux, you will likely need a soundfont first.

It's possible to detect if the game window has focus with SDL2 (assuming you are using GitHub SDK), I need to find the code again but it is possible.
Posted 5 years ago2019-03-13 06:44:21 UTC
in TWHL Modded Minecraft Server (Final attempt) Post #342248
Like potatis said, you need to increase the "Xmx" parameter which is the maximum heap memory allocation on the Java Virtual Machine (JVM) to at least 6 Gb. Google has plenty of tutorial about that.
Posted 5 years ago2019-03-08 07:19:45 UTC
in Half-Life: The Core Post #342186
I would have rushed something out in the last year or so to get it over the line.
Don't make the same mistake as we did with Half-Rats: Parasomnia. Take the time you need to finish it and most importantly: have a lot of people playtest the shit out of it (different play styles, profiles...)
Posted 5 years ago2019-03-08 07:15:40 UTC
in TWHL Modded Minecraft Server (Final attempt) Post #342185
Maybe the server needs to self restart at some time where nobody plays.
Posted 5 years ago2019-03-05 16:44:35 UTC
in More mods that never were... Post #342161
Knowing how Gearbox (especially Randy) is very protective of the DN trademark/franchise, I doubt that releasing the 2001 build of DNF for free would be allowed, but you never know.

But I do agree with you that the E3 2001 trailer and the in-game footage (from the released build's extras) felt more convincing than what we have today.
Posted 5 years ago2019-03-05 12:26:50 UTC
in Half-Life: The Core Post #342158
In all seriousness, glad to see you haven't abandoned the project and you are still working on it.
Posted 5 years ago2019-03-05 12:10:22 UTC
in Half-Life: The Core Post #342156
Should probably finish this mod, huh?
Not sure if this is the truth...... or a trap for hype.
Posted 5 years ago2019-03-05 07:43:04 UTC
in TWHL Modded Minecraft Server (Final attempt) Post #342149
Started playing a little bit yesterday, did a lot of exploration of the world (for the map). I took the liberty of visiting your homes, bases and you guys sure have talent for building stuff, I was impressed.

Started some very minor digging stuff, I claimed some territory to the east of potatis_invalid's home (near the snowy "mountain").

Since I'm a newbie with all this modded stuff, can anyone guide me for building an item production facility?
Posted 5 years ago2019-03-04 21:05:56 UTC
in More mods that never were... Post #342141
Half-Counter mod
Premise
Story wise: G-Man ordered Gordon Freeman to erase all traces from the Black Mesa Incident that could link back the Resonance Cascade to him. You were supposed to play the first chapter with him. At the end of that chapter, you would learn that the U.S. Marines called the rest of the world for assistance with the incident, you were supposed to play the second chapter as a GIGN agent and it goes Half-Life: Opposing Force again. Final chapter would be Gordon Freeman dealing with a boss and the ending would open to a potential sequel.

Gameplay wise: the mod was supposed to be a "CS/HL" hybrid. As Gordon Freeman, you would keep the HEV suit and the standard HL weaponry as well as some from Opposing Force. As the GIGN agent, it would be more like CS where it would get "tactical".

Technology wise: I decided to use the Half-Life: REBIRTH's source code for it's various improvements.

Progress
Took the existing Half-Life: REBIRTH source code and made minor changes, I made a single not completed map which was basically a 2048x2048x2048 outside area with a lot of polygons to simulate highly detailed terrain. I remember that I also tried to model the terrain in Hammer 4 (Source) with displacements, export to models with Propper and use "env_model".

What happened?
I basically pulled the plug when I realized that I needed more experience within HL's engine before diving in a serious project like that. School and real lives were not on my side at that time too. I also realized that I was asking too much from the engine.

Revenge of Love mod

I don't consider this project "dead" yet since I might "revive" this some day, probably on GoldSrc or another engine. But since I haven't actually touched that project for years, I think it can be discussed here.

Premise
Story wise: not gonna spoil the entire story for the reason I stated above. You would play as a french student that nobody care about him due to his taste for metal music, not going to parties, not having friends... Nobody except a childhood friend that has always been there for him. One day, he confess his love for his childhood friend and he finally found something/someone to live for. But in a sudden, the school would get attacked for an unknown reason and the police stated that only one student survived and only one is missing: his childhood friend. Since he "had nothing to lose", he went to make his own investigation.

Gameplay wise: the mod is supposed to be an old school Quake/Painkiller/Unreal shooter with some features from modern shooters.

Technology wise: prototype was made in GitHub SDK then switched to Xash3D until Arrangement was complete so I could switch back there (again for the tech. improvements).

Progress
Had the weapons done (assets were placeholders tho) and basic gameplay mechanics like sprinting, "rage mode" (temporary damage multiplier). Had the basic layout of the school done as well.

What happened?
Same reasons as Half-Counter but also for another obvious reason that you might have guessed while reading the story. I know talking politics in TWHL is against it's rules but allow me a small exception for a small moment. If you read correctly the story above, you might have noticed the sentence "school would get attacked". As you might know already, "school" and "violence" (especially with weapons) is a VERY sensible subject in our world (especially in the U.S.). I never planned to showcase any "shooting inside school" scene but the simple fact of talking about it in a video game is enough to sparkle attention. So if I pick up the project again, I will likely remove that part from the script and I will have to tackle this from another angle.
Posted 5 years ago2019-02-05 18:26:26 UTC
in Can´t find "hud.h", but It´s in there!! Post #341976
Check the "include directories" in the project's settings
Very excited. Have an idea in my head that I've wanted to try for ages. Does it strictly have to be HL1 / Source or is something like Sven Coop applicable?
The competition refers to "the" player in singular, so I'm guessing that only singleplayer games in the Valve universe are allowed.

But best to wait for an official confirmation from Urby. Something worth a note and he confirmed that to me directly on Discord: Counter-Strike: Condition Zero - Deleted Scenes is forbidden.
I think that engine's choice does matter, if you haven't done it already, you should look at this GDC presentation from Warren Spector about Deus Ex 1, the engine related part is at 36:20 :
Another example is PAYDAY: The Heist and PAYDAY 2 where the "Diesel" engine has been created for racing games in mind ("FlatOut" IIRC). IMHO, Overkill didn't took enough time to remove that "racing" foundation and replace it by a "FPS" one. This is heavily noticeable on PAYDAY 1 (network issues) and PAYDAY 2 (especially during it's launch period).

I'm not saying that Unity/UE4 are nowadays the "must use engines". A game under QuakeWorld, GoldSrc, Source, CryENGINE 1 or whatever engine still could make wonders. I haven't played Ion Maiden and Dusk but from what I see on the Internet, people are enjoying it despite using "old tech".

"The right engine in the wrong video game can make all the difference in the world"
Posted 5 years ago2019-01-22 12:20:02 UTC
in RunThinkShootLive's Ville Competitions Post #341779
Well, the issue there would be the difference between Source and Goldsource. I have no idea how to set up a Source mod. :P
I can handle that.
And can we get an official word specifically on custom code, because I feel like that is sort of a different level of custom content that doesn't tend to fit with these sorts of competitions.
To be fair, the code and binaries would need to be open to everyone even non-programmers.

Time to get myself ready this February then ^^
Posted 5 years ago2019-01-21 14:49:09 UTC
in Post Your Desktops Post #341763
Sorry, I should have added more details.

By "HDD eater", I mean that the disk I/O usage always was at 100% on a 7200 turns per minutes HDD, fresh installation.