No Game Engine Game Dev: Word Sleuth 011: Bug fixes and window sizes
Streamed on 2024-07-09 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
There were a couple of bugs that were bothering me, so we hunted them down and murdered them with great prejudice. One was about color transitions in animations. The other was playing sounds while changing levels.
Next we moved on to window sizes. The window size is not the same as the render area, so we added some tools to work with the render area, which is more important in our case. In the Settings scene we added buttons to change the window size. We changed the way the Settings scene lays out its elements and will have to do the same with the MainMenu and Game scenes tomorrow.
During the above window sizing adventure, we ran into a piece of code that I had not implemented and had to work out on the fly. Fonts weren't paging out old FontData to make room for new FontData so we could work with different font sizes, which is super important. As we change window size, we have to change our font sizes so we page in/out more fonts than we have before with a fixed window size.
3
views
1
comment
No Game Engine Game Dev: Word Sleuth 010A: Final animations (guesses color change and level change)
Streamed on 2024-07-08 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
Rumble limits my uploads to 15GB, so this video has been split into two parts.
It is finally time to make the guesses on the bookshelf animate their color changes like the letters on the chalkboard. There are some differences that make this one a bit different. Instead of changing the the model projection matrix, we have to change the actual vertex buffer. After some fiddling around, I got it working.
2
views
No Game Engine Game Dev: Word Sleuth 010B: Final animations (guesses color change and level change)
Streamed on 2024-07-08 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
Rumble limits my uploads to 15GB, so this video has been split into two parts.
Then I tackled the level transition animations. The initial animations chosen are a simple float-off-the-screen at the end of a level, then drop back onto the screen at the start of a new level. I ran into some limitations of the ActionSequence and how they fire off. After some experimentation, I understood the problem and moved to using the SubSequences implemented last week, which is how it should have been approached in the first place.
3
views
1
comment
No Game Engine Game Dev: Word Sleuth 009: AnimationSequences get tags and uniqueness
Streamed on 2024-07-05 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
Today I had an idea how to fix certain types of animation problems. Add a "tag" to an ActionSequence, then if the ActionSequence sees a running ActionSequence with the same tag, wait for the running one to complete. This keeps an ActionSequence in the queue until a given tag is clear. Now certain animations are much safer to launch.
While mucking about with that, I discovered that Text and MultiColorText weren't reporting their bounding rectangles correctly, so that was fixed.
The rest of the time was spent mucking about with existing ActionSequences to bring them up to speed with the new material. Several blunders and digressions dragged things to a halt a couple of times. But I persevered and got things up and running.
Since the animations were more safe to run, I finally made decisions about which animations would be used in the game for different actions and removed the keyboard interface for switching between them.
2
views
No Game Engine Game Dev: Word Sleuth 008: Animation and a partially failed refactor
Streamed on 2024-07-03 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
Slightly stream today.
I revisited the falling guess animation one more time today. This time it came together quite nicely. Sometimes you just need to let a task percolate in the back of your brain for a day or two while you work on something else.
We tackled a bug or two with the colors of letters in guesses. Nothing too big, but they needed to be fixed.
Next we tackled animating the color change of the letters in the chalkboard alphabet. We have some good options working, but there is still one or two animations I want to try before any final decisions. During this task we started down a long, dark, lonely road of refactoring some of the Scheduler/ActionSequence/Action things. Before we got very far I could see that it was the wrong path. The unnecessary parts were put back the way they were, but there was part of that refactor that was right and good, so we kept that. Just typical software development stuff.
3
views
No Game Engine Game Dev: Word Sleuth 007: More animation fun
Streamed on 2024-07-02 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
Short stream today.
I fixed one aspect of the bad animation from last time. It doesn't look any better, but now it doesn't have to block user input while active. Once that was fixed, I disabled the bad animation altogether.
Moving on, we animated the banner/notification box thing. It now drops out of the ceiling and the springs back up.
With 10min left to go, I created a static Constants class where I defined pi for use across the entire project and cleaned up all the old defines. Why C++17 doesn't define M_PI in cmath, I don't know.
5
views
No Game Engine Game Dev: Word Sleuth 006: Recursive ActionSequences and a bad animation
Streamed on 2024-07-01 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
I added the ability to turn animations on/off in the Settings menu. This is for testing (in case something animation gets broken, it can be disabled) and for speed runners who don't care how nice animations look and just want things to move as fast as possible.
Next up was adding SubSequences to ActionSequence. This allows recursively defining action sequences. With a bit of finagling it works with both a "Play" option which waits until the sub-sequence is done, and a "Start" option which just starts the animation and doesn't wait for it to finish.
And finally we added animation to submitting your guess ... and I don't like it. Doing a multi-stage animation with different easing curves causes velocity discontinuities which look really bad. I'll think up something else to try.
Even with the failure to nicely animate that drop, the Scheduler/Animation/ActionSequence framework is really coming together quite nicely.
5
views
No Game Engine Game Dev: Word Sleuth 005: Testing animation and adding first one to the game
Streamed on 2024-06-28 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
I battled through my own bookkeeping errors and wrapped up the animation code with some nice interactive testing. Animations also got upgraded with easing curves. ActionSequences got the latest in Animation as well as some new actions.
The TODO list was processed to break things into better categories, labels and prioritization. This should be done periodically and this was a good time.
Then I wrapped up the stream by adding the first animation to gameplay.
3
views
No Game Engine Game Dev: Word Sleuth 004: Crappy programmer art, some audio, and starting animations
Streamed on 2024-06-27 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
This session, I very cleverly streamed for 1:31:35 before realizing that I hadn't powered on my mike. No viewers watching I guess.
I updated the crappy programmer art some more. Layout and alignment changes were applied as needed. There are now a table and some books.
After that, I tried debugging the audio click issue for half an hour, to no avail.
We wrapped up by starting implementing animation. There are still a couple of kinks to work out and testing, but the red box does move from left to right. I count that as a victory.
6
views
No Game Engine Game Dev: Word Sleuth 003: Audio programming and bad programmer art
Streamed on 2024-06-26 (https://www.twitch.tv/thediscouragerofhesitancy)
I fought valiantly against the audio ending with a click ... but all recorded audio still ends with a click still. We added some sounds to different game events.
As a change of pace I started adding some really bad programmer art.
5
views
No Game Engine Game Dev: Word Sleuth 002: Embedding sounds and trying to play them.
Streamed on 2024-06-25 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
In this stream we wrote some code to parse WAV files and embed them in my C++ code so the binary data itself is embedded in my executable at compile time. That part went pretty smoothly.
Then we start in on playing a non-generated waveform (like sine/square wave) and instead playing back audio from a data buffer. After a couple of brain-dead mistakes on my part we have that mostly working. Just a strange "tick" after the recorded sound finishes playing. We'll tackle that tomorrow.
6
views
No Game Engine Game Dev: Word Sleuth 001: Testing ActionSequences and building a Scheduler.
Streamed on 2024-06-24 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
In this stream we tested an ActionSequences so we can queue up several actions and then have them played back. We added a Scheduler so we can run multiple ActionSequences at the same time if needed. Then we added a simple ActionSequence to provide audio feedback for the number of matched characters in a guessed word. It doesn't sound good yet. That will be coming later.
5
views