Skip to content

Releases: UTheCat/jumpvalley

v0.5.0

30 Nov 11:46
465d8dc
Compare
Choose a tag to compare

so um, there's a lot of pull requests in this one.

oh gosh.

yeah, i'm probably not topping the number of PRs i made in this update, at least for jumpvalley.

well, um, anyways, i hope u enjoy :3

Credits

Before I begin with the summary, I gotta give credit where it's due. More 3rd-party assets have been added to the game (and they're awesome). These include:

Decals/Icons

Fonts

Music

Summary

So as you can probably tell from the Detailed Changelog list below, there's a lot packed into this update.

First, this update adds a settings menu. Currently, it can be accessed by pressing the gray button with the 3 dots at the bottom of the app's window.

The blue music button at the bottom of the app's window also does something now when you click it (before this update, it didn't).

Oh, and I should probably mention. This update brings some major structural changes to Jumpvalley's code. This includes changes that break backwards-compatibility with previous versions of Jumpvalley big time. Hopefully, there will be a lot less of these breaking changes in future updates. I tried to pack a lot of these breaking changes in this single update so developers making stuff using Jumpvalley's code won't have to account for breaking changes as much in the future.

Additionally, changes were made to stuff related to moving your character and turning your camera. Some of these changes include:

  • New indicators that tell you:
    • Whether or not you have fast-turn enabled
    • Whether or not the current state of user input makes the app think you're trying to turn the camera
  • More realistic acceleration/friction
    • Particularly, mid-air and on-ground acceleration/deceleration values have been modified in this update

Oh, and one more thing. While this isn't all there is to this update, I added a welcome sign to the lobby that should show up when you first spawn into the lobby. The sign explains how to move your character around; plus, it makes the app feel a little more complete, y'know.

And, that's about it for this update summary. If you wanna know more about this project, I suggest taking a look at the README in the Jumpvalley repository.

Thanks for reading!

