Post news Report RSS Half-Payne - March Progress

I've got enough progress this month to sum it up in a new article: Bullet physics, Max's commentary, Custom game modes.

Posted by on

HALF PAYNE - MARCH PROGRESS



BULLET PHYSICS

I've implemented basic bullet physics which affects pistols, machine guns, shotguns and turrets. A bullet in Half-Payne is very simillar to crossbow bolt but with a different model and an additional trail simillar to original Max Payne games.



It looks great in motion, and ability to see the bullets coming at you during slowmotion may provide even more help in combat.
At the same time bullet physics might affect gameplay in a negative way. Default maximum velocity (sv_maxvelocity) for all entities is 2000, and it seems like dodging bullets both by player or enemies may be way too easy in open environments, such as Black Mesa outskirts or Xen. I wouldn't like to increase default maximum velocity in case of potential bugs.
One of my favorite feature in Half-Payne is being able to shoot grenades flying at you, and slowmotion really helps here, but if bullet physics is enabled for player weapons - it becomes really difficult to hit the grenade because of it's size. If you ever done airshots with rocket launchers before - imagine this becoming even more difficult.
Considering the problems above, I've decided that by default, bullet physics will be enabled only for enemies during slowmotion - this will motivate player to use slowmotion more so he can avoid hitscan bullets, and yet retain the ability to shoot grenades. Such bullet behaviour is simillar to Max Payne 3.

In case you're not satisfied with my opinion on bullet physics, you'll be able to choose from several new [mods] for custom game mode configuration files:

  • bullet_physics_disabled (no bullet physics whatsoever)
  • bullet_physics_enemies_and_player_on_slowmotion (bullet physics is enabled for both enemies and player only during slowmotion)
  • bullet_physics_constant (bullet physics is always present, like in Max Payne 1 or 2, trails are not displayed when there's no slowmotion)

While implementing bullets flying wasn't really difficult, there was a little challenge making the bullets fly under the angle - like from actual guns instead from center of the screen (or player's mouth), and yet hit the aimed spot correctly. The problem was resolved with this horrible function which required some of basic geometry knowledge.

There also was an interesting thought of implementing ricochets so you could be all Revolver Ocelot like, but it's not planned for the upcoming update.

BULLET TRACERS

Along with bullet physics, missing bullet tracers were implemented. If you ever shot MP5 in HL1 you could notice the bullet tracers, but such tracers were not present for pistols or shotgun.


CUSTOM GAME MODES

You may remember Black Mesa Minute, which is a custom time trial game mode. To play it, the configuration file is required which defines the rules for the game mode and also can have other effects such as instagib, weapon restrictions, deadly headshots and others.

But I didn't like the fact that latter were only available for Black Mesa Minute (bmm). In the next release you'll be available to specify these minimods for Custom Game Modes (cgm) in separate configuration files that can be parsed with 'cgm' command just like 'bmm'.

I had to completely revise my config file parser and the way I manage the game rules to ease the support of both 'cgm' and 'bmm' game modes, to have a better base for upcoming Score Attack game mode, and this will also help in parsing audio file lists (explained below) for vanilla game mode.

DYNAMICALLY EMBEDDED SOUNDS

The idea of Max Payne commentary during gameplay was something I had in my mind even during early builds of the mod. But since this is a content-related thing, it's being implemented only now.
And I'm not talking about events like picking painkillers or weapons because it's easy to implement, but actually reacting to events that happen in the game world.
You could see it in action from one of my tweets or video above - these are actual sounds playing during the gameplay and with configuration files you specify them to be whatever you want.

[maxcommentary]
c1a0e 78 max/show.wav 7 // after teleporting into pitch black during cascade resonance
c1a1f 87 max/show.wav // looking at dying Barney

// [sound] can be used instead of [maxcommentary] if sounds
// have to be affected by slowmotion and to bypass max_commentary cvar

Most of the in-game triggers and interactions can be hooked to play a sound after that.
It's also possible to delay sound effects - this is crucial to achieve some of the greatest commentary like "I didn't like the way show started" in the video.

I'm terrified of knowing that one day I'll have to go through ALL Max Payne quotes from all his games, so I could decide which would fit in the game. While I didn't get here yet, you can shoot your suggestions on this.

GIBBABLE BARNACLES

I've got this random thought recently: what if we could actually fully destroy barnacles? From now on they're gibbable with explosions or charged gauss shot.


PAYNE CLOSET oh god this is real now


IN CONCLUSION

I'm not really satisfied with my pacing. I thought I'd finish most things in a month, but it seems like only 1/3 or half has been done. The main reason is that I mostly spend evenings working on the mod compared to whole days back in summer, and sometimes these evenings end up really unproductive.

I remind that you can contribute to Half-Payne with your suggestions, by making a picture for main menu, or just making gameplay videos which would be a great feedback.


Post comment Comments
LocustQ
LocustQ - - 488 comments

O_O, 10/10

Reply Good karma Bad karma+3 votes
Olku_
Olku_ - - 2,074 comments

Looks really cool

Reply Good karma Bad karma+3 votes
func_jay
func_jay - - 41 comments

I actually like the way this show is starting!

Reply Good karma Bad karma+3 votes
HectorShiroi
HectorShiroi - - 302 comments

This.is.epic.

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: