1. PogoChamp
  2. News

PogoChamp News

Weekly Progress Report #19

This week was level styling and prepping a demo for the next Steam Game Festival. There's still lots of work to do before the demo is ready, but I'm hoping to have it done in time. Here are a couple examples of the new level style.


Bug of the Week

When your character lands, they slide across the ground slightly and come to a complete stop before bouncing off the ground. Unity's physics system doesn't do this naturally, so I have to do it manually. The level shown in the image above has a "tar pit" which prevents your character from gaining height when jumping. This means the character never leaves the ground after landing for the first time. I was only resetting the "sliding velocity" on landing, and because the character doesn't leave the ground, it also doesn't land. This meant that if you tried to jump again, it retained the old sliding velocity, and you could repeatedly slide across the ground multiple times. This was fixed by simply zeroing out the sliding velocity at the end of the "jump", but I think it's a pretty funny bug.

Changelog
  • Make the gap in The Pits bigger so it is harder to ignore the tutorial portion of the level.
  • Copied environment lighting settings from styled scene to most other levels.
  • Do some styling on various levels.
  • Sped up game initial load speed by launching into an empty scene.
  • Fix null reference exception when setting initially selected button.
  • Fix null reference exception when opening and closing options menu multiple times.
  • Add demo announcement popup on launch.
  • Add Discord button to the main menu.
  • Add "controller recommended" screen to launch flow.
  • Add option to disable metrics upload.
  • Add tooltip when interacting with metrics upload option, that explains what the metrics are for.
  • Update demo announcement screen and add a link to Discord.
  • Exiting to the main menu now takes you directly to the menu, instead of showing the controller recommended screen and demo announcement popup.
  • Fix bug where sliding velocity wasn't reset if you didn't leave the ground.
  • Adjust tar pit jump reduction to be less severe.

Weekly Progress Report #18

This week was just more experimentation with lighting and shaders. I made some progress, but there aren't really specific changes to list. I'll be continuing to work on styling and lighting next week as well, and should have a few levels "done" by the next update.

Shaders!

[previewyoutube][/previewyoutube]
I spent some time this week making the shader for walls and floors much more customizable. I can now change the line thickness, line color, background color, floor cell size, and wall cell size all independently!

Bug Fix

I managed to resolve the "Lighting Disappears" issue from last week. Here it is again, as a refresher:
It turns out there's a setting in the Forward Renderer that specifies how many lights can affect any object. It was set to 4, which meant that only 4 lights can affect the surfaces. There were 6 lights in the scene, and when I changed the values, it deprioritized the light, so it no longer affected the surface. Thanks Stefan for leading me to the setting!

Let me know what you think in the comments, or come by the Discord

Weekly Progress Report #17

I spent this week working on incorporating the example scene styles into the game. Here's a short teaser showing some of the progress
[previewyoutube][/previewyoutube]

I've been learning a lot about Unity's lighting and rendering systems while trying to match the sample/concept art styling, but progress is going fairly well. There are a lot of "gotchas" for those new to these systems, but hopefully I've figured out most of them already.

Bugs of the Week

[h2]#1 Bad Light Import[/h2]
The example scene I had almost exactly matched the concept art, but it existed in a separate Unity project. I did what I thought was the sensible thing and opened that project, selected the scene and exported it as a Unity package. I then went to the PogoChamp project and imported it. When I opened it inside the PogoChamp project, the lighting was pretty far off.
Left is the original version of the scene, right is the scene after importing it into the project.

Somehow during the import into Unity, the primary light source in the scene was disabled. A relatively simple fix, but still caused me a bit of confusion.

[h2]#2 Active Scene Precedence[/h2]
This one isn't technically a bug, but it did confuse me for some time. While trying to match the style of the example scene, I decided to use Unity's Additive Scene editing feature. This would allow me to modify my existing scenes, while simultaneously viewing / editing the sample scene. After some experimentation, I realized that the order I used to opened the scenes dramatically impacted the way they appeared in the editor, which determines which scene is "Active".

I looked for anything I could in the scenes that would cause this difference, but it turned out that I needed to open the Lighting panel (Window > Rendering > Lighting), which stores lighting settings outside the actual Scene asset. Once I changed my existing level's lighting settings to match the sample scene, things started working as I expected. Not actually a "bug", but it's something easy to miss.

[h2]#3 Lighting Disappears?[/h2]
I haven't actually found a solution for this one yet, so if you know how to solve it please let me know!
The sample scene uses a bunch of point lights to give the surfaces varied colors. The sample scene is a large open space, so it made sense to use large, distant point lights, to spread the lighting properly across large surfaces. The game levels on the other hand are often small enclosed spaces, so big distant lights don't really work. While seeing if I could bring point lights inside the level to give some light/color without being too bright, I ran into the following situation.

When I change the light's range or intensity by a tiny amount (< 1%), suddenly the light's effect completely turns off. I would have expected it to get just a little bit dimmer with either of those changes, but nope it's either too bright or completely off.

I'll be continuing work on styling next week. Wish me luck!

Weekly Progress Report #16

