v0.0.3
GEngine v0.0.3 is now available!
This release focuses primarily on implementing a few menu screens, a few graphics options, and trying to get the first timeblock playable. Here are noteworthy changes:
Engine
- Gameplay preferences are now saved to the disk between plays. As a proof of concept, some options (like volume settings) are now written to a
Prefs.ini
file.- Located at
Users\<NAME>\AppData\Roaming\Sierra On-Line\Gabriel Knight 3
on Windows - Located at
/Users/<NAME>/Library/Application Support/Sierra On-Line/Gabriel Knight 3
on Mac
- Located at
- Added slider UI component, implemented volume sliders on the option bar. You can also now drag around the option bar itself.
- Various UIs now draw in the correct order (e.g. in-game console appears above all other UIs).
- Implemented mipmap and trilinear filtering support.
- Added some WIP custom containers. In particular, I wanted a Queue container that used a contiguous circular array rather than a linked list. It works (currently used by the pathfinding system), but I think there are still improvements to be made.
Game
- Sierra movie now plays when starting the game. The game intro movie will play the first time the game is launched.
- Added title screen.
- Added timeblock screen, which appears when you press the "Play" button on the title screen.
- Added camera collision, so now you can't just move through walls. This still needs a lot of work - you can currently still move through walls if you are moving too quickly, and collision doesn't work in some scenes yet.
- Greatly improved pathfinding performance and behavior. This was a somewhat huge problem in the past release, as entering a large scene (like right outside the hotel) would cause the game to freeze while paths were calculated.
- The museum gallery scene is now accessible after fixing a circular dependency bug when loading assets.
- Several animation improvements. Characters should less frequently warp to different spots or suddenly start playing different animations or appear in the wrong locations. There are definitely still bugs here though - just check out Jean in the Lobby scene for some examples :P.
- Soundtrack system now uses correct stop and fade-out behavior when switching scenes.
- Added support for scene triggers. When Gabe enters a trigger area, it may cause some action to occur. This is used, for example, when you approach the front desk in the Lobby at the start of the game.
- Implemented "TalkTo" keyword in action files, which causes the conversation/topic bar to appear in some instances where it was missing previously.
- Active inventory item now appears in the option bar.
- Implemented the scoring system. Scoring keywords and values are stored in
Assets/Scores.txt
. The in-game status overlay and option bar both show the correct score as you play.
Bug Fixes
- Fixed UI buttons being clickable despite interact flag being false.
- Fixed some scenes (such as outside the museum) displaying as night despite the time being 10am.
- Fixed a bug where Directory::Exists would return false on Windows, even if the directory DID exist.
- Inventory screen layout now works with any screen resolution.
Known Issues
- Animations can still be quite janky. You may sometimes see animations starting in the wrong spots, characters warping around or rotating suddenly, or wrong animations suddenly starting to play. This is getting better, but it's a very error-prone system.
- 3D audio may play too loudly for the first few frames you are in a scene.
- Lighting is currently much darker than in the original game. This is because I still need to implement some additional lighting logic.