Releases: luksamuk/engine-psx
New Year 2025 Build
- Remove FMVs (code, functionality and .STR files from disc)
- Add slideshow frames for most written information (such as screens before startup)
- Change "coming soon" screen
- Make the player move forward and stop any action at end of level
- Fix some text alignment on title screen
- Change level select options alignment and disposition
- Add slide test on level select
- Remove FMV test on level select
- Add a few startup screens via slide functionality
- Properly limit player left boundaries depending on camera's min X (affects level startup and end)
- Add drop dash cancel when not holding jump button before hitting the ground
- Fix speed shoes resetting the player's constants to surface behaviour when wearing off underwater
- Make layout and tile changes to Green Hill Zone 1 so the navigation feels less "clunky" for now
Note
This is a hotfix which introduces a few changes for a better experience. This effectively introduces changes after observing a few people playing the Christmas build.
Christmas '24 Demo
- Remake R1Z1 and R1Z2 into R0Z3 and R0Z4
- Remove R1
- Significant changes to R5Z1
- Add water tint, surface waves, splash effect
- Ensure that the water in R5 parallax always matches water surface
- Fix a bug where the player would lose speed when hitting a horizontal spring from above
- Add autodemo for R5Z1
- Add bubble spawner object
- Add bubble object (many sizes and number bubbles)
- Add a big part of drowning code (emitting bubbles, sound effects, air count)
- Add separated structure for movement constants, enabling for dynamic switching
- Add water physics
- Add speed shoes physics and music behaviour
- Fix a bug when generating object placement with default extra properties
- Add AOZ1 after SWZ1 when playing the demo
- Optimize water and parallax rendering, adjust R5Z1 parallax accordingly
- Speed-up BGM and FMV playback by pre-storing .XA and .STR disc locations on boot-up
- Fix a game-halting effect when switching immediately from one .XA music to another (this enables seamless speed shoes music)
Note
This is a very stable Christmas build that finally adds Amazing Ocean Zone as one of the levels that are playable outside of level select.
Eggmanland
- Add Eggmanland Zone (R8) (WIP)
- Add title cards and title card fonts
- Add Amazing Ocean Zone (R5) (WIP)
- Fix timer-locked animations when time is not running
- Fix single-tile parallax
- Add switch/button object
- Add front layer on chunk mappings
- Add a framework for recording and playing auto-demos
- Add cycling auto-demos on title screen
- Changes to R0Z1
- Add working titles to R6 and R7
- Fix calculation of rounds/acts
- Show game logo during autodemo
- Add speed shoes music (still unused)
- Fix how collision angles are generated for collision geometry
- Improve collision angle deduction and add rounding
- Add initial support for 360° collision mode change (inactive for now)
- Change "inspired by" FMV in favor of "PlayStation 30 Years" logo
- Small fix to avoid losing much speed when hitting horizontal springs from above
- Fix collision sensors positioning and sizes
- Add an FMV Test, much like Sound Test, on level select
Dawn Canyon
- Changes to R0Z1
- Add support for levels with no data (so levels can be built part by part)
- Make MDEC playback less resilient (errors result in finishing playback again. This decision was necessary to avoid breaking the game)
- Add level R4: Dawn Canyon Zone (only background and music for now)
- Change moving rings collision (check for collision every frame and bounce on walls)
- Create a centralized BGM structure with support for looping and stopping points
- Add a BGM sound test on level select
Note
This release marks the starting concept for Dawn Canyon Zone (R4).
(Rev 01) Free Objects
- Add the concept of free (short-lived) objects and object pool
- Add ring loss with vertical collision
- Add monitor image functionality with delayed behaviour
- Change debug mode controls within level screen (change cycling, add damage
button) - Changes in SWZ1, R0Z1, R1Z2
- Fix extended camera not moving when player direction changes at high speed
- Fixes to CD-ROM usage and management for BGM looping and MDEC
playback. Minimizes stuttering! - Add shield
- Add 1-Up sound effect
- Change title screen to start on Playground 1, but continue on Green Hill 1
Note
This build introduces objects that live freely on a short object pool. These objects can have a free position on the world and may also hold X and Y speed information. So now we can have very interesting objects such as moving rings and shields, but also other kinds of objects as well!
This build had two revisions. The second one introduces a fix for the MDEC which goes lighter on the disc reader, so now FMVs will likely play without much hazzle.
Collision, Fonts and Damage
- Changes in SWZ1 (R3Z1), R0Z1
- Add big and small basic fonts
- Change level select to use a proper small font
- Add credits screen
- Add level HUD
- Add XA playback music volume controls
- Mute music when game is paused
- Make RELEASE the default target (for performance reasons)
- Title screen now show version based on Git tag (if existing) or commit SHA1
- Improve Player sprite generation instructions and formalize process
- Add Spring, Hurt and Death (still unused) animations
- Add in-game timer and score count at end of level (still a work in progress)
- Fix parallax in GHZ (R2)
- Fix top/bottom collision issues when running at a wall at full speed
- Add Player taking damage (currently only triggered by spikes)
- Fix Player sprite rendering position
Note
This build introduces many bugfixes, especially related to Player collision with objects and tiles. Also adds many new visual features to make the game play a little more like it should. The player can also finally take damage.
Surely Wood
- Add Surely Wood Zone 1 (R3Z1)
- Improvements on orthogonal springs collision
- Restore RELEASE target (which improved performance by A LOT!)
- Improve MDEC playback code by making variables
volatile, so we don't get
errors on real hardware - Changes to GHZ1 (R2Z1)
- Change initial main menu level to GHZ1
Note
This is a build which introduces performance fixes and the new Surely Wood Zone.
(Rev 02) Backgrounds and Parallax
- Add parallax data (.PRL file format)
- Add parallax logic inspired by how title screen works
- Change spring collision so they are much simpler and less buggy
- Add diagonal springs
- Add parallax background for R0 and GHZ (R2)
UaiDev Build
- Fixes to Sonic and monitor hitbox
- Changes to R0Z1, R0Z2, R1Z1, R1Z2, GHZ1 (R2Z1)
- Partial implementation of springs
- New ring and braking sound effects
- Add Player spawn point object
- Change and mix level music and sound effects so they are not too loud
- Add title screen fade-in and fade-out
- Add tevel select background animation
- Add git info (branch and latest commit) within builds
- Add level fade-in and fade-out
- Add first implementation of checkpoint
Note
This is the build presented for free play on UaiDev Talks 6.0 (2024). GIF animations of it were also included on the presentation.
(Rev 02): Level Objects
- Changes to R0Z1, R0Z2, R1Z1, R1Z2, GHZ1 (R2Z1)
- Introduce collision info on chunk mappings (for one-way platforms)
- First attempt at converting .RSD models into a custom format (.MDL file type)
- Add model test
- Add common level objects definition (.OTD file type)
- Add common level objects placement (.OMP file type)
- Change disclaimer screen
- Fix a bug where the CD would lock on some emulators
- Add a proper loading logo
- Fix screen clearing at beginning of game
- Add rendering for most common objects
- Add object frame control optionally tied to global timer
- Add interaction between Player and some objects (rings, goal sign, monitors)
- Add goal sign level transition (WIP)
Note
This build introduces many visual changes to tweak level and screen visualization, but also introduce common level objects, and a custom model format for 3D objects.