Dan Herbert

Dan Herbert

@danherbert.bsky.social

Development and production relating to: web, games, and music. https://danherbert.io

77 followers150 following226 posts

A spot of ImGui work in my fork of Nez this morning: - Now supports multiple atlased window renderers - Improved per-renderder ImGui theme setup - Enabled docking in Nez's main ImGui UI #gamedev

People have been discovering and honing in on UI/UX patterns for a very long time now. We should be refining and supercharging those patterns rather than making everything a chat interface.

Give me enhanced search results with better relevancy ranking by context, helpful inline supportive information, generate diy projects which are stored as content so the user can easily come back later or it can be reused for other users!

Haven't had the brain for progressing game mechanics this week. Instead made some big pushes towards the aesthetics I'm aiming for, fog of war with map hints, big revamp of UI systems, post processing, and more... #ScreenshotSaturday

It's a bit early for #ScreenshotSaturday, but this image marks a successful (and unexpected) detour for my game UIs. Might write an article... Short version: ImGui windows now render to an atlas & sprites present them. All the standard sprite fun, and fully interactive too!

Nostalgic for late 90s internet - riding my bike to the library, repeat booking 20 minute sessions on the computers to find Duke3d maps or research school assignments... Without a doubt the 'net is more practical now, but I do think it was better back then.

The last few days I've been building out the core state machine for this game. Fantastic structure for projects that are sequential or state based, such as card games, board games, turn based games, etc.

Going deep on sci-fi horror themes for inspiration on a #gamedev concept. Alien (1st movie), Pandorum, Blade Runner, Altered Carbon are the sort of vibe. Any suggestions?

Had a great idea for a card game this morning. A couple mechanical inspirations, but overall fairly unique (I think?). A bit of push your luck, a bit of exploration, simple battle encounters... Could potentially be great as a video game or a physical game.

I'd love to see more posts/content on perf optimisation, rendering, and novel approaches to technical problems - deeper topics focused on learning and exploring. Feels impossible to escape discourse about US politics or AI these days.

Updated my #gamedev project to render Dear ImGui windows directly into textures which are then displayed via sprites (input is translated+mapped accordingly too). Now I can tint/rotate/skew/scale/more ImGui UIs to make them fit into the vibe I want way more easily.

Taking a break from normal dev work for some pre-Christmas gamedev. Super preliminary loadout screen and progress screens well underway, along with the data and internal systems to support those. Specs/modifiers are all defined through editable files which may open the door to some basic mods.

Few updates atm, holiday season got things a bit all over the shop. Nevertheless, happy with what's going on. Gamdev: Honing in on a pretty tight+cohesive vibe. If it proves unfun, lots I can reuse elsewhere Elide: Starter kit coming along nicely Xero PO importer: almost ready

Given time + component evolution I almost always find myself wondering why I didn't just write CSS in the first place. This button for example: - size+status -> BEM modifiers - the status colours could be a system reused wherever required - conditional appearance offloaded to client rendering

- a DOM that's more readable and provides more context - lighter HTML payload (if your site is busy enough that it matters) - very clear+logical+understandable CSS when written with $vars and media queries

Just over 3 weeks since installing Kubuntu. Aside from web dev which remains on the MacBook Air, this has become the daily driver. Booted into Windows 11 only once to check something. Haven't missed it _at all_.

Crazy idea while out driving today - Dear ImGui as a layout engine, widgets represented with entities & components, allowing for effect/rotation and other things not typically possible with Dear ImGui. Quick experiment proved viability, stoked! Blog post later this week perhaps.

Got Dear ImGui windows rendering within the context of a scene with MonoGame+Nez today. Big step toward using ImGui for in-game controls and having it feel more grounded with scene effects and rendering, rather than a debug UI layer over the top.

Super crude gamedev demo - MIDI files now spec which clips to play, loop/jump points, and other events/data for the game. The game can now interact to musically timed events, and work with loop/jump points to change tension levels with transition periods. Really happy w this!

Fun gamedev today. The music system I built wasn't proving enough reactivity between music and gameplay/ui/aesthetics. Today moved to a system which uses MIDI files - notes => music clips, events & CC data define loops and game events/effects. Clips soon, works really well!

Started the second Elide Starter Kit for Laravel today. It'll include a few more things than the current simple starter kit. I'll be making it look close to the official starter kits too, for consistency.

At a venue waiting for my missus for a gig (Tool!), and it feels pretty unusual to me that it's late November, it's pouring down, and I'm in jeans and wishing I had worn more layers. What the heck...

Laravel's ecosystem really spoils us... Added subscription/billing management to a project, from zero to done, in about 15 minutes with Laravel Cashier (Stripe) this afternoon. Plan selection UI, billing management, web hooks - the lot. ❤️

Little bit of gamedev today - started work on the `DynamicSong` system. Each "Song" has 1+ loops defined for levels of tension, + transition loops between the tension levels. Tension increases as players progress the waves. Feed Me is placeholder only- I'll do all the music :)

PHP 8.5 is out! Elide's tests are all passing, but that MySQL deprecation (coming from the framework) is triggering some minor OCD feelings. Good to know there are no changes required for the package though!

PHP enums are great for consolidating state related behaviour/comparisons you might use many times throughout a project. Simplifies inclusion of new states into existing behaviour too.

I stopped waiting for HL3 years ago, though their HL games do seem to usually coincide with hardware/software advancements... If it ever made sense for Valve to ship a new main entry to the Half Life series, it'd be soon after announcing/releasing 3 new hardware devices of their own.

Working on a dynamic music system for this little game. There are different "layers" of music which play based on a current "tension" level. The idea is that each stage is a series of waves, and as you progress through the waves the tension increases. Should be good for juice.

Extremely rough #gamedev clip. Doesn't look like much, but it's nice to see systems coming together. All movement (player+enemy speed/accel/decel), weapon firing+spread+cool down, and enemy sequencing is driven by a "power allocation" system. Most things will be based on this.

Components are composed of "specs" (eg weapon/thrust/shield) which have a "current power level" and "max power level". Each player/enemy has a finite amount of power to allocate to different "specs". The specs use the power level and curves to determine values for behaviour and other systems.

I really like my MacBook and Apple's M chips, but holey moley this PC running Kubuntu is _fast_. All my dev tools and software, and games, seem so much faster and feel "just ready to go let's go let's go". Might become my daily driver for working/playing at home at this rate.