Detailed Changelog

  • Restructure source code directory (again) by @UTheCat in #38
  • Have the game use JSON info files by @UTheCat in #39
  • Mark old info file classes as deprecated by @UTheCat in #40
  • Add music panel by @UTheCat in #42
  • Restructure character layout + Add initial animation stuff by @UTheCat in #43
  • Use the Celeste difficulty rating system by @UTheCat in #44
  • Add settings menu by @UTheCat in #45
  • Change how project name and version is displayed in the console by @UTheCat in #46
  • Add feature tag for custom user directory by @UTheCat in #47
  • Change how Playlist class opens and closes audio streams by @UTheCat in #48
  • Add new music (done on June 17, 2024 PDT) by @UTheCat in #49
  • Change the node structure of Interactives by @UTheCat in #50
  • Customize acceleration/deceleration based on if the character wants to move and if the character is in the air by @UTheCat in #51
  • Add Teleporter mechanic/interactive by @UTheCat in #52
  • Add Level.InitializeInteractive virtual method by @UTheCat in #53
  • Add optional parameter named "runner" to Interactive class by @UTheCat in #54
  • Add "runner" parameter to Level class's constructor by @UTheCat in #55
  • Add Level.GetCurrentPlayer method by @UTheCat in #56
  • Use Level.GetCurrentPlayer method in Level class by @UTheCat in #57
  • Add Start-End Teleporter mechanic by @UTheCat in #58
  • Improve MusicPlayer's code by @UTheCat in #59
  • Parent interactive node handler to interactive node marker by @UTheCat in #60
  • Add InteractiveNode.GetHandlerFromMarker method by @UTheCat in #61
  • Add initial implementation for the checkpoint system by @UTheCat in #62
  • Add initialization_lobby metadata entry by @UTheCat in #63
  • Implement songs array for music list nodes by @UTheCat in #64
  • Fix Playlist code not playing more than one song by @UTheCat in #65
  • Implement level primary playlist by @UTheCat in #66
  • Have SettingBase and SettingGroup use node name as ID by @UTheCat in #67
  • Add framerate counter display by @UTheCat in #68
  • Add fade-out panel intro screen by @UTheCat in #69
  • Fix setting entries being too close to each other on screen by @UTheCat in #70
  • Implement level-specific lighting by @UTheCat in #71
  • Fix settings menu layout by @UTheCat in #72
  • Give Jumpvalley its own logo (August 2024) by @UTheCat in #73
  • Migrate to Godot 4.3 by @UTheCat in #74
  • Implement part 2 of migrating this project to Godot 4.3 by @UTheCat in #75
  • Rename JumpvalleyGame namespace to JumpvalleyApp by @UTheCat in #76
  • Add versions of Jumpvalley August 2024 logo for Android by @UTheCat in #77
  • Fix csproj name capitalization by @UTheCat in #78
  • Modify SettingGroup.Dispose() to dispose SettingBases that are a descendant of the SettingGroup by @UTheCat in #79
  • Improve support for HiDPI screens by @UTheCat in #80
  • Modify class layout (2024 Nov 23) + fix some stuff related to garbage collection by @UTheCat in #81
  • Update README (2024 Nov 24) by @UTheCat in #82
  • Rename "rotation-lock" to "fast-turn" + Change default fast-turn camera offset to 0 meters by @UTheCat in #83
  • Add indicators for camera turning and fast-turn by @UTheCat in #84
  • Fix current music zone not changing by @UTheCat in #85
  • Make some font-related changes (2024-Nov-27) by @UTheCat in #86
  • Rename data directory used by release build of Jumpvalley by @UTheCat in #87
  • Make adjustments to music panel GUI (2024-Nov-28) by @UTheCat in #88
  • Prevent scrolling on a ScrollContainer from causing the camera to zoom in or out by @UTheCat in #89
  • Save user settings when NOTIFICATION_APPLICATION_PAUSED notification is received by JumpvalleyPlayer by @UTheCat in #90
  • Fix camera turning (2024-Nov-29) by @UTheCat in #91
  • Rename stuff (2024-Nov-29) by @UTheCat in #92
  • Make changes related to difficulties (2024-Nov-29) by @UTheCat in #93
  • Make changes to lobby (2024-Nov-29) by @UTheCat in #94

Full Changelog: v0.4.0...v0.5.0

v0.4.0

21 Apr 06:45
1b0f0ed
Compare
Choose a tag to compare

Summary

First and foremost, this update addresses a security issue by removing the game's PCK loader code that would load Godot PCK files specified in a level's info file. PCK files can contain scripts in them, so it's important that they can't load right from a level. More about this change can be found in #22 .

This update also breaks backwards-compatibility with previous versions of Jumpvalley. However, as long as you didn't use previous versions of Jumpvalley as an API or to make a level with it, you shouldn't have to worry about this.

Edit (June 11, 2024): The APK in this release has been replaced with a new Jumpvalley APK with a different package name (to account for my username change). The new package name for the Jumpvalley APK is com.uthecat.jumpvalley.

Here's more of what comes with this update:

Significant changes to character movement

The character now has acceleration/deceleration for movement along the XZ plane (basically the non-vertical part of the movement).

Climbing has also been significantly improved.

Beginning of a new level

I decided to start a new level in Jumpvalley called "Shape Variety Demo". It's definitely not finished, but there is some gameplay in the level.

This level is now what loads when the game starts up by default.

New music

A new song was added that plays when you're at the new level. This new song is "keygen w/ South" by korewakosu.

Releases of the game for Linux

Precompiled binaries for Linux are now shipped with new releases here.

Compatibility with Android

Changes were made to allow Jumpvalley to export to an Android APK. As such, there's an APK that comes with this release.

It's important to note that Jumpvalley for Android is currently experimental for these reasons:

  • Currently, exporting your game to an Android APK on Godot is itself an experimental feature
  • Currently, you'll need to connect a keyboard and mouse to your Android device in order to move your character and camera.

Bug fixes

Various bugs were fixed in this update.


