News Scribble Surfer Devlog #3: It Still Exists
This is post 3/3 in the Scribble Surfer Devlogs series. Click here to see the rest.
Scribble Surfer Devlog #3: It Still Exists
Yeah, this game still exists. Happy holidays, and welcome back to the Scribble Surfer devlog series. It's been two years since the last proper update. Oops, my bad. To be fair, I've been pretty distracted with making the new Ezcha website, but that doesn't mean no progress has been made. Actually, there has been quite a bit being worked on behind the scenes. To make up for the large gap between devlogs I've decided to make this mega-devlog to showcase the changes. I've ported the game to the Godot 4 alpha/beta builds. During that process, I rewrote and optimized several things, given it a ton of graphical improvements and created a new, snazzier user interface. I've also added some cool new obstacles and mechanics. I have been so excited to share this with all of you, so let's dive into it! And don't forget to read until the end - there is an exciting announcement in store!
When going through and updating everything it occurred to me that there were several things I could improve graphics-wise. I ended up taking some time to improve some things in that department.
Now listen, the old 2D pencil did an alright job, sure. But frankly, it was kind of boring and if anything, confusing. Why is the pencil a 2D doodle? Did a real pencil draw that pencil? It just didn't make sense. So I decide to make it a bit snazzier and give it some more dimension. It even has a shadow!
New Player Animations
Something about the player animations just seemed off. I wanted it to look smoother and more polished. I tried fixing up the existing ones in Adobe Animate, but then I realized if I handled the animations in-engine instead it would give greater freedom and control when adding cosmetics. So I scrapped all the existing animations and ripped the surfer dude's limbs off. I layered the separated limbs and body parts in Godot and animated it through the built in
AnimationPlayer node. I am very happy with the results.
Examples of the updated poses/animations:
Character sprite(?) viewed in Animate:
After catching up to the player and ruining their day, rockets would just poof out of existence. That was kind of lame, so I decided to add some cool explosion effects. It was a simple thing to add, but it's a nice change that makes the game a bit more visually interesting.
Explosion effect at half speed:
Now when changing scenes/menus there is now a transition effect. This is one of the things I've been most excited to show off, despite it seeming a bit mundane. It took a few different iterations, but I think the final result is pretty great. It is rendered in 3D with the previous scene mapped to it, and then is drawn over the new scene and animated. This uses Godot's
ViewportContainer nodes. It was made and animated in Blender using a cloth simulation. I baked the simulation to shapekeys so it could be controlled in Godot. My friend Quentin also made some very satisfying paper crumpling sounds to go along with it.
Viewed in Blender:
Viewed in the Godot editor:
Random Generation and Obstacles
I ditched the old way of generating obstacles and made a whole new generator system. It's pretty neat. It has a bunch of configurable numbers and stuff. This new generator makes the game way more engaging. The further you make it into your run, it shrinks the gap between obstacles and updates the spawning rates. Early in a run It will favor easier obstacles, but further on it favors more difficult obstacles, along with introducing entirely new ones. It also allows me to more easily tune the spawning parameters and to add new obstacles. Speaking of new obstacles, there are new obstacles!
Mini Rocket Turret
It's the rocket turret you all know and love, but now fun-sized! I've lowered the overall spawning rates of the larger rocket turret and made these mini turrets more common.
I actually knew someone in grade school who would stash chewed gum in their notebooks. It was gross. Running into gum will not deal any damage, but it will slow you down.
Watch out for the sharp and stabby bits. The spike wall spans the height of your screen but has a small gap you can squeeze through!
This is the cooler counterpart to gum. Instead of slowing you down, this will give you a speed boost! You will be able to use boost pads to travel a greater distance quicker, but be careful! It doesn't make you invincible and you can still take damage from other things.
Revamped User Interface
When revisiting the title screen I quickly realized there was still more room for improvement. It was basically just a more colorful version of the original Scribble Surfer's title screen. The main issue I had with it was the abundance of wasted space. I decided to use up some of that space by implementing a news feed and a box that displays tips. The news section pulls posts in the "Scribble Surfer" category from this site. The tips are randomly chosen from a list and change every 10 seconds or when pressed. I have also added sub menu stuff with some nice animations.
The lobby list hasn't changed too much, but its a bit more compact and has the hip new style.
There is now also a settings page where the player can change certain options. Not sure why I'm describing what a settings menu is, I'm sure you've seen plenty of them. Audio is split into different buses. The volume of each one is able to be changed independently from the others. There is also a "master" volume slider which effects the entire game. The "input multiplier" option increases how far the character moves depending on your input. On web the default is
x1, but on mobile
x1.5 is the default. It's pretty subtle, but allows touch screen players to reach the edges of the screen much easier.
While technically not in the Godot 4 version quite yet, I did want to share this with all of you. After a suggestion a good while back I played around with adding bosses. I only ever added one but I do plan on adding more. It's a stapler guy. He shoots staples and stuff, doesn't have a name yet and might look a little different in the new version. Bosses are optional, and will only spawn if the player collects three boss tokens. Defeating the boss will yield a reward.
Thoughts on Godot 4 Alpha/Beta
I started moving Scribble Surfer over to the Godot 4 alpha back in August, using the alpha 14 version of Godot 4. At first I just copied over the player and optimized it. I told myself it was just to quickly check out Godot 4. It was just a small test. Then I added the obstacles, a new title screen, transitions, and well... you can see where I'm going. In just the few months time since then, the Godot contributors have been finalizing new features, making changes and have fixed a very impressive amount of bugs. My favorite part about Godot 4 would probably have to be all the improvements to GDScript. Now it has annotations, improved variable exporting and best of all, no more cyclic reference errors! While it might have been a questionable decision to move my main project over to an alpha version of a game engine, it's been an interesting experience nonetheless. The occasional node or function being changed has definitely thrown me off more than once, but it was always a fairly easy fix. Now that Godot 4 has been in beta for a while I could confidently recommend others to start making more serious projects with it. Although, I wouldn't feel comfortable suggesting it over the more stable 3.x version for projects that are releasing sooner rather than later. Overall, my experience with Godot 4 has been very positive and I am excited to use it more in the future!
And that exciting announcement I promised...
Along with the already confirmed web and android versions, Scribble Surfer will also be coming to the App Store on iOS!
Thank you for taking your time to read the third Scribble Surfer devlog. I'm sorry it's been such a long wait and hope to deliver the devlogs more consistently. I hope you've enjoyed this one! I invite you to share your feedback and ideas either in the comments here, in the Scribble Surfer forum, or in our Discord!
Scribble Surfer Devlog #3: It Still Exists
Published Dec 25, 2022, 10:01am CST
Edited Dec 25, 2022, 11:09am CST
Happy holidays! I am excited to announce that the Scribble Surfer devlog series is finally back after a two-year hiatus with a huge new update. Don't miss out on all the new changes and features! Not to even mention the big announcement…