Sunday 2.10 | Playable Demo

Platformer Prototype

Finally wrapping things up into a playable demo that you can try out.


Download

Go on a mission in the mountains to retrieve intel regarding a mafia's operation with your sniper buddy Chip, who is there to guide you.


  • Windows
  • Optimal with a controller
  • Nvidia GTX 1050 Mobile: ~90fps (in editor, more in build)
  • 46.9 MB

Disclaimer

I want to make it clear that this is a prototype that I didn't quite get to a level I wanted to, due to me underestimating the time it takes for building a cohesive level. Now that school has picked back up, I don't have time for this project anymore, but I still wanted get something playable from this that people could try out. So after working a couple of weekends on some fixes and small additions, It's finally ready.


Trailer MainCharacter

Work Done

  • Keyboard & mouse controls
  • Dialoghistory
  • Start sequence
  • End menu stats
  • Timer
  • Other minor fixes

Platformer Prototype Intro

Welcome to my blog where I'm currently posting updates on the development of a 3D stealth platformer prototype.
Soft deadline: 3̷1̷.̷7̷.̷2̷0̷2̷2 ̷2̷2̷.̷8̷.̷2̷0̷2̷2̷ 2.10.2022 (Updated 2.10.2022)

At the moment my main goal is to make a prototype that's fun to play and learn how this could be achieved in different projects in the future.

Game Idea

Small 3D stealth platformer | Unity

Melee Combat | Stealth | Movement | Puzzles *
That consist of Melee combat and stealth*


Friday 2.9 | Playtesting

Platformer Prototype

Having my classmates test the prototype and end up with a lot of great feedback. Sharing thoughts about the process as well as the future of this project.

ControllerEdited

Expectations vs reality

Developing the prototype for 3 months without playtesting or much feedback made me ready for some big surprises that might come up. I didn't come up with any questions beforehand, instead I just wanted to interfere as little as possible and then plot down every time I had to comment (and oh boy did I end up doing that). I thought there would be only a small part of the interfering caused by technical bugs and most by lack of clear instructions. The split ended up being more of a 50/50, which might have been caused by testing the build on Thursday and doing changes after without testing them in the build.

Bugs

The lack of feedback probably showed most in the difficulty of the sections early on. I've been going through them like a speedrunner using the fastest path forgetting the alternatives completely. This caused one route to be a total deadend. In the figure below, route #1 is the one I have been going through, which looks impossible for a new player (and for good reason as it requires a good double jump and gliding). Route #2 is the one that the players took and found a deadend because the last platform is way too high.

DeadendRoutes

Lots of other issues were with unclear instructions as expected. Then there were things that were missed because of poor integration (players not needing them or having no instructions for them). For example critical strikes, "shopping" or combat overall hadn't been forced at any point so they weren't really tested naturally, this might've been up to the preferred playstyle too though.

Conditions

The conditions for playtesting weren't optimal as this was a "demo friday" for our class so almost everybody has something to show which ends up cutting the time for testing a lot. This makes everyone a little antsy and I also didn't have headphones which could be crucial for immersion and of course the stealth element. These are good to know for next time but I still got a lot of great feedback.

Productive session to end the day

I got my classmate Mikk to test it when the dust had settled. He had played platformers and also had the patience/interest/goodwill to go through the whole level. He knew what to expect and had great critiques as well as tips on what could be added or modified. For example I had totally neglected the need for health refills of some kind, which he was looking for. I jotted everything down and ended up with a list 23 items long that I can now go through (not just from this session).

TrelloIssuesListed

Future

I will be going through the list for fixes and then releasing a build for download, on which you can give feedback if you so desire. After that, development will probably be slowing down as I will have to start focusing on some school projects. I will be creating a presentation for uni about the lessons learned during development (which allows me to use this project towards the degree). Of course later I might pick this back up, maybe with a vision for a different kind of platformer or trying new things with the current mechanics based on the feedback.


Thursday 1.9 | Preparing for Friday's Playtesting

Platformer Prototype

Still putting minor things into place, testing out a build and baking lighting.


Baked lighting

Baking the lighting brought out the shadows so you can actually recognize the shapes of the terrain now.

BakedLight OldBeginningSections Same section without baked shadows and no texture. (16.8 post)

Day's Work

  • Item slot fixed
  • Build test
  • Reset restart on select&A
  • Baked Lighting
  • Other minor fixes

