Advertisement Β· 728 Γ— 90

Posts by Kingsley Hopking

That makes sense.

I think I’ve become quite accustomed to trunk development in which this is not a problem for the N products being worked on in the same branch.

But I can appreciate the product lifecycle of a game is quite different compared to most software which needs to fix old releases often

1 day ago 1 0 0 0

I should state that my entire scene representation + attached component/scripts are stored within a single scene db pool.

1 day ago 1 0 0 0

Ive landed on 3 trivial allocations per asset type. (Slot pool)

Array, Array gen index, bit array for if a slot is in use.

Each of these is mem mappable from disk.

I don’t have a ideal way to do back compat yet, potentially each DB entry will need to store a version number & old struct layout

1 day ago 1 0 1 0

I’m also not trying to be gate keeper here.

I think it’s amazing that folk can be more autonomous & work around blocking issues, it may land on something where these patches stay as local changes until the proper fix gets submitted.

Which depending time zone can be a day of work saved/lost.

1 day ago 1 0 1 0

It’s probably where I live in the code that makes me worry.

Often crashes have a trivial fix, but they aren’t usually the one we apply.

Most crashes are downstream of some bad behaviour and tracing that back and solving the core problem is the job.

A patch hides the loud failure and core issue

1 day ago 2 0 0 0

I’m all for the added autonomy for folk being able to unblock themselves quickly as programmers are often a limited resource.

But as more people are able to hot patch blocking issues that were previously insurmountable something around API boundaries needs to change to avoid exponential code bloat.

1 day ago 2 0 1 0

Strings in this case are just spans that you do utf8 things on.

For c strings (which I try my best to avoid but most APIs are built on them) you use a SpanSentinel which is just a span wrapper with the size of the sentinel value stored + the value itself (max 4 bytes)

1 day ago 1 0 0 0

I’m excited to write them!

Still figuring out how to lay out these posts, pretty sure I have to start with common library design.

My common lib uses spans as a fundamental data type, to avoid .h type includes, no strings, all data structures are built up of flat + stable indices to be serialisable

1 day ago 3 0 2 0

It’s probably time to start a set of blogpost on the joys of programming, which will discuss some of the more novel things I’ve been doing in my home engine / c99.

Just because the global tech space makes me feel like I’m losing my mind.

1 day ago 11 1 2 0

AI evangelists would say these sr folk have tools to make them work faster.

I think most of these people have never worked on real software.

Solving the problem in a maintainable way is the hard part not writing the syntax into a machine.

1 day ago 1 0 0 0
Advertisement

It’s quite interesting that folk in entirely different domains can unblock themselves while β€œmods are asleep”

But I have this feeling it’s actually just shovelling shit uphill on folk who are already swamped.

1 day ago 1 1 1 0

I’m seeing an upward trend in more code that is vibed by folk in totally different domains to fix blockers/add features.

Often in the past you would go to a team and request a feature and it would be discussed and part of that is evaluating the maintenance burden.

Which has now been sidestepped.

1 day ago 1 0 2 0

I’m not usually one to get disheartened at work around AI, due to the type of work I do.

But giving feedback on a review to someone and that person copy pasting my feedback directly into a prompt and me getting the AI message back is such a slap in the face, we are meant to be communicating ideas!

1 day ago 8 0 1 0
Video

you guys went crazy for low poly island, thanks for all the kind words 😎

detail:

3 days ago 4072 494 36 4

the quality of each star trek show is directly proportional to how often you see the characters engaging in hobbies

3 days ago 4409 874 51 27

Agreed,

These types of generators hook up all the stuff I dislike doing e.g. tagging, RSS, archive etc.

The goal is for my barrier to publish a new blog post to be so much lower,

Then I have little excuse to put off the write ups that have been lingering in my notebook for the last few years.

5 days ago 2 0 0 0

All I’m gonna say is it’s probably not a bad time for folk to setup a blog again, especially now we are seeing bsky slowly implode commit by commit.

5 days ago 0 0 0 0

Currently working on porting my website to hugo for static website generation, gotta say, this is so much better than writing HTML like I was before. . .

Once this is rolled out, blogposts to (slowly) follow.
some technical, some indie game book club stuff,
exciting!

and now ft. RSS feeds.

5 days ago 5 0 2 0
LLM Policy? Β· Issue #15350 Β· libsdl-org/SDL I've noticed the use of Copilot within a few reviews (13277 and 12730) which concerns me given the vast amount of issues associated with this technology (ethical, environmental, copyright, health, ...

The SDL organization has an official position on LLMs and generative AI now: don't use it.

github.com/libsdl-org/S...

6 days ago 81 22 0 0

Ive been working towards making my asset db simple to serialise, so all my containers use spans for data now.

All I need to do at this point is write span serialisation w/ a header and then the my assets become mem mappable from disk.

db entries are slot handles so that’s trivial to serialise too!

1 week ago 0 0 0 0
Advertisement
Neil banging out the tunes April 13, 2006

Neil banging out the tunes April 13, 2006

Happy 20 years of Neil banging out the tunes πŸ€πŸŽΆπŸŽ‰

1 week ago 15636 7972 39 106
Introduction to Spherical Harmonics for Graphics Programmers

INTRODUCTION TO SPHERICAL HARMONICS FOR GRAPHICS PROGRAMMERS

finally done.

gpfault.net/posts/sph.html

1 week ago 269 82 8 2

I somewhat recently wrote a new debug allocation tracker, this tracker also stores off as much of the call stack that can fit int a 128 byte string buffer when an allocation is made.

And finally it triggered and showed me the exact system that didn’t free memory.

Brilliant!

1 week ago 3 0 0 0

Hi. I'm still looking for work! I'm a games generalist programmer that has done tons of different things over the past 15 years:
- game design & engine development
- audio programming for music games & board games
- graphics programming & tools engineering
- ui work

someone must have a lead for me?

1 week ago 23 31 3 2

Oh my this is beautiful.

1 week ago 1 0 0 0
Post image Post image Post image Post image

ohhh we've got some stone-cold stunners, folks
images.nasa.gov/details/art0...
images.nasa.gov/details/art0...
images.nasa.gov/details/art0...
images.nasa.gov/details/art0...

2 weeks ago 5472 2266 47 65
Video

more low poly stuff, this time a mockup for an imaginary game in gba resolution (240x160px)

the 3D scene is made with picocad2, 2D overlay is made with aseprite

#picocad2 #aseprite #lowpoly #gamedev #pixelart

2 weeks ago 2005 301 36 4
Advertisement

I’ve seen quite a few snippets from this post without the surrounding context.

I highly recommend you take the time to read the entire blog post. (Especially if you are a manager)

It presents many of the issues I discussed in my last university lecture on getting into games engineering.

2 weeks ago 1 0 0 0
Post image

出口/EXIT
Prison

2 weeks ago 42 11 1 0

Rat in the tree, what will he do next.

2 weeks ago 0 0 0 0