And that's pretty much it! Below is a more in-depth changelog that covers some of the things that weren't mentioned in this summary.

Detailed Changelog

  • Change naming of BaseMover's BodyState enums so that they're not all-caps by @UTheDev in #14
  • Significantly improve climbing (and add RaycastSweep API along the way) by @UTheDev in #16
  • Further improve climbing logic by @UTheDev in #17
  • Make project be able to export to Android by @UTheDev in #18
  • Begin a new level called "Shape Variety Demo" by @UTheDev in #19
  • Add some things to the level system + lobby additions by @UTheDev in #21
  • Remove PCK loader from the game's code by @UTheDev in #22
  • Use Doxygen to export the code's documentation as a website by @UTheDev in #23
  • Move the code's documentation outside of this repository by @UTheDev in #24
  • Add a class for logging to console by @UTheDev in #25
  • Have MusicZonePlayer only update CurrentPlaylist once per frame by @UTheDev in #26
  • Restructure source code directory by @UTheDev in #28
  • Modify AnimatedControl (and rename it to AnimatedNode) by @UTheDev in #29
  • Further change how the source code directory is structured by @UTheDev in #30
  • Let Interactives be able to know what object is running them by @UTheDev in #31
  • Add character acceleration by @UTheDev in #32
  • Tweak acceleration by @UTheDev in #33
  • Remove some instances of the code setting a node's name by @UTheDev in #34
  • Make climbing logic use a ShapeCast3D by @UTheDev in #35
  • Print project name and version to console by @UTheDev in #36
  • Migrate to Godot 4.2.2 by @UTheDev in #37

Full Changelog: v0.3.1...v0.4.0

Jumpvalley v0.3.1

04 Feb 09:11
a8312b6
Compare
Choose a tag to compare

Here's a patch update that adds some improvements (one of which is pretty significant) and fixes some bugs. This update is also the first update in Jumpvalley to use GitHub pull requests, and I gotta say, I should've took advantage of this feature earlier.

The changelog for v0.3.0 was pretty long and I don't think most users would care about the less significant updates. So instead, I'll try to list the significant changes that the users are likely to care about by including them in a summary.

