Half-Payne - Back to work
I'm back to working on Half-Payne mod, which combines gameplay bits of Half-Life and Max Payne. The main reason for no activity these months was lack of motivation to continue. I wanted the next update to be focused on having actual Max Payne content instead of providing just pure gameplay features, but unfortunately people who suggested their help with models didn't manage to finish the required work while I didn't much push for it. Not having progress on models was ruining motivation.
MODELLING AND EXPORT PAIN
But several weeks ago I decided to learn basics of 3D Modelling with Blender, it's something I needed to learn anyway. Surprisingly it went fast and productive, and then in 1-2 weeks I already understand how I can use it for my GoldSource needs.
Blender workflow for GoldSource sucked though, because SMDs exported by this plugin were only compatible with StudioMdl for Source, and GoldSource version complained about bones being incorrect. The traditional solution to this problem was importing\exporting the SMD in Milkshape or manually fixing the SMD file yourself. Quickly realising that I won't tolerate working like this at all, I modified the Blender plugin so it'll correctly export SMDs for GoldSource.
Developer of the plugin is aware of commit, and it should end up in the next version. The changes got into official 2.9.0 release of the plugin.
With understanding of how modelling for GoldSource works, I started with something easy: replacing medkits with actual painkillers.
Then I tried modelling a med cabinet from scratch to replace brush based med chargers.
I don't like the texture work here - there's almost no shading, but I mostly care that now it's an actual cabinet with real painkillers, the appearance can be polished later anyway.
Actually replacing med chargers with these cabinets was more difficult than you may think. The real catch here is that original med chargers were brush based - you just make a whatever brush in Hammer and declare it as med charger, the appearance of this brush can be anything, including textures. The new cabinet is now an actual model which has distinct appearance and must face the correct angle, the question is - how do we define the correct angle when brush doesn't provide such data? The problem ended up being solved in a tricky way, in short: using brush's mins and maxs values, which provide you with brush's coordinates - you can find out if the med charger is looking to the North\South or East\West, after that I'm making a trace back and forward from charger's position, the trace that doesn't end up in the wall immediatly hints at the correct angle that has to be set. The whole monstrosity is here, I think it's done in a stupid way, but if it works then it's not stupid anymore.
Painkiller positions and angles inside the cabinet are random, makes the thing look more real.
DUAL WIELD PISTOLS
One of the most crucial things about Max Payne is being able to dual wield guns. This is something I really wanted to have from the beginning, but it couldn't be done because of my requirements to the model and it's animations.
For the next update I decided to work only on dual pistols, it's unlikely that I will do Uzi-like weapon (unless someone will bother modelling it). If you pick up a pistol while already having one - you can now shoot from two. Most games were providing dual pistols as separate weapon, which could allow for more simple implementation - you can count both clips as one. But in this case, the second pistol you pick up is same and we need to keep the option of using single pistol. Imagine if you were shooting only from one pistol and then switched to duals only to see that your ammo in clip has been replenished - this breaks immersion and is just unrealistic. I had to make both pistols independent from each other and so they would have their own clips, which would also dictate on how animations should be played while shooting, reloading or idling. Animations were messy, because you need to consider all cases, like reloading both pistols or only the left one, or reloading just the right one while the left one is unloaded.
After implementing dual pistols, I had to give a reason for using them, so I just decreased rate of fire for single pistol alittle.
Revoler (Colt Python) has been replaced with Desert Eagle from Opposing Force. It's a weapon that was present in original Max Payne and it seemed like a perfect fit. I didn't need the laser sight though, so it had to be cut.
POWER ARMOR IS FOR PUSSIES
Why would Max Payne wear HEV suit? Don't ask me why they'd allow him to do the experiment without HEV, but I think it had to be replaced. So I ended up with this funny thing. I should move it to the Freeman's closet where it would be more appropriate.
- Try to implement bullet physics like in original Max Payne games. I can't decide yet if it should be optional, enabled by default, or only available in slowmotion - only actually trying this will tell.
- Provide faster weapon drawing animations when you're in slowmotion, maybe increase rate of fire for some weapons in slowmotion (shotgun?)
- Allow to use configuration files that modify the game and entities outside of Black Mesa Minute, so you could use instagib, or play the whole game like Akimbo Assassin without time limit.
Score attack gamemode with combos instead of time limit? This will require separation of config files first.
- Max's commentary on painkillers, damage, weapons acquired, whatever.
- Allow to play any sound on certain triggers with usage of configuration files, this will allow for Max's commentary on game events without editing entity list inside maps (which would really blow the mod size).
- Fix bugs that have been found out recently.
- Something else?
- Maybe your suggestion could end up here
TITLE SCREEN CONTRIBUTION
Here's something you can help with: design an action scene with Max Payne diving in Black Mesa and shooting bad guys so it could be put in the main menu! If you're up to it, original model from Max Payne 1 must be used, usage of dual pistols is preferred, which should be original Valve's HD berettas, because that's what is being used in the mod. The picture must be in the 4:3 format.
Ninja_Nub[NOR] provided some of the scenes he made. I really like the first one and it might end up in the mod if there won't be any better alternative.
I made Twitter account recently with aim to post development bits here and maybe catching more attention for this mod, so you may follow me if you're interested in that.
I remind you that there's GitHub repo with Half-Payne source code. You can spot some of the features here that I didn't find worth mentioning.
I'm always open to suggestions and support. While I can handle simple modelling issues myself now - I'm still really amateur, you can see that in dual pistol animations.