Wednesday 31.8 | Gathering Pieces Together for Testing

Platformer Prototype

Bringing in the last messages and continuing to work on little things all around the level. Also trying to make the mountains shapes clearer to see with a different texture.


Putting in the messages from Sunday

ChipMessagesBrought SniperDirector Inspector for the script directing Chip's messages and laser pointing
NewMountainTexture

Day's Work

  • StartCutscene
  • Reset restart button only active in debug (OnlyActiveInDebug script)
  • Sniper dialog
  • Mountain proto material
  • SniperDirector: Dialog fetch from dialogmanager
  • Bunker Cutscene
  • Section 2 pit made bottomless
  • Minor Organizing

Tuesday 30.8 | Gold Crates & Preparing for Playtesting

Platformer Prototype

Adding some gold crates and doing small bits here and there preparing for playtesting.


Gold Crates

Throwing in some gold crates. Will be continuing to weed out the bad ones during testing.

CoinBoxes

Day's Work

  • Documents objective
  • Objectives UI updated
  • Adding coin boxes
  • Fixed objectives initialization
  • Meeting room table

Monday 29.8 | More Work on the Final Objective

Platformer Prototype

Continuing work on the final objective and some fixes.


GlassesAirVent

Day's Work

  • Window material
  • Kick fixed (character flew to ceiling if jumped at the same time)
  • Continuing enter bunker objective
  • Air vent maintenance hall

Weekend 27-28.8 | Chip's Messages, Enemy Variety & Blockout

Platformer Prototype

Creating an enemy variation, figuring out Chip's helpful messages for every objective and modifying the last addition to the blockout.


Great Start

Weekend started off with the realization of having forgotten to push to github on thursday when I was at university. So that meant very limited Unity work, fortunately I had access to the blockout blender file.


AnotherEnemy FinalSectionBlockoutUpdated

Weekend's Work

  • Updated Blockout
  • "Cooler Guy" enemy meant to be the utilities supervisor (has the keys)
  • Shinymachete weapon for him
  • Chip's messages

Thursday 25.8 | Functionality for the Bunker

Platformer Prototype

Adding functionality for the last objective and some dynamic platforming elements.


BunkerFunctionality KeyObjective

Day's Work

  • Interactable Key
  • Locked direction switch
  • Air vents
  • Bunker meeting room

Wednesday 24.8 | Final Section Blockout

Platformer Prototype

Working on adding a final section to the blockout.


FinalSectionBlockout FinalSectionBlockout2 FinalSectionBlockout3

Day's Work

  • Blockout

Monday 22.8 & Tuesday 23.8 | Satellite Phone to Receive Intel from Chip

Platformer Prototype

Creating a satellite phone to receive intel from Chip and making it possible to scroll the message history. Monday was the first day back in school, meaning I didn't get too many hours in during the mess, so it didn't really deserve it's own post.

I also passed the soft deadline I set myself but that's kind of expected while discovering so many new things. I will try to get the prototype testable as soon as possible. I'm starting to have the crucial elements together and building with these elements hopefully doesn't bring about too many more surprises.


Satellite Phone

Changing the sniper communication UI to something that makes it clear that it is just that. Also keeping a history of the messages received so that they can be scrolled in the pause menu with the left stick.

SatPhoneMessageReceived SatPhoneHistory

Work Done

  • Monday
    • Organizing scripts
    • Added checkpoint and cutscene for enter bunker objective
  • Tuesday
    • Satellite Phone vector art to which Chip messages
    • Scrollable history of dialogs
      • Scrollbar
      • Smoothed movement
      • Gamepad Scrollview

Friday 19.8 | Objectives UI Fixes & A Little About the Shop

Platformer Prototype

Updating the UI because I noticed it was a bit unclear on what the next major objective would be. Also wasting time trying to make a new area for a shop.


Objectives UI

A divider that communicates there are more objectives in between and masking the list, so it doesn't become the height of the whole screen.

ObjectivesUI

Trying to get a weapons shop to fit in the story

I tried blocking out an area next to the base that would have been a little harder to get to but the scale might already be too large. So I ended up placing the shop in one of the buildings inside the base and I'll later have to make it make sense with the sniper dialog. For example, the dealer could just not care about selling to a total random, or be plain stupid.


Day's Work

  • Objectives UI
    • Divider telling there's objectives in the middle
    • Masked list that can be made scrollable
  • Blockout work that was abandoned mid way because the scale would have blown up again
  • Interior in one of the buildings blocked out for a shop

Wednesday 17.8 & Thursday 18.8 | Helper Sequences, Blockout & Climbing

Platformer Prototype

I really don't know what to call these sequences where the sniper is giving the next objective. The camera control is taken but you can still move your character and stop the sequence anytime (at least this first one) so I thought I'd call them helper sequences for now. I also worked a bit on the blockout.


Blockout & Climbing

I hadn't had any climbing elements in for a while so the lack of testing with it had lead up to it being very broken. I fixed slipping and jumping from the ledge, but some bugs still persist because they started taking way too much time to fix.

117MoreBlockout

Helper sequences using timelines

118Cutscene 119TimelineTool

Work Done

  • Wednesday
    • Blockout
    • Climbable tower
    • Testing timelines
  • Thursday
    • Timelines ("Cutscenes")
      • Sniper sequence
        • Dialog
        • Laser
      • Skippable by
        • Moving or
        • With O/B

Tuesday 16.8 | Working on the Blockout

Platformer Prototype

Working on the blockout and adding the first dynamic element of the level. An air vent that has to be disabled by destroying it's electrical box.


AirVentFromAir DestroyableVent BeginningSections

Day's Work

  • Destroyable Air Vent Section 3,
    • Air prevents player from continuing
  • Level blockout in blender
  • Checkpoint tips for first 2 checkpoints

Monday 15.8 | Fall damage, Clouds & More Bug Fixing

Platformer Prototype

Adding fall damage, clouds and fixing gameplay breaking bugs.


Fall damage

When landing with too much speed you take damage (max 25% at the moment) and make a loud sound that enemies nearby can hear.

FallDamage

Clouds

The clouds are very subtle in the fog but with their movement they make the world feel more alive.

CloudsWithoutFog CloudsWithFog

Day's Work

  • Fall Damage
    • HitReaction sound and animation upon taking damage
  • Clouds
  • Fixing weapon manager giving enemies the players weapon
  • Settings initialization moved to "Menu" because settings menu was disabled on start
  • Practically disabled awareness meter visibility limit distance
  • Enemystats has the weapon now
  • Enemy notice sound actually audible now
  • New min vertical speed = -25 (takes damage at 20-25)
  • Healthbar "animation"

Weekend 13-14.8 | Bug Fixing & Some Effects

Platformer Prototype

Fixing bugs, making weapon hit particles the right color and trying to add more weight to the character by adding landing effects.


Weekend's Work

  • Landing effects
    • Particles
    • Sound
  • Weapon hit particles now take the color from the object that was hit
  • Bug fixing
  • Refactoring damageable code
  • UI Sound
  • Breaking platform testing (Not sure if this will make it to the first proto build)

Friday 12.8 | Settings & Finishing up Objectives UI

Platformer Prototype

Adding a settings menu for adjusting the camera settings and putting finishing touches on the objectives UI.


Settings menu

SettingsMenu

Objectives UI initial design

ObjectiveUIDesign

New graphics in Unity:

ObjectivesUINewGraphics ObjectivesUINewGraphics1

Pause menu updated

PauseMenuUpdated

Day's Work

  • New UI Graphics Settings
  • Saving/Loading
  • Sensitivity
  • Invert X/Y A lot of minor tweaking Controls menu/picture Camera Mode
  • Screenshot taking
    • Effects
    • Button Icon

Thursday 11.8 | Objectives UI

Platformer Prototype

Adding helpful UI showing the active objective, hopefully preventing players from getting lost.


Objectives UI

The list is made up of groups of "Objective Items" which are generated from "Objective Item Info" objects, which basically just hold the text.

ObjectiveItemGroup

Then these are handled by the ObjectiveDisplayManager setting the height of the group objects and updating their states.

ObjectiveUI ObjectiveReached

Day's Work

  • System for showing Objectives on the UI
  • Weapon holder Major and minor objectives
  • ObjectiveDisplayManager
  • ObjectiveManager calls ODM when objective reached (that is included in UI, not all are that important)

Wednesday 10.8 | Weapon Displays for a Shop

Platformer Prototype

Creating a display for the weapons to enable purchasing, later they will be placed in a shop I just don't know where that will be yet.


Weapon display for a shop

MacheteShopDisplay PurchasePrompt NotEnoughGoldPrompt

Day's Work

  • Weapon swapping
  • Weapon saving/loading
  • Weapon purchasing
  • ScreenTipManager fixed
  • Pressing select reveals gold
  • Weaponmanager now instantiates the weapons at start to gripTransform
  • GlobalCombatManager holds all the weapons in a Dictionary which helps the saving and loading of them

Monday 8.8 & Tuesday 9.8 | Sniper & Minor Environment Adjustments

Platformer Prototype

Giving our guy a sniper accomplice who does surveillance from the shadows and guiding you towards your goal with a laser. You will not be able to directly see the sniper, but I'm trying to create a feeling of his presence.


Sniper

I'm creating the sniper to be a guiding light for the player. He's going to be helping the player with controls and give the information for the next steps towards a goal. For starters though, I wanted to see how I could highlight the objectives on a map using him. So I made it possible for you to request him to show the objective with a laser. After requesting he responds and starts setting it up, the laser then shows up when he's done (~5s), then hiding it after some time (~7-10s) to avoid revealing the operation.

EnvironmentFogSkybox

CSV for creating dialog

Importing dialog from google sheets with CSV Serialize by VisualWorks.

SheetsDialog DialogManager

Work Done

Monday

  • Sniper laser
    • Ask for laser with right stick press
    • Sniper responds immediately and points laser in ~7 seconds
    • Laser realistic shake
  • Environment
    • Changing skybox and light to fog color Tuesday
  • Sniper dialog
    • CSV importing from google sheets
    • Dialog can be called randomly or in order
    • Other minor tweaks

Thursday 4.8 | Checkpoint Effects

Platformer Prototype

Making checkpoints satisfying to reach, some platforming and fixing movement bugs that are starting to drive me crazy.


CheckpointGraphicsOverhaul LaunchingAirVent UpdatedGameManager

Day's Work

  • Checkpoints
    • Sound (from samararaine on freesound.org)
    • Visuals
    • Now gives the player a clear goal also
  • Fixing some movement bugs
    • Parachuting up a hill
    • Exiting parachuting throws you to the direction you jumped to
  • Launchtrigger

Wednesday 3.8 | Checkpoints

Platformer Prototype

Implementing a system for managing checkpoints, spawning to them and saving the progress to memory.


CheckPointGizmos CheckPointReachedTip

Day's Work

  • Checkpoints
    • Spawning
    • Checkpoint reached tip
    • Saving/Loading
    • Effects missing still!

Tuesday 2.8 | Gold System & Pause Menu

Platformer Prototype

Working on the gold crates and UI.


Gold collecting

Gold is collected with particle system collisions and sucked into the player with a force field.

GoldCrateDestroyed

Pause menu

Basic pause menu with Unity's new input system.

PauseMenu

Day's Work

  • Gold system
    • Collecting gold
    • UI
    • Sounds
    • Saving/Loading
    • Haptics
  • Pause menu
    • Resume
    • Restart
    • Reset & Restart

Monday 1.8 | Spicing up the Blockout

Platformer Prototype

The level is starting to look pretty decent, so I began spicing it up a little bit.


UpdatedBlockout2
UpdatedBlockout3
UpdatedBlockoutTower

I wanted to add a really hard challenge that gives you nothing when/if you finally do succeed, so there's a useless radio tower in the middle of the section now (or the skeleton for it).


LadderWithNavLink

Giving enemies access to the roof with off-mesh links.


Day's Work

  • Blocking out
  • Testing animated platforms (Rotating radar)
  • Ladder
    • Climbable
    • Off Mesh Link for enemies to access the roof
      • Slides through the roof but it doesn't matter right now (Will be shown in future videos)

Sunday 31.7 | Blockout, Gold Crates & Triggers

Platformer Prototype

Splitting the day for blocking out and some necessary gameplay elements.


Updated blockout

Not in Unity yet, but maybe tomorrow.

UpdatedLevelBlockout

Breakable crate full of gold

I will probably simplify/change this a lot to get a clean gold gathering mechanic and just move on. I made the destroyed crate with blenders Cell Fracture addon, which is great but I forgot to boolean out the overlapping parts so it goes flying the moment you touch it. Also I'm not sure how gold would fit in with the theme, but I don't need to worry about that right now.

DestroyedBox

Simple trigger for tips

TipTriggerGoldContainer

Day's Work

  • World
    • Adding complexity and depth to the layout
    • Adding a lot of platforms
  • Features for playable blockout
    • Breakable gold containers
    • Triggers for on-screen tips