Correction, we apparently did get a tsunami warning I just didn't notice it lol
We also had a 5.8 earthquake 20km away from where I am just 2 days ago.. that cauldron is bubbling

Show thread

This looks so insane and it wasn't even today's eruption 🀯
Today's eruption probably took out that island you see there 😡
I'm surprised we didn't get a tsunami alert here in NZ

The Expanse is the best space show humanity created so far.
I believe in its base predictions, Mars will be colonized eventually. The belt miners will form their own culture along with the outer planets colonies.
The distance in time will force all parties to become independent. And eventually planetary folk will be at a disadvantage for being stuck in a deep gravity well.
Those born in zero gravity will not be able to come back down the well, space humans is our species next evolutional step β˜„οΈ

In Hover# today, thought it would be cool if I have a tool to draw boxes around sprites in my sprite sheets and assign custom properties to them then export all to json or something.. what would be the fastest dumbest way to do this?
I could write it in monogame too with imgui in the mixer.
But guis are overrated, so keyboard shortcuts only?
or just throw python at this too!
then an evil idea occured to me.. why not use Godot to build my monogame tools? πŸ˜ŽπŸ˜…

Show thread

Day after day, my mom is spending more time watching a reality TV channel called TLC. Her daily hours there rival my projects work + gaming..!
Hollywood got it wrong, you don't need constant drama: violence, car chases, explosions, expensive sets, visual effects, villains, crime, or good guys.. just need some normal people living a normal life compressed to only significant events. It'll keep people mesmerized!
The japanese slice-of-life genre is almost exactly that πŸ€”

Today I wanted to render a map created in tiled using MonoGame.Extended.Tiled but build fails due to a Nuget issue: "Couldn't find default importer for .tmx file"

Almost gave up when I found this:
which explains the issue in detail.

Here's how I fixed it in Fedora toolbox:

⏺ create a link to nuget packages in project folder: `ln -s ~/.nuget/packages packages`
⏺ in Content.mgcb, add `/reference:../packages/*` to point to the dlls as shown in screenshot.
🀨 🌴

Show thread

Hints from today:

* YafaRay in Fedora 35 is broken so won't work with Wings3D or at all, download it directly from its website and use that instead.
* latest Mesa update 21.3.* broke new Intel iris async fencing thing so expect massive flicker if you have a new intel iGPU. Official patches are incoming but in the meantime Blender 2.79 and below are unaffected.

🐜 🐞

Show thread

Today in Hover# I tried to automate isometric sprite rendering, ideally a script in Wings3D that repositions the camera to 5 required angles and render each using a povray or YafaRay preset. Wings3D has some sort of scripting, it provides an Erlang repl.. which I've never used and doesn't look trivial.
So I tried Blender, strange thing is... its UI is terribly flickery!? after a few hours of digging, turns out it was a fresh mesa bug..

Watching Dark Souls II hitless run on GDQ, I tried to think of a better designed game than the soulsborne games and couldn't.
These games are the pinnacle of gamedesign. I am no Zelda guy though so it's purely a personal view.
..but whenever I think about Sekiro I feel sad.. I know it must be just as good but I just couldn't get into its fighting system no matter how I tried. Maybe I'm just resisting getting good from scratch? Β―\_(ツ)_/Β―

The backlash on NFTs is well deserved, none of the blockchain heads seem to comprehend that games are played for experience and fun.
In-game greed is a valid gameplay mechanic (see: hoarding in skyrim), but greed rooted in reality is not.

I say that while remembering how I engaged in Steam cards trading a while back that got me more cheap games I'll never play. All the while watching 100s of thousands of dollars being traded in counter strike/team fortress/etc for stupid hats or golden ak47s πŸ˜…

In the past, whenever I'm in trouble I throw Python at it. I wish I could do the same with real world trouble as well..
So I wrote a that generates the components and systems fluff for me, example running this:
`./ create usystem UAnimSprites +CAnimSpr +CPos *CObj *CDir -CIsoSpr`
generates ./Systems/UAnimSprites.cs that looks like this:

Cool! 🀩

Here's how looks at this moment:

Show thread

I dub thee Hover# 😎
I won't continue to try porting my ECS to C#. A quick search and I was going through awesome-monogame list

MonoGame.Extended immediately caught my eyes, not only does it include a clean ECS implementation superior to mine, but it also has a bunch of stuff I will eventually want: tweening, tiled, particles, sprite animations, etc.. so in it goes!

However it became immediately obvious how verbose the ECS thing is in C#.. everything is a class πŸ€’

Show thread

Following up from HoverECS I wanted to port the ECS I developed there to C#/MonoGame.
I ran into issues immediately due to type strictness compared to lua's all-things-are-tables way. Forcing Components to become structs/classes throws the quick prototyping feel I got in HoverECS out the window.
Since I haven't used C# for a while I didn't trust that I can get something quick up and running while juggling Generics and typed components and systems.. πŸ€”

Over the last few years I've mostly been developing in C++/lua and Linux/terminal at work, while using Unity for a while then Godot at home for my games.
Working on pico8 reminded me of my origins, ActionScript3/Flash.. a code-based solution with batteries included (audio/input/etc) and no game engine.
I want more of that.. so I decided to try MonoGame. After I set it up with vscode in its own fedora toolbox, I ran the example and tried the debugger.. all work flawlessly. This makes me happy πŸ™‚

Ease is a greater threat to progress than hardship.
I heard that today and I think it's so true..

HoverECS final update: got a minimal gameloop going, passed 7000 pico8 tokens & almost all building blocks are re-usable. So new vehicles, enemies, buildings, etc should be construct-able using existing components in theory.
I consider this experiment done. The final challenge I had was scene management in pure ECS. Perhaps a balanced compromise is having a traditional scene manager where each scene runs its own ECS (map, battle, menu, etc).
Try the demo here:

Show thread

So now I have a proper collision detection system running fully in ECS, I refactored some elements and to my surprise it seems that whenever I break a component into smaller ones, the result is cleaner code!
At this point the code is taking up 5370 tokens, I have a pretty complete barebones ECS system with some interesting properties, and I think I reached the magical point of things glued together just magically working 😎
I'm happy with what I learned so far and may take this further 😏

Show thread

Picked my ECS experiment back up since I'm on break, struggled with implementing a collision system in ECS, my first attempt was an OOP knee-jerk reaction that didn't even work πŸ™Š
Second time I stayed within ECS boundaries but tried to hack it together and it didn't work. I'm finding a curious property in working on gameplay systems in ECS: you can't half-ass it. It'll only work correctly when you properly implement it. This is possibly a great property compared to the god objects approach πŸ€”

Show thread

Solved my nvidia eGPU/Razor X crashing on Lenovo Yoga 7i Carbon in Fedora Silverblue/Kinoite:

1. normal driver instructions for Silverblue
2. connect egpu and call `lspci | grep VGA` and write down the id for your gpu (mine is 2e:00.0)
3. setup egpu setup: and fill the BusID in /etc/X11/xorg.conf.egpu, mine maps to: "PCI:46:0:0" (0x2e=46)
3. before you call `egpu start`, modify `/etc/X11/xorg.conf.egpu` to
4. start it!

X11/Xorg were always a turn off for me, they feel wholly archaic and unintuitive. But for a system so old.. you'd expect it to be well documented, right? RIGHT? this is captured from the official docs πŸ˜‚

Show older
Gamedev Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!