A detailed list of the changes that come with an update will be in the "Detailed Changelog" section (which is auto-generated by GitHub's "Generate release notes" feature). It'll be located below the "Update Summary" section.

Update Summary

This most significant part of this update increases the physics refresh rate in the game from 60 Hz to 240 Hz. This change alone seems to have reduced input lag even further, and it has gotten rid of the annoying jitter you'd experience if your game's rendering refresh rate stayed higher than 60 Hz. This jittering should no longer occur as long as the rendering refresh rate is less than or equal to 240 Hz. More details about this can be found in #11.

This update also fixes info file reading. More details about this fix can be found in #5 and #7.

In addition, this update includes fixes to the music system, especially with stopping a Jumpvalley Playlist. More details about this can be found in #9 and #10.

Detailed Changelog

  • Fix data not being read from info files properly by @UTheDev in #5
  • Change what Spinner's code does with its original constant angular velocity by @UTheDev in #6
  • Add further fixes to info file and improve its code and documentation by @UTheDev in #7
  • Fix some issues with the music system by @UTheDev in #9
  • Improve Playlist's documentation by @UTheDev in #10
  • Increase physics refresh rate from 60 Hz to 240 Hz by @UTheDev in #11
  • Replace ProjectSettings.GetSetting usages for physics refresh rate and gravity by @UTheDev in #12
  • Tweak some things in main.tscn (the game's primary scene file) by @UTheDev in #13

Full Changelog: v0.3.0...v0.3.1

Jumpvalley v0.3.0

15 Jan 09:48
eb8d2ce
Compare
Choose a tag to compare

This update took a while, yes. But it finally came out, and it comes with quite a few updates compared to the previous release. See for yourself in the list below!

Main Changes

Add the ability to climb objects

One of the key things missing from Jumpvalley is now here! You can now climb certain objects in Jumpvalley!

As of this version, your character can climb a StaticBody3D object that has a boolean metadata entry named "is_climbable" that's set to true. StaticBody3D is a Godot object that can be used to make platforms that your character can collide with.

Add a level timer

This timer displays how long you've been in a level and is located near the top-left corner of the game window. Currently, there's no way to switch out of the default level, so for now, it basically shows how long your current Jumpvalley session has lasted.

The default level's music now gets played again

This was removed in Jumpvalley v0.2.0 due to code changes, but has been brought back as of this update. The default level song has also been changed to KORAII - The Trail.

Changed the music used in the game

You can know what song is being played by hovering over the blue music button at the bottom of the game window. A list of the music used in the game can also be found in this repository's credits.

This is the list of the new music:

Interactives system is more complete now

The interactives system in Jumpvalley is basically a framework for giving objects "enhanced" behavior past just sitting there and/or being able to collide with it. An example of an interactive would be the spinner. While it will likely receive changes in the future, it's in a usable state now.

Add the spinner mechanic

You can now make platforms rotate! Wiki documentation will come for this later, but basically it's the first full-on application of Jumpvalley's new Interactives system.

Disable v-sync

This should help reduce input latency noticeably, especially if you're running Jumpvalley on a lower-end device. The maximum rendering framerate has also been increased to be exactly your monitor's refresh rate (or whatever it rounds to).

Increase maximum rendering framerate

The maximum rendering framerate has been increased to be exactly your monitor's refresh rate (or whatever it rounds to). It used to be slightly lower to make low input delay work with v-sync, but that didn't turn out too well. Since v-sync has been disabled, lowering the maximum framerate like this is no longer needed.

Add a level menu

This menu is accessible by clicking the three dots at the bottom of the game window, and is added to give players options to do things with the game while in a level. This is somewhat like the pause menu from Celeste, except it does not actually pause the level like in Celeste.

Add an "Exit Game" button

This button can be found in the level menu mentioned above. It closes out the game when pressed.

Tweak the positioning of the two buttons at the bottom of the game window.

They're also known as the buttons in the "bottom bar". Their positioning should look a little more visually appealing now.

Jumpvalley v0.2.0

08 Aug 09:37
6d8f2e1
Compare
Choose a tag to compare

This update mainly comes with a few new features as well as some bug fixes and cleanup.

Note that this release's README (the one found in this release's source code ZIP file) contains broken links to the credits and license. I found out after publishing this release, sorry. Here are the correct links:

Main Changes

Fix issue #2 where music zones would not check entry status properly when multiple boxes define its region

Migrate the project to use Godot v4.1.1

Make the demo level found in the game load in as a test of the new level loading system prototype

The level's music has been temporarily removed as a result due to reorganization of the level's music within the resource filesystem. It'll be brought back once the new level loading system supports music playback.

Make maximum render frames-per-second be set to a value slightly lower than the monitor's refresh rate

This is to make low input latency work with V-sync enabled on monitors with G-sync enabled. This means that if your monitor's refresh rate is high enough, the render framerate will be capped at a value higher than 60 frames-per-second.

Note that this was mainly implemented as a test to allow the gameplay to be smooth on monitor refresh rates other than 60 Hz. In the future, there will likely be more options for capping the framerate that would allow more monitors to provide smooth, low-input-latency gameplay.

Change the texture of the platforms found in the demo level

Allow the user to toggle fullscreen with the F11 key

Full Changelog: v0.1.0...v0.2.0

Jumpvalley v0.1.0

13 Jul 00:55
fc9883c
Compare
Choose a tag to compare

First ever release of Jumpvalley! There's still a lot to be finished, but if you want to test a pre-compiled version of Jumpvalley, this is what this release is for.

Currently, there's a little obstacle course you can try out. If you've got completion progress on Juke's Towers of Hell, it shouldn't be too hard to learn how to jump around here :)

Note: Due to privacy concerns, I had to remove the precompiled binary attached with this release. If you want to test this version of Jumpvalley for some reason, you'll have to compile/export this version of the project yourself. Sorry :(