Thursday, May 8, 2014

Dev Blog 86 - Level 5 almost done

Level 5 has been re-cut, still in the process of re-implementing the Notes (adjusting their positions, adjusting MasterNotes for proper background transitions). This part is a little slow going since there are now 194 Notes (up from 113) with the new cut, making Level 5 our new record holder for highest amount of notes!

Once 5 is done I'll get started on 6, 8, & 10. About to leave for another meeting with my game designer professor Casper!

Update @ 9PM: Level 5 is finally done. Took forever, but it's done and much much better. I found 2 bugs while working on level 5, one was that some obstacles were throwing NullReferenceExceptions because I wasn't assigning the player character programmatically. The other was the last 10 obstacles' audio clips were double the volume of others, making them inconsistently loud.

I got a handful of awesome feedback from Casper today. I'm gunna switch gears for the rest of the night (to give my brain a light rest) and start implementing his feedback. I just don't have it in me to start re-cutting levels 6/8/10, I'll get to those tomorrow.

Update @ 1:15AM: Implemented most of Casper's feedback, will finish tomorrow. Bedtime!

Wednesday, May 7, 2014

Dev Blog 85 - Recutting

Still recutting level 5's background track (it's an 8 minute level). Once I'm done I plan on taking a look at 6, 8, and 10 to re-cut as well.

The plus side is these 3 aren't complete trash, level 6 is off-time starting after the 39th note, only 2 notes in 8 are off, and the last 2 minutes of 10 (another 8 minute level) so these won't be as time consuming.

Tuesday, May 6, 2014

Dev Blog 84 - Working on Respawn

Working on re-designing and improving the respawn system to both clarify that the player has died and is respawning, as well as lessen the impact/jarring nature of the immediate respawn.




So far I've tried a few different approaches. My first idea was to pause right after respawn, have Teli's alpha fade in and out a few times to denote "respawning", and then unpause. This proved impossible after I discovered that any coroutines or invocations called before a "pause" is triggered, will exit after Time.timeScale is set to 0. So there wasn't a way I could pause, wait for the animation to finish, and then unpause. I tried a few tricks involving Invoke( ) and coroutines, which got me a little closer to what I wanted but ultimately didn't solve the problem.

The solution I will end up implementing (after writing this post) is two-fold:

First, right when death occurs I will have a text exclamation point pop up over Teli's head, paired with the death animation it should make it super clear the player character has died.

Second, after respawn occurs, instead of pausing I will let Teli continue as normal. However, here is where I will mess with the alpha values to fade in & out, to denote that Teli has respawned.

I think that this solution may still be a little jarring, but it's an improvement.

Update 1 @ 3PM: Respawning is done, successfully implemented the above two-fold solution. Also added a death sound effect.

Update 2 @ 8PM: Re-cutting level 4, trying to improve timing

Update 3 @ 9:30PM: Level 4 re-cut and re-implemented, sounds much better, timed perfectly. Re-cutting level 5 now.

Monday, May 5, 2014

Dev Blog 83 - Nothin' New

Not much to report, just grinding away on finishing feedback and re-cutting certain levels that don't sound as good as the latter levels.

Update 1 @ 10:45PM: Got a high-quality version of the complete Chromacore Soundtrack by Whizbang Music Productions up on YouTube and SoundCloud!


Also implemented update checking into the Main Menu. Now when the game loads it'll check a webpage against it's own in-game version number and see if it needs updating. This is targeted for desktop and mobile users that don't have automatic updates enabled. If it's an old version, Main Menu provides a "Update Available!" text link to the proper page (depending on platform) to grab it.


Almost finished with feedback implementation. The very last piece I am going to attempt to implement before release is improving the respawn system so it's less jarring as well as clearer. There are a few more pieces of feedback I haven't implemented, but at this stage I've decided to cut them. I'm setting a hard deadline of May 15th for release on Android and Desktop, with a delayed release on iOS (Apple approval process is 1-2 weeks). With less than 9 days to go, the final things on the docket are:



  • Improve respawning
  • Improve some earlier levels by re-cutting music tracks
  • Implementing last minute artwork
  • Last minute bug fixes (no known & unresolved bugs exist at this time)
  • Publishing on iOS
  • Spreading the word as much as possible

Looking ahead, I've already begun designing future gameplay modes for a Chromacore expansion pack, and have a 2nd separate game prototyped and ready to begin development.

Friday, May 2, 2014

Dev Blog 82 - Up and At 'Em

Despite working late till 3AM, I somehow woke up at a reasonable hour and got working. Just added new background art to levels 8 & 9, will spend the rest of today finishing off feedback implementation and start re-cutting certain levels (such as 4 & 5) that don't sound great at the moment.



Thursday, May 1, 2014

Dev Blog 81 - Late night tutorial improvement, small bug fix

Completely re-worked the tutorial to better convey some information, added a few nifty sprites to help teach the player the basics. Replaced entire soundtrack for tutorial level, and shortened it considerably, simply to teach player basics and jump into level 2.

While doing this work I discovered and fixed a small bug, the tutorial billboard text wasn't being displayed in the right order.

Got some rad new background art pieces, can't wait to implement them tomorrow.

Bed time now though =)



Dev Blog 80 - Implementation of Feedback (success/failure)

Today I fixed the level 9 master notes that were causing proper color transition issues, and pushed out a fix for the in-game shop to resolve the Google Play errors (yet to be tested).

I spent a few hours trying to implement feedback from game design professors and students. Gravity is now a little stronger (increased to 14 from 9.8) to make Teli fall a little hard and faster. I had to bump up his jumping speed from 6 to 7.5 to compensate, so Teli can still jump the same heights but fall down harder. This way I don't have to go through and re-design every level.

I also attempted to implement double jump and hold for extra high jump (separately) based on feedback. Both proved difficult, irritating, and seemingly impossible given the current way movement/gravity is implemented.

These would be straightforward implementations if I knew about them 8 months ago when I first wrote the movement/gravity code. Because I'm using a Character Controller and modifying the movement direction for jumping and gravity, I couldn't figure out a way to implement a double jump or extra jump. I tried dozens of different methods. Online resources proved unhelpful, most leveraged rigidbodies instead of Character Controllers.

I actually did get the "hold for extra jump" working, but in the opposite way it should have. If the player tapped the jump key Teli would jump  higher than if the player held it down (by a negligible and unnoticeable amount).

I decided to scrap both of these pieces of feedback. These would help improve gameplay a little bit, but are not essential. I would have to rewrite the entire movement/gravity system (which the entire game hinges on). Rewriting the system could potentially be very short and simple. Or it could be catastrophic and break everything. I don't intend on finding on which, since I've already sunk hours into this. This late in development, it simply isn't worth the effort. I'll be moving on the other feedback and features.

Update: Just got the chance to test the in-game shop fix, it worked!!! Purchases can now (probably) go through. I say probably because while the Google Play error is gone, I have yet to actually make the purchase to see if it goes through. I have the option to spend money or cancel, so it very likely will. I won't go through with an actual test purchase until I have the actual skins implemented, waiting on artist for that.

Luckily my friend's Android device that I'm using for testing has $1 on it from when I gave him a $5 Google Play gift card I received before interviewing with Google! Funny how that credit comes full circle.