The Developer's Blog

Recording some thoughts of Nathan Lydick

I recently entered the GBJam 11 game jam, and decided to give Godot a try for making my game, Space Walker. Here, I provide a summary of my thoughts on the experience of using Godot in comparison to using Urho3D/U3D.

Over the past week or so I've been working on getting better collision shapes for the hitboxes for the 'mon in my game. In doing this, I found that the frame rate seemed to noticeably decrease compared to just using a large capsule for the hitbox. So I decided to do some rudimentary benchmarking of the different collision shapes Bullet offers.

Over the past hour or two I have been tracking down an especially frustrating bug. The bug in question was a Heisenbug that only appeared in the Release(WithDebugInfo) build, but not in the Debug build. It was solved by adding a single return true statement to an otherwise empty function.

Introduction

A continuation of the introduction to the YAML format describing the skills used by the creatures in game. This post provides an example of the workflow for creating the file describing a skill.

Workflow:

  1. Pick Attack
Stomp:
  1. Pick Animation for the Attack. It is not necess...

What is needed to define a skill or technique or attack that a creature in a video game can do? Basically, a skill is a sequence of animations and movement to apply to the character at some cost, together with the (visual, sound, etc.) effects to produce, as well as info about the damage and statuses to inflict, and the hitbox over which it applies.

A list of useful resources.

Over the past couple of evenings, I have been tracking down a bug that drastically impacted my game's performance. In the end, it was caused by an Instancer template that recursively instanced itself. So every frame, a new child node would be added, quickly giving 1000s of children.

Today I (mostly) finished work on adding support for Tabs rather than a collapsible header for the Archival::ImGuiBackend. This allows quick navigation to different sections, rather than having to scroll down a lot or collapse a lot of headers.

Floating point math is in general pretty excellent. It generally has hardware support, and it is capable of representing both very large and very small numbers, and it has a fixed number of binary significant figures. It is generally a suitable approximation/replacement for a true "real" number in programming. But it does have some flaws. It is much more precise near zero, so if the numbers we want to represent have a small fixed range (say 0 to 1), the numbers near the 0 side will typically have less error than the other side of the range. Enter fixed point math.

A utility class to handle weighted blending of values, created for use in my transition to data-driven animations rather than hard-coded ones. A Blendable<T> is just a wrapper around a T value and a float weight with some convenience functions to allow blending between them and applying the value from a starting point (the default animation pose, if you will).

In working on the new data-driven animations, I needed to ensure that the C++ code was reading and writing the animation data correctly. Because I like the format, I am using YAML for the data files (though JSON is also supported by the C++ code). I felt it was easier to just read and then write t...

A Semi-Procedural Animation Project

Starting in late spring 2020, I've been working on a procedural animation system. You can see a video from about 6 months into it here, at which point I thought it has reached a stage where it's nice enough to make a video showing it.

Level All

You can level up all of your stats screen, not just your stats

Basic Screen, for a new mage, Dragomir Enache:


Name: Dragomir Enache Rank: F


There are 3 things you can level up here:

  • Value of Name: basically, your reputation. Displayed to the user as a change in font,...

That's all. As a programmer, I felt it a suitable first post.

May they know that You alone, whose name is the LORD, are Most High over all the earth. (Psalm 83:18)


The Holy Bible, Berean Study Bible, BSB Copyright ©2016, 2020 by Bible Hub Used by Permission. All Rights Reserved Worldwide.