I hope everyone had a nice Thanksgiving (or just a nice week if you aren't in the US). This week was more productive than I expected it to be!

Steam Game Festival: February Edition

I've signed PogoChamp up to be part of the Steam Game Festival in February! It is going to take a lot of work to get a demo ready by then. The more I think about it, the more I realize how much is left (I don't even have sound effects or music!), but nothing motivates like a deadline. I'm going to do my best to get the demo ready by then, but I might have to opt out if I don't think it's good enough. Wish me luck!

Level Styling Progress

This week I wanted to start styling the levels based on the example level I got last week. Unfortunately, the example level uses Ambient Occlusion, a Unity post-processing feature that's only in Unity 2020.2. I am currently using Unity 2020.1, and when I upgraded to Unity 2020.2, the library I use to give the character the hard-edge outline effect stops working. So I'm currently caught between 2 bad alternatives: either the levels look wrong, or the character does. I was planning to do a few playtests this week, so I decided not update to 2020.2 yet, so that I can quickly make changes based on playtest feedback (ex: fixing a build that won't launch at the beginning of a playtest). I'll go into more detail about the incompatibility in next week's post, when I finally pull the trigger and upgrade the project to 2020.2.

Changelog
  • Various clarity adjustments for Air Control: Moved the 2nd cannon a little closer to the first, removed walls, removed platform pillar. These should help new players understand that there isn't a "trick" to the level.
  • Reordered levels slightly.
  • Removed walls from Cann Cann.
  • Fix some possible null reference errors related to input sprite caching.
  • Options menu resolution and display mode now properly populate with your current settings.
  • Only use delayed resolution changes when you're using Exclusive Fullscreen (not borderless).
  • Reorder some of the Difficulty 2 levels.
  • Added small safeguard to prevent beating a level and automatically exploding due to High Scores Only mode (doesn't full fix the bug).
  • Fix broken button prompts in Replay List menu.
  • Adjust several keys for Keyboard controls to make them more standard. ("z", "x", & "c" are now "f", "r", & "e")
  • Changed level select button in Crashed menu for consistency (was X, is now B, like in all other menus).
  • Fix fullscreen settings not saving properly.
  • Add screen's actual supported framerates as options in frame rate picker.
  • Change default display setting to Borderless Fullscreen instead of Exclusive Fullscreen.
  • Change sound settings increments to 5% instead of 10%.
  • Delete Cinema4D import plugin.
  • Slightly adjust ground and upper body physics material friction.
  • Prevent main menu from closing when user hit's B / Circle / Esc button.
  • Fixed bug where grounded characters could not properly jump in certain situations (mostly on fast conveyor belts).
  • Add debug text to character which describes why the character can't jump if they are prevented from jumping.
  • Fixed bounce inconsistencies when bouncing on conveyor belts. (There was a bug that caused some bounces to be significantly higher than they should be).
  • Various changes to Long Jumper geometry so it's less annoying now that the conveyor belt bug is fixed.
  • More slight tweaks to level order (move Get Me Down after Cubby Hole).
  • Fix UnityEditor build issues.
  • Make Tight Rope level 3 star time more lenient.
  • Finally remove text from Repeater.
  • Fix typo in "Piano" level name.
  • Fix Cann Cann lighting.
  • Victory replay camera now uses camera FOV setting.
  • Replay mode camera now uses camera FOV setting.
  • Victory input help text order changed from "exit | rety | save" to "retry | exit | save" for cosistency with other menus.
  • Add new level to introduce rings.
  • Lower the walls on Controlled Fall so you can't fall under them and escape the level.

Weekly Progress Report #15: New Style

Art / Style Progress

A few weeks ago, I hired a concept artist to come up with a style for the levels in PogoChamp. The artist came back with the following image:


I think this would be a great style! Unfortunately, when I tried to recreate this in Unity I couldn't get it to look right, so I hired another freelancer to recreate the image as a real Unity scene. I think the end result also looks great.


I haven't started converting any of the existing levels to look like this yet, but it's one of the major things I'll be working on soon.

Thanks Mike | Creative Mints for the concept art and Stefan Mensen for the Unity implementation!

Let me know what you think about the new style in the comments.

Changelog
  • The selected replay ghost now glows.
  • Toggling UI in replay mode now toggles the selection effect.
  • Decouple replay playback speed and pause / unpause (this allows you to change the speed while paused).
  • Populate options menu resolutions based on the actual screen dimensions.
  • Remove duplicate resolutions from the options menu.
  • Don't immediately change resolution when in full screen mode because it sometimes causes the screen to flash black.
  • Fix escape key not bringing up the pause menu in levels.
  • Re-add cancel keyboard & controller shortcut to menus.
  • Fix possible null reference error for menu InputActions.
  • Only show replay ghost selection effect in replay mode, not after completing a level.
  • Added 8-way numpad based controls.
  • Add CTRL key, which slows down keyboard tilt inputs to 2/3.
  • Fix index out of bounds issue during replays, when playing a level again after beating it.
  • Prevent Main Menu from losing selection focus when clicking on empty space.