As I add more constraints, the map starts to gradually look better / more organic. but the more constraints the more likely they accidentally hit a conflict case. Just spend a day and a half on conflict resolution but a previously failing case is now all good 🤘

Making progress with multiple paths causing those areas of the level to be open. Next: need to block off shortcuts; random offshoots are fine (desired, really), short circuiting paths is not

(that's the same random seed but with different paths)

Starting to constrain my level gen to "minimum walkable paths" as defined by splines. Obviously right now there are a lot of other walkable paths as well but by defining the minimum I can start to lay more higher level structure on things and dial back others

In case anyone's interested, I revisited and updated my 2D spline component for Unity this week, gave it a few more features such as working in the XZ plane for 3D projects (planar splines can still be useful). Grab it here, it's MIT licensed: github.com/sinbad/UnitySpline2

I'm gradually adding metadata so I can add more layers of constraints to have maps adhere to higher level rules: interesting loops / branches, region style biases, key locales, etc. Current system just represents the lowest level constraints (match visual edges, enclose at boundaries)

Still very much programmer art, but I'm getting a handle on good tile sizing / shapes that look more organic from my generator. Still only 5 tiles rn

I'm probably going to rewrite a bunch of it, because it's quite heavy on allocations right now due to the use of HashSets to union/intersect viable sets. Now that I know the algorithm works I plan on making everything pre-allocated in arrays of structs, and use bitfields instead of sets

I like that my tileset is just imported directly from Maya and the connections are generated at import time. It just figures out how it can be connected from edges (although I suspect I'll need more manual control later)

Having fun with my first procedural map generator (basic 5-tile set for now).

This algorithm works fine in my head. It must be that the computer is wrong.

‪The current system I’m writing models wave function collapse, reducing the superposition of all eigenstates using the AC-3 constraint resolution algorithm, prioritised by least entropy...‬

‪Haha ok I’m just picking stuff out of an array with some ifs it’s really kind of dumb 😂 ‬

I'm approaching the end of my Rider trial and I've been converted from being very old-man grumpy about it (mostly "WTF are these keyboard shortcuts, and why aren't they like Sublime/VSC?"), to being a fan. I'll be buying it. I'm glad the little voice in my head made me try again

Another benefit of Rider I've only just noticed; it tell Unity to recompile immediately on save, rather than when you next activate Unity. So if you get into the habit of hitting save early then spending a few seconds reviewing what you just wrote, build time kinda goes away 👍

Hands up, I judged Rider too harshly before. The editing features I needed were there, just slightly less obvious until you dig. T plugins to help migrate from Sublime/VSC don't work very well so just annoyed me. I needed to give it time to properly adjust and tune gradually.

I've adjusted to most Rider keymapa, but I couldn't stand their default debugging shortcuts so have reset them to what I'm used to ( basically VS style). Ctrl+F8 to toggle breakpoints, Shift+F9 to debug was just too clumsy.

Most Fn keys I sacrificed in the keymap were refactoring tools I never use anyway. I missed F12 to go to declaration; Ctrl+B wasn't terrible but ehh. I've adjusted to the main things, file/member navigation, autofixes/snippets, word selection, multi-cursor, back/forward etc

Another day where I’m trying to solve ostensibly simple AI behaviours: today it’s surrounding a player intelligently. I already have allocated “surround circle” slots and now just have to figure out the edge cases like oh no, your slot is around the back of the player but it’s become a mosh pit in front and simple avoidance isn’t finding a gap to circle around oh no

I've had to spend quite a long time tweaking colours, code style, the odd keymap to my liking but I'm starting to warm to it. After I discovered how it does multi-cursor and other things I consider essential in an editor these days I can live with the slightly slower response given the quality of the code hints and autocompletes it offers

I'm a little 😬 about how much memory Rider uses (about 8x as much as VSCode on the same project, and let's remember which is an Electron app - I know, Java 🙄)

However the Unity-specific things like this are nice: warning about perf-critical sections in advance, including indirectly called ones

Show more
Gamedev Mastodon

Game development! Discussions about game development and related fields, and/or by game developers and related professions.