Tobias Mock

@tjammer
0 Followers
56 Following
114 Posts
physicist turned software dev.
gamedev in my free time.
I'm also working on a language
codeberghttps://codeberg.org/tjammer
githubhttps://github.com/tjammer

The display hinge of my 12 year old cheap thinkpad finally gave in.
I decided to get a @frameworkcomputer as my new machine. Setup was a breeze and it looks and feels super nice.
I installed an atomic fedora version for the first time (kinonite 40, with plasma 6). The display + fractional scaling make everything look so crisp.

I will take a photo tomorrow when the sun is out.

I implemented soft shadows.
It works by raymarching the signed distance function of the player model, and produces really nice results.

This approach won't work for skinned meshes but if I stick to vehicles, I might be fine.

Also, I still don't really know what type of game this will be.

#indiedev #gamedev

How does one correctly do nightly / latest releases?

The way releases work on @Codeberg, I need a tag to create a release. To re-tag HEAD with "latest" after each commit feels wrong, because I'd have to delete the old tag.

If I just use the date for tagging and create a brand new release with that tag, I would spam releases, which is also not what I want. Deleting every date-release but the latest is almost what I want, but then I don't have a stable download link.

What's the common approach?

I wrote a mini blog post on how I did vectors in #ocaml using a simple module functor. I shy away from using functors in general but it felt kinda nice and it is an easy to understand domain to teach others how they can be used.

https://blog.joshrowe.dev/posts/functors-for-linear-alg-operations/

Functors for N-dimension Vectors Operations

And finally all the tests pass with with llvm 16. I'm glad this is done, but the next #llvm updates should be pretty automatic now

#programming

Update: The standard lib compiles again, "hello world" works again.

The stdlib test suite still fails for the hashtbl test though

Ugh, the transition from #llvm 14 to the untyped-ptr versions is painful

Movement now works in 3 dimenions. There are two movement types, either skimming above the ground or flying (jumping).

It's a bit hard to judge distances though, without shadows and textures

#gamedev #indiedev

I have recently added support for user-defined infix operators. They function like in #ocaml where the first letter dictates the precedence. This let's me re-export the common operators in the stdlib.

The parens aren't needed, technically. `let / = int//` would be valid as well, but it looks hideous

Movement prototype for a game project I want to make

#gamedev #indiedev