Activity

Baton

I love forgetting to devlog. Favorite activity.
Made some more levels, then one of my friends gave me ideas that completely changed my plan for the game, so I spent 8 hours prototyping to see if it’d work;

  • Air Tricking Combos; Use WASD midair to do combos for points.
  • Dashing; Press E / Right Click to dash in the direction from the player to the mouse.
    Also did a bunch more work on the UI, namely the main screen.
Attachment
Attachment
0
Baton

Did this and didn’t think about submitting it to Flavortown, so we’re doing one BEEG devlog;

| MAIN FEATURES |

  • Offline display; The dock now accurately shows time spent while offline.
  • Project-specific; The dock now shows time spent overall on the current project, instead of what it used to (time spent that day over all projects). This lets you see how much you’ve spent on a project easily (I use it to make sure I commit every hour or so)
  • Fancy Dock; The dock itself is much more than just a time display, see below :D

| THE DOCK |
The dock for the plugin has been upgraded from a simple time display into a full-on mini Hackatime view for your project;

  • All Time - shows the total time spent on the project
  • Today Time - shows the time spent today on the project
  • Streak - Shows how many days in a row you’ve been coding. Not project-specific D:
  • Pie Chart - shows what percentage of your time has been spent on Scene/Code
  • Goal Bars - Allow you to set up and view hour goals over periods of time. Sort of scuffed.
  • Offline Notice - When you’re offline, a red notifier pops up to show it’s noticed.
  • Version Notice - Shows the current plugin version, and will turn red and say “outdated” if it’s not the most recent (this is checked every time the plugin is initially loaded)
  • Customization - All the text and separators can be changed via the Theme files in the corresponding folder, so you can change fonts, font sizes, and colors as much as you want! The panels just match your editor theme.

