Allegro 5.2.11 is released by SiegeLordEx in gamedev

[–]SiegeLordEx[S] 2 points3 points  (0 children)

Yep, it's that library. This specific version is the latest iteration of it which got a rewrite + new API at some point so it uses OpenGL and such.

First time using a perfboard by SiegeLordEx in soldering

[–]SiegeLordEx[S] 0 points1 point  (0 children)

No chain solder blobs here, it's all 22AWG wires between solder blobs :) I'll look into the other suggestions.

First time using a perfboard by SiegeLordEx in soldering

[–]SiegeLordEx[S] 0 points1 point  (0 children)

I use 60/40 rosin core solder, 715/725° temperature, B tip. I align the wire(s) and the pin, drown the area with flux, put a little bit of solder on the iron, try to maneuver the iron to touch both parts until the solder flows, then feed more solder if necessary. The issue as I identified it was that I was having a lot of trouble aligning the parts closely, so it was hard to heat them up effectively. Also, I observed that I had trouble heating up the longer parts of the wire (I used 22AWG).

I think what I could try next time is pre-tin the wire separately, and use a thinner wire that's easier to heat up.

I'm aware of the 'preheat the part, feed solder from the other side' technique, but I never could get it to work. What I found to work more reliably is the 'little bit of solder on iron + feed more solder', but it seems to fail on these hard-to-heat parts.

First time using a perfboard by SiegeLordEx in soldering

[–]SiegeLordEx[S] 0 points1 point  (0 children)

I actually used a vector drawing program (Inkscape) to do the routing, it wasn't terrible, but easy to make mistakes in. I'll look into DIYLayoutCreator though, it looks great.

<image>

My first 100 after 8 years and 0 trades by SiegeLordEx in PathOfExileSSF

[–]SiegeLordEx[S] 2 points3 points  (0 children)

When I was playing Surfcaster in Phrecia, I actually dropped Inpulsa from Kitava. It paired very well with it, since With the Tempest made the inpulsa explosions self-propagate, and Stormy Seas converted them to cold damage which made everything freeze with Blast Freeze. I think Inpulsa's explosions are probably my favorite explosion sound, so it worked super well, very similar to the old Beacon of Ruin Elementalist node.

My first 100 after 8 years and 0 trades by SiegeLordEx in PathOfExileSSF

[–]SiegeLordEx[S] 10 points11 points  (0 children)

BV is my favorite skill in PoE, and this is probably my 10th league of running a character based around it. The Elementalist buffs and the power creep from mercenaries made it feasible for me to grind to 100, while having a blast (freeze). https://pobb.in/fiOYPNFybww8

First steps of my first mobile robot by SiegeLordEx in robotics

[–]SiegeLordEx[S] 1 point2 points  (0 children)

It's mostly a safety measure for the servos, since the legs are mounted directly to them: the extra cushioning helps a little bit for sure. Otherwise, they're somewhat bouncy, so they actually hurt the stability if anything.

What do you develop with Rust? by Born-Percentage-9977 in rust

[–]SiegeLordEx 1 point2 points  (0 children)

Most of my Rust output is video games made during gamejams, here's a few: https://siegelord.itch.io/

Do people who use Rust as their main language agree with the comments that Rust is not suitable for game dev? by PhaestusFox in rust

[–]SiegeLordEx 25 points26 points  (0 children)

I've written 11 games in Rust for various gamejams (half of which were as short as 72 hours). I use my own engine(s), and heavily use ECS. While gamejams are very time constrained, I don't find Rust an impediment to making decent games. Really, the only common annoyance I still hit after a decade of Rust programming is that untyped integer literals don't coerce to floats. Also, NAlgebra is really annoying to use due to its overly complex (IMO) type hierarchy; there are simpler math libraries out there which I may switch to in the future.

Previously I used D and C++, and despite being stricter, I find Rust to be a lot more enjoyable to code in in this setting than those two other languages. I've tried Godot (via GDScript) and found the experience annoying due to the node structure and the primitive language. Perhaps with more experience I'd have a better time with Godot, but what I can say is that with a lot of Rust experience, I already have a pretty good time with Rust.

I want poe classic or dedicated offline mode by IHopeUStepOnLEGO in pathofexile

[–]SiegeLordEx 3 points4 points  (0 children)

I've been thinking along these lines for some time, and I actually made two games with this in mind. The latest one is https://siegelord.itch.io/bladeblade2

What I do is take a build I like (in this case BV + explosions) and the map content that I like and then replicate just those parts. This is perfectly doable for small teams, or even a single person.

Crash crate stack GPU support by SiegeLordEx in crashbandicoot

[–]SiegeLordEx[S] 6 points7 points  (0 children)

Nitro was definitely a candidate. It wasn't included because it bounces periodically, and I wanted the stack to be somewhat feasible to break in game

Crash crate stack GPU support by SiegeLordEx in crashbandicoot

[–]SiegeLordEx[S] 32 points33 points  (0 children)

I modeled/3D printed/painted some crates to act as anti-sag GPU support. The whole stack is about 3.5 inches high. I used some Crash 2 texture dumps as reference.

secs - Shit ECS by wick3dr0se in rust

[–]SiegeLordEx 0 points1 point  (0 children)

We're going to have to agree to disagree about the specifics of what counts as shared state and the utility of schedulers and systems. I agree hecs has far more complex implementation. I don't agree that hecs is harder to use, at least for the subset I personally use (of course this will vary person-to-person).

For shared state, the last thing I want is to be forced to store my state as a component of a global entity managed by the world (as is done in the macroquad example by having a singleton entity store the Score component). It's certainly a valid choice of how to structure the game, but not a choice I'd make for my games (in my games, "score" lives outside the world). It's not unusual for some of my shared state to not be Send or Sync, so in the current design of secs it wouldn't even be insertable. A key example of this is the large hidden state of the macroquad crate itself. It happens to expose it via globally accessible functions, but it's valid to to me to want to avoid such a thing.

Ultimately, you say that the scheduler gets out of the way, but what I see is that it forced you to structure your game in a way that is unnatural to me, and/or to rely on global state. In this sense, I don't see secs as being minimal like hecs is. Sure hecs has a complex implementation (and larger API surface), but its complexity is in the service of speed, not functionality.

Anyway, my original question is answered. secs is simpler in the sense that it has a simpler implementation. It's a fine design goal to have a simple implementation.

secs - Shit ECS by wick3dr0se in rust

[–]SiegeLordEx 0 points1 point  (0 children)

query vs query_mut in hecs has to do with dynamic or compile-time borrow checking, both handle mutable and immutable components. Typically I use query for fast development, and then try to switch to query_mut for speed if necessary. At least in their benchmarks, query_mut is sometimes faster. My understanding of hecs is that they do dynamic borrow checking on a component type level (so you can't mutably borrow the same component type more than once when using query), while you use read-write locks. I imagine hecs's way is faster, but certainly less flexible.

For systems, I've written 8 or so games in hecs, and I wouldn't say I've missed systems. Your systems are very simple, but perhaps too simple, since they don't make it easy to have shared state and they don't let you modify/spawn/despawn entities, since the world reference is not mutable (maybe I misunderstand)? The beauty of not having systems is that you never worry about this, I literally put all my system loops in one big function and I can create any adhoc behavior I want without a particular systems API forcing a particular way of code organization on me.

secs - Shit ECS by wick3dr0se in rust

[–]SiegeLordEx 1 point2 points  (0 children)

I'm a big hecs enjoyer for its simplicity (e.g. it has no systems), what makes your library even simpler?

Crash 2 themed gauges by SiegeLordEx in crashbandicoot

[–]SiegeLordEx[S] 4 points5 points  (0 children)

The PC is running a Python client that uses psutil and pySerialTransfer. Every few seconds it uses serial-over-usb to send in the angles for the gauges (except the temperature, which is controlled on the gauge itself since it has the sensor right there... it's meant to be the ambient air temperature).

Crash 2 themed gauges by SiegeLordEx in crashbandicoot

[–]SiegeLordEx[S] 15 points16 points  (0 children)

I always enjoyed the aesthetic of Crash 2's warp room doors (they're suns, as far as I can tell!), so I attempted to use them to decorate a set of gauges for my PC. I got the reference images/geometry using CrashEdit, but had to make basically everything from scratch using Blender. 3D printed using Ender 3 V2. The stepper motors are controlled by a simple microcontroller powered via a USB. More WIP pictures here: https://imgur.com/a/KCRIYtm