Postmortem: Programmer
Hey y'all! The name's Hunter.
I was the assigned Programmer for this game, and I had a blast trying out some new things and only sometimes failing miserably! It was awesome getting to work with the others and see what kind of visions everyone had for the game.
For my tasks on our Kanban board, I had estimated around 23.5 hours of work, and I'd say I followed that pretty well, ending up just over 21.5 hours. Interestingly enough, tasks that had been estimated to take longer took shorter and many tasks that had been estimated to take a short amount of time ended up taking way longer than anticipated. But it all worked out!
So, what did I work on?
I did a good portion of the blueprinting found in the game, though giving credit where credit is due, Jaedon was a HUGE help in both having pre-made blueprints on standby to give us a start and in helping out where I would've struggled (I still don't understand the squash and stretch animation stuff lol). Rather than explain everything, I think I'll just go over a select few blueprints I worked on:
Collectable System (Player Portion)
https://blueprintue.com/blueprint/q-jeuz9l/
Nothing too complicated here. Upon player overlap with a collectable, it would check to see if it's specifically a life, coin, or egg. Most of the actual collectable code is within BP_Collectable, so after calling the Collect event, it updates the level HUD as needed to reflect any collectables the player has collected, then checks for unique scenarios (i.e. getting 50 coins grants the player a life, getting all 3 eggs spawns BP_EndZone).
Collectable System (BP_Collectable Portion)
https://blueprintue.com/blueprint/vh-8kqop/
Much of the code here is from Jaedon. My portion is from the Collect event to the Sequence node. Again, super basic, all my stuff does is check what kind of collectable was just picked up, and updates the player's value accordingly. I mostly just wanted to upload this blueprint to show off Jaedon's work!
Jump / Flutter / Hop
https://blueprintue.com/blueprint/6pn6tkw4/
A fun little gimmick we added was the flutter! I did the flutter, and Jaedon added the little hop at the end. All it does is check if the player's current Z velocity is less than 0 (falling), and clamps the player's Z velocity to mimic fluttering.
Circular Fade
This one I really like. We originally had just a basic fade to / from black when dying and spawning, but I played around a got a cool circular fade effect to work. First, I set up a user interface material with a translucent blend mode, and added parameters for the radius and density pins on a Radial Gradient Exponential node. That goes into a MinusOne node and into the opacity channel.
Then, I created a quick widget with a square image covering the entire panel, setting the image to the material I had just created.
Last, I added the functionality to BP_ChickenPlayer via a timeline, which then sets the material's scalar value. FadeOn and FadeOff are called when the player dies, spawns into the level, or respawns from death.
Most of the other stuff I did with blueprints is small/minor, like binding UI text to player values, creating/setting widgets in viewport, checkpoints, and so on, so that's all I'll show here.
I'd say the most difficult part of the project for me was (1) Getting the collectables to work properly, and (2) Camera Animations. For the collectables, the code that adds whatever the player just collected to their value was initially inside BP_ChickenPlayer, but this was making it so that each time you overlapped a collectable, it would try adding to the value multiple times as long as the player was still overlapping it, even after implementing a do once / delay node. Eventually I tried sticking it inside BP_Collectable instead, and that did the trick. It definitely wasn't a hard problem to solve by any means, but I do have very limited experience with Unreal thus far so it stumped me for a bit. As for the camera animations:
There was originally going to be a camera animation at the start of the game, showing the front of the chicken, then rotating around to the back before settling and allowing player input. There is a simple camera animation when BP_EndZone spawns, moving to a different camera, then moving back to the player camera, but it definitely caused me some trouble. I had obviously messed up with the nodes somewhere and it was causing the camera to move into the player rather than the original camera position, but eventually I was able to figure it out by using a blueprint rather than a camera that was already in the level. Now the only draw is that when it's first triggered, it kind of stutters for a second, making it look like the camera is jumping to the other location rather than smoothly moving there, and that I have no idea how to fix.
I definitely learned a few useful things from this project, namely where code should go (i.e. adding to the player value being in BP_Collectable rather than the player blueprint). As for what I'm proud of, I'd definitely say the circular fade effect. It's so simple and yet it adds so much charm, at least in my opinion!
Get Flutter Bounce
Flutter Bounce
Chicken platformer
Status | In development |
Authors | Jaedon Wallace, PatricioBlasetti, emfri21, Hunter McRight |
Genre | Platformer, Puzzle |
Tags | Cartoon, Chicken, farm, Funny |
More posts
- Build 1.0!2 days ago
- Postmortem: Artist2 days ago
- Postmortem: Narrative Designer3 days ago
- Postmortem: Game designer3 days ago
Leave a comment
Log in with itch.io to leave a comment.