| OTHER NOTES |

  • The base plugin is currently tracking languages incorrectly (there was a commit to improve it that broke some things). This is why most of the time is marked “Other” - as far as I can tell it’s not anything wrong with my plugin, though I could be wrong on that.
  • DO NOT START USING THIS; I haven’t gotten it approved (I don’t think, it’s kind of hazy). I’ll make another devlog and probably mention it in some places (#gamedev, my personal channel) once it gets approved.
Attachment
Attachment
Attachment
0
Baton

Oh. I forgot to devlog for 3h… I pretty much just did all the set up and started working on World 2;

  • Gear tool script to make the background
  • AnimatedSplines for the interpolation mechanic
  • The aforementioned background
  • 2-1 and 2-2
Attachment
Attachment
Attachment
Attachment
0
Baton

Got a sixth level done for this first world, and I’m deciding to call it here - we’re moving onto the second world. I am fully out of level ideas with just the pieces introduced so far - once spline lerping is introduced I’ll hopefully be sitting better for ideas.

Attachment
0
Baton

Finished setting up the times and other tweaks to 1-2 / 1-3, and made 1-4. It’s just a momentum-building practice level. Also added Velocity Amplifiers (They add a set amount to the player’s velocity), which the next 3-4 levels will be based around.

Attachment
Attachment
0
Baton

Added a speedometer in the bottom right so you can see how fast you’re going, made several level tweaks based on feedback I got, and started working on 1-3

Attachment
Attachment
0
Baton

Finished up the first two levels, after a LOT of playtesting, and added some spikes that kill the player on contact for the second level.

Attachment
0
Baton

Got the run timer working, + the level/world unlocking stuff and the reset key - holding down R for a full second resets the current level.

Attachment
0
Baton

Added a merge sort function since the default sort function was… working differently depending on the OS? Also got most of the first level done. I definitely have more work to do on it, but we’re getting somewhere.

Attachment
0
Baton

Added some fonts, a UI element, and a time-slowing effect.

The time slowing affects delta and was initially making the jump really suck - I thought it was something to do with lerp being time-dependent, and fixed that following (https://www.youtube.com/watch?v=LSNQuFEDOyQ), but it was literally just me multiplying the jump height by delta…

Since this devlog’s shorter, might as well mention how I did splines; coincidentally I learned about how splines work from a video by the same creator as above; (https://www.youtube.com/watch?v=jvPPXbo87ds&t=809s) - spent a few weeks making an implementation of the continuous ones mentioned in it by building a tool script over top of Line2D, where points are sectioned into 4s, then turned into quadratic(?) splines. Then sample points from those splines are used to create the actual line.

For the meshes, I turned each point into two on either side of it half the width away - the direction is “perpendicular to the direction between the two neighboring points” (see the picture of a sketch example I made while I was coming up w/ this). Then those points are put in different arrays, which are combined at the end to make a continuous mesh.
It gets pretty close to smooth, but definitely runs into issues - it’s like a poor man’s version of Line2D’s solving. Notably, the points can overlap and completely mess up the mesh if the spline overlaps itself - I haven’t found a solution for that yet.

Attachment
Attachment
0
Baton

Spent way too long on way too little;

  • Got the camera all set up (I might make a few tweaks, I think it could use some more bounce) - it uses a second-order system as per “Giving Life To Procedural Animation Using Math” on YT.
  • Made a background for the first world. It definitely still needs a lot of work - I can’t do art D:
  • Made the Splines and Chains (I never explained those did I? Maybe in a later devlog lol) create their own collision via StaticBodies and CollisionPolygons instead of relying on me to make them, so I can just Ctrl-A + Spline + Enter to create a Spline node.
1

Comments

nmsoukmandjiev007

this looks peak!

Baton

Added the ability to put textures on the splines.
Made the velocity on hitting a wall more accurate; when you fall onto a wall, it projects your velocity onto the wall, and takes the higher of [the default grind speed, the projection’s magnitude] and uses that for the grind speed. Basically, if you’re already going fast and you grind onto a parallel surface, you keep most of your speed.
Red line is velocity, blue is the wall direction, green is the projected velocity.

Attachment
0
Baton

Added Goals and DeathBorders for win and lose conditions; There’s of course a tool script to show the death borders.

Got the entire level resetting cycle working; it’ll need to be added per thing that needs resetting, but that’s expected - also added a countdown when you start/restart a level so there’s time to realize.

0
Baton

Made a extension of the RegularPolygons (AnimatedPolygon) that supports some basic animations;

  • Spinning; the inner and outer ring can spin independently
  • Oscillating; Modulos of the vertices can bounce in and out.

I also am finally home so we’re doing videos again - here’s how everything is so far, there’s a AnimatedPolygon in the background.

0
Baton

Imported some scripts from my previous attempt, and ported them to work with how things are set up now. Mainly the Player’s controls, the Spline and Chain script, and the RegularPolygon script, since they’re the most technical ones and I didn’t want to rewrite them for no reason.

Used some RegularPolygons to make a simple graphic for the player, and built a quick test environment for the player; the controller works as expected after some tweaks, since the resolution is different.

Attachment
Attachment
0
Baton

Way more work on the UI; Got the actual implementation of what I want it to do done. All that isn’t working is actually loading the levels (since they don’t exist), and cycling between world screens (since there’s only one.)

Attachment
0
Baton

Started setting up things for the levels and the world/level selection screen. Mostly just function rn - got the file hierarchy set up the way I want it.

Every world screen is in the same folder, and it loads all of the screens in that folder, then the screens load a level entry for each LevelData resource in their corresponding folder.

Attachment
0
Baton

Finally found a layout for the next room screen I’m good with - The sidebar is still bugging me but oh well.

Also added support for hot-swapping color themes using metadata to track what text should have what color.

Attachment
0
Baton

Started working on the screen for choosing which room to go to next. It’s… taking a long time to find something I like.

Attachment
0
Baton
  • Resources needed to hold data about the player and enemies, as well as the attacks themselves.
  • made the player’s information display on the combat screen.
  • Camera shake support.
  • Made the backdrop grid more visible. I might do color palettes at some point.
Attachment
0
Baton

Created a way to make terminals for the game, and implemented simple ones for the main menu and pause screen; eventually I’ll stuff in commands for options, like window mode. Also made transitions between the screens. Now I should probably work on the actual game loop.

0
Baton

Set up the project, and laid out what I want the main gameplay screen to look like. I had to figure out how to get the font spacing the way it should be, but we got there.

Attachment
0