Screen 1 Screen 2 Screen 3 Screen 4 Screen 4


Scraps is now available to buy on Steam! This is an Early Access release
 

Gauntlet mode: Level generation tweaks (and stuff about zooming with off-centre reticles)

Gauntlet tasks to do before initial release

Get local games fully working
Object for holding game state in Gauntlet mode
Auto-repair system + vehicle swap ability
Gauntlet game flow from menu to end
Score system
Level generation tweaks
– Update scrap drop system
– Item unlock system
– Update How To Play screens
– Test and balance gameplay
– Music?

Level generation tweaks

Honestly not much to say about this one as I’ve already talked a fair bit about the level gen in Gauntlet mode in a few older posts. The work I’ve been doing on level gen recently is mostly code modifications that aren’t very interesting to blog about – Just trying to generate nice levels and balance the game mode.

Zoomed in view

So I’m going to talk about something that’s a bit more suited to a blog post.

Ever since Operation Flashpoint or even MDK to some extent, first-person shooters have tended to have an “aim down sights” mode where your view often zooms in a bit, it brings up your gun as if you’re aiming down the sights, and you generally get some increased accuracy.

I’m not doing that, because the last thing I want is for close-combat vehicle fights to be full of confusing zoomed views of the action just to get slightly less bullet spread. And it’d make no sense to aim a gun first-person style in a third person game. But in Gauntlet mode there are some large areas and I noticed that I sometimes had trouble lining up the shot I wanted, so I’m putting in a minor zoom function, currently by default on the middle mouse button (not released, this is in my dev version only). It has no effect on accuracy and it can be safely ignored, but IMO it’s kind of nice.

The simplest way to do a “scope” in an FPS type game is to simply decrease the camera’s Field Of View. That method works perfectly if your aiming reticle is in the exact centre of the screen. But Scraps has an off-centre reticle – in fact it can be moved by the player as well.

This is what happens when you zoom with a non-centered reticle:

At the start of that for instance, I’m aiming at the bottom of the wall. When zoomed, my mouse hasn’t moved but now I’m aiming at the ground. Not good.

Surprisingly few people seem to have this problem to solve; I think most games must have the reticle in the exact centre. However I found some genius had already solved it here. Like the best answers, he’s answered his own question.

With that formula implemented, things look way better:

Although notably not quite perfect. As far as I can tell I think any remaining error comes from the changes in the perspective of the scene, since the camera has to rotate to keep the reticle pointing at the same place, and that means things that are close shift visually a different amount to things that are far away.

Probably the only way to completely solve it would be to do something like raycast to the thing the reticle is currently pointing at, then tell the zoomed camera to look at that particular point. Or of course just put the reticle in the dead centre like a normal game! But honestly, the current solution is close enough, especially for a feature that doesn’t really affect the game.

2 Comments

Gauntlet mode: Score system

Gauntlet tasks to do before initial release

Get local games fully working
Object for holding game state in Gauntlet mode
Auto-repair system + vehicle swap ability
Gauntlet game flow from menu to end
Score system
– Level generation tweaks
– Update scrap drop system
– Item unlock system
– Update How To Play screens
– Test and balance gameplay
– Music?

Score

The trick to not making a terrible score system in a game is to make sure it rewards a type of gameplay that’s actually fun. If it rewards playing the game in the way you actually intended, well that’s a nice bonus.

Read More »

Leave a comment

Gauntlet mode: Game flow from menu to end

Gauntlet tasks to do before initial release

Get local games fully working
Object for holding game state in Gauntlet mode
Auto-repair system + vehicle swap ability
Gauntlet game flow from menu to end
– Score system
– Level generation tweaks
– Update scrap drop system
– Item unlock system
– Update How To Play screens
– Test and balance gameplay
– Music?

Gauntlet game mode flow

Most game development starts with the developer testing things by dropping directly into a level. No menus, no options, no worries about setup or unloading things on quit. But eventualy you’ve gotta make it playable for the masses.

Read More »

1 Comment

Gauntlet mode: Free repair time

Gauntlet tasks to do before initial release

Get local games fully working
Object for holding game state in Gauntlet mode
Auto-repair system + vehicle swap ability
– Gauntlet game flow from menu to end
– Score system
– Level generation tweaks
– Update scrap drop system
– Item unlock system
– Update How To Play screens
– Test and balance gameplay
– Music?

Free repairs

At the end of each Gauntlet level I’m giving the player some amount of free repair and rebuild time.

Read More »

2 Comments

Gauntlet mode: Game state object (and some technical rambling)

Gauntlet tasks to do before initial release

Get local games fully working
Object for holding game state in Gauntlet mode
– Auto-repair system + vehicle swap ability
– Gauntlet game flow from menu to end
– Score system
– Level generation tweaks
– Update scrap drop system
– Item unlock system
– Update How To Play screens
– Test and balance gameplay
– Music?

“Object for holding game state in Gauntlet mode” is probably the most boring entry on the task list (wow what a great way to open a blog post), but let’s talk technical stuff.

Read More »

Comments closed

Gauntlet mode: Singleplayer without networking

I’m going to try and post news about what I’m working on a bit more often again. Here’s my list of what I need to do for an initial Gauntlet mode release:

Read More »

Comments closed