@lisyarus@mastodon.gamedev.place
@lisyarus@mastodon.gamedev.place avatar

lisyarus

@lisyarus@mastodon.gamedev.place

He/him

I live in a totalitarian state, teach computer graphics, and make videogames

Check out my cozy traffic simulator: https://store.steampowered.com/app/2403100/Costa_Verde_Transport_Department/

This profile is from a federated server and may be incomplete. Browse more on the original instance.

efi, to random
@efi@chitter.xyz avatar

algos from memory go woosh

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@efi *only at n=1

log(0) is undefined (it approaches -inf)

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

Bringing the harvesting tool UI in line with the building tool, using these cute hex lines. I think this might be a nice enough general style for tools/selections/tasks/etc

video/mp4

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@jonikorpi Thanks! Yeah I'm trying to elevate the triangular grid, and it's a bit tricky. Growing large hex from center is by far the most intuitive thing I've found

eniko, to pixelart
@eniko@peoplemaking.games avatar

Finding myself wondering about that dithering technique for pixel art skyboxes using uninterrupted horizontal lines 🤔 like, what's the method for spacing the lines?

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@eniko @0xSim From first look it seems to be as simple as color A, 1 pixel of color B, 1 pixel of A, 2 pixels of B, 1 pixel of A, 3 pixels of B, 1 pixel of A, many pixels B

i.e. three segments of B with lengths 1,2,3 surrounded by 1-pixel A's

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

Stress-testing the villagers' AI. There are quite a few bugs, but overall it performs quite well!

The video isn't sped up, but the in-game simulation speed (i.e. # of updates per frame).

video/mp4

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@gertkeno Thanks!

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

Look ma, I hav da gaemplay!

Or at least something resembling it: villagers cut grass, wait for it to dry, and craft simple hay beddings to sleep on.

It's not much, but that's a solid base for more involved content that's gonna follow

video/mp4

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

Working on structure placement tool, testing on these humble hay beddings. It works with structures of any shape (i.e. occupying any set of grid cells) and shows what area the structure will occupy.

Next I need to implement actual crafting of these.

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

Spent a couple of evenings chasing some nasty object lifetime bugs in my ECS implementation, and finally I have a rudimentary task distribution system! Next I'll work on basic resources & crafting.

video/mp4

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

"Grass cutting tasks" get automatically cancelled when the grass dies out. I had to make some big upgrades to my ECS implementation for this to work properly

video/mp4

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@elitihak Well, I wanted to do it by specifying a child-parent relationship between the task and grass entities (child gets destroyed if the parent is destroyed), but I didn't want to hard-code this logic into the ECS itself. My ECS has support for constructors and destructors (functions called on entities matching a specific set of components when the entity is created/destroyed), and support for per-world singleton objects (intended to be used as e.g. search acceleration structures, etc).

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@elitihak
So what I did is add a component that stores the entity's parent entity handle, and create such a singleton that keeps track of each entity's children using constructors & destructors, and implements the logic of destroying the children.

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@elitihak
I already had most of the required features implemented on the ECS side, but it turned out they were a bit broken - destructors were erroneously called when attaching/detaching components to/from an entity, some functions were'nt reentrant (couldn't destroy an entity from a destructor of another entity), etc.

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

Your daily reminder that in almost all aspects of technology (and probably life as well) the answer to any question is not one of the fanatical "die on this hill" extremes, but a boring and unenlightening "it depends".

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

I've mostly settled on how the first iteration of villagers' AI should work, now prototyping a "harvest" tool that selects all entities eligible for harvesting (the red arrows are temporary ofc)

video/mp4

yassie_j, to random
@yassie_j@labyrinth.zone avatar

In the UK, Europe, Asia, and other places that follow international road sign standards, this sign warns drivers that there is a wormhole up ahead.

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@yassie_j Lisan al Gaib!

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

I accidentally left the simulation for a long time and it converged to a very cool dynamic equilibrium with two species only contacting at a single spot and neither of them winning

video/mp4

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

Making two "plant" species governed by cellular automata-like rules fight each other

video/mp4

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

I'm at this stupid stage of the project when I can't randomly prototype anymore kuz I have specific plans, but I don't have a solid foundation to work with yet, so I have to invent it on the way, and it's hard.

Still, I'm making progress. Here's some grass spreading mechanic :)

video/mp4

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@efi Ugh, just need to figure out how to map all the mechanics into my specific ECS implementation

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@efi 🌚🌚🌚

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

Felt like having some energy for cooking again. Here's some pasta with mushrooms in a cream+parmigiano sauce, and chicken fried in tomato sauce with carrots and buckwheat.

image/jpeg

efi, to random
@efi@chitter.xyz avatar

how do I remove the changes to a file a single commit made in the middle of the history?

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@efi Hmmm wdym "which side"?

bug, to gamedev
@bug@fosstodon.org avatar

✨ New blog post! Fixing the iterative damping interpolation in video games

https://blog.pkh.me/p/41-fixing-the-iterative-damping-interpolation-in-video-games.html

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@bug Hi! I wrote a very similar thing about a year ago, thought you might be interested: https://lisyarus.github.io/blog/posts/exponential-smoothing.html

lisyarus,
@lisyarus@mastodon.gamedev.place avatar

@bug Yep, I was planning to mention expm1 (which is also more precise) but decided the post is already too long :)

The thing wiki mentions is actually the same as in my article: if you divide a thing by e = 2.71828, you get 0.3678 of the thing, or 36.78%, meaning you got closer to zero by 100 - 36.78 = 63.21%

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • cubers
  • DreamBathrooms
  • thenastyranch
  • ngwrru68w68
  • Durango
  • magazineikmin
  • Youngstown
  • InstantRegret
  • rosin
  • slotface
  • tester
  • kavyap
  • ethstaker
  • megavids
  • osvaldo12
  • khanakhh
  • cisconetworking
  • tacticalgear
  • everett
  • mdbf
  • Leos
  • anitta
  • GTA5RPClips
  • normalnudes
  • modclub
  • provamag3
  • lostlight
  • All magazines