@Doomed_Daniel@mastodon.gamedev.place avatar

Doomed_Daniel

@Doomed_Daniel@mastodon.gamedev.place

Linux User, Programmer, Gamedev, Metalhead ♠️ AD(H?)D ♠️ he/him ♠️ formerly on Twitter and mastodon.technology with the same handle

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

foosel, to random
@foosel@chaos.social avatar

Have to recharge a power bank. Looked outside. Looked at the 20W solar panel thing I got for the last CCCamp. Decided to experiment 😂

At 2A this will take today and tomorrow at a minimum to fill up the 30Ah battery. Won't need it until next week (it's one of my two banks for powering my power meter sensor), so let's see how far I get.

A USB power meter. It shows a voltage of 4.7V and 2A.

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@foosel
So it delivers about 10W when fully in the sun, on a summer day - what does it need to reach the full 20W?!

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@fleaz @foosel
A 30Ah powerbank that can only pull 2A?

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@foosel @fleaz yeah, that makes sense, I think most USB2 chargers only support 2A@5V (unless they use proprietary extensions like QuickCharge)

No idea why it's 2A, according to https://en.wikipedia.org/wiki/USB_hardware?useskin=vector#Power
USB "Battery Charging" mode only supports 1.5A, and that was the most you could get before USB-C Power Delivery was introduced that (AFAIK) has a protocol to negotiate power draw between connected devices

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

The thing I find annoying about city builders is that the way to play them best is usually to build cities like in America; all clean lines, grids, big roads. But these kinds of cities are really boring (sorry!). I think it would be really interesting to have a city builder that builds up the way cities evolved slowly in the old world, without starting from a blank canvas. Things are messy in old cities for good reasons, and that's IMHO far more interesting 🤷‍♂️

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@Foxysen @sinbad
In 1602ad (Anno 1602) it happened like this (at least for my cities) - you start off small with a few Pioneer houses, fulfill their needs (food and consumables, but also things like market place, pub, doctor, church, school, later theater, university etc) so they rise to richer societies (up to Aristocrats).
And the thing is, at the beginning you usually can only afford to build on a small part of your first island, and the first small church etc only have a very limited reach.

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@Foxysen @sinbad
So you'll get something like a small town center organically (maybe a few if you grow before you can build bigger buildings with greater reach), with just a small grid, and later you add the university, cathedral etc with a much greater reach so you can grow your city.
And unless you knock down the whole town and rebuild it with a large grid, this means that your town will look at least kinda organically grown.

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@Foxysen @sinbad (of course the streets still all right angles, probably the alternatives would be a bit of a PITA; also, the game is from 1998 =))

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@NohatCoder @Foxysen @sinbad yes, you'll have a bit of a grid right from the beginning (and if it's just so the fire brigade can reach houses), but in my experience it's much smaller scale with clusters around churches and pubs and whatever your citizens demand, instead of the big grid you'd do if you created a big city late in the game when you already have all buildings

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@sinbad @NohatCoder @Foxysen
that restriction would be relatively easy to do: detect razing to the ground, tell player that the people you made homeless by destroying their houses told everyone else to stay away from your city => no more citizens => no more taxes => game over

steve, to random
@steve@discuss.systems avatar

I didn’t know there were international standard trolls, cool

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@steve isn't C++ an ISO standard?

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

Nach fast 40 Jahren kann ich nicht weiter schweigen: der Autor von "Backe, backe Kuchen" ist ein Stümper und gemeiner Lügner, und die Welt muss es wissen!

Sieben Sachen zum Kuchen backen, sagst du? Sieben? Wirklich?

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@rygorous Endlich sagt's mal einer!

distractal, to random
@distractal@mastodon.social avatar

Does anyone else find it weird that multiple venerable “town square” type social media web apps’ CEOs/owners seem to be speed running their app’s destruction the year before an election?

Just waiting for Discord at this point.

This really highlights how important the fediverse is.

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@distractal
I mean, Discord did this idiotic username change..

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

Heretical question: Does it (still) make sense to use Git LFS instead of plain Git (possibly with shallow clones to avoid dragging in the whole history for all the big files)?

In my tests it seemed like that worked pretty ok?
They weren't super exhaustive, but for example one of the repos was about 29GB with LFS and had >450 commits just in the main branch.

Committing from shallow clones works (AFAIK didn't in the past) and after conversion repos are about half the size than with LFS

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@ali1234
What do you mean with "advertise"? Is it not possible to somehow get the git history and then do shallow clone or fetch+checkout or sth with a specific commit?

Apart from that, if you're gonna have a big repo you'll end up hosting yourself anyway, because storage and traffic at the commercial git hosters is much more expensive than a VPS or even cheap dedicated server with lots of storage that you can run Gitea/Forgejo or similar on.

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@sinbad @MouseByTheSea
Good point about the locking!

I'll check out the blogpost

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@micha self-hosted gitlab or gitlab.com? because at gitlab.com storage and traffic is ridiculously expensive ($60/month for a pack of 10GB storage and 20GB traffic)

We used Git for code and SVN for Assets in the past, currently everything in one repo (with LFS for assets), on self-hosted Gitlab, currently moving to self-hosted Forgejo (Gitea-fork).

But while converting an old SVN repo I was wondering if LFS really is needed..

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@ali1234 doesn't it have pack index files to know what object a commit is in?

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@ali1234 Good to know, I didn't even know it was possible to not support that!

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@sinbad @MouseByTheSea
blobless clone sounds pretty good, maybe even better: git clone --filter=blob:limit=1m or similar, to only omit "big" files (would be even better if one could filter by file ending or by "it's binary data"), so you still have the full history on code, but not binary data.
OTOH, apparently git blame still works (and downloads blobs on demand) so --filter=blob:none might be sufficient

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@sinbad One problem is, similar with shallow clones, that at least the initial clone can take pretty long, because the server needs to create new objects - in my testcase, "remote: Compressing Objects" took about 15 minutes. I tried setting core.compression = 0 on the server but it didn't make a difference, so I think the real problem is not compressing them, but getting the contents out of the old objects (=> decompressing those?). Should try repacking on server with compression=0

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@sinbad I guess the main problem really is zlib/deflate - zstd would be much faster for both compressing and decompressing (at least if the compression level for compressing is is low enough)

And lz4 would be even faster of course (with worse compression, obviously), might still be a sane choice for those on-the-fly repacks when checking out though (still better than LFS being uncompressed?)

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@sinbad Hmm I repacked with core.compression 0 and created a new repo on my local server (Atom C2558 based); it's indeed bigger (as one would expect with deflate level 0) - 9.7GB instead of 7.2GB as bare repo on server - but blobless clone isn't much faster (around 20min each, now it was ~20sec less).

What's really weird: A shallow clone (--depth=2) only takes about 5:42 minutes, even though the .git/ dir in shallow and blobless checkouts is about 5.4GB in both cases?!

Doomed_Daniel, (edited )
@Doomed_Daniel@mastodon.gamedev.place avatar

@sinbad setting pack.windowMemory=100m makes the blobless clone a lot faster (7:50min instead of ~20min), --depth=2 also faster (3:30min); core.compression doesn't matter

(also pinging @dotstdy - I think you were interested in git with big files w/o LFS?)

BTW, full clone is pretty fast (w/ GBit connection to server), I think because no repacking is needed, it just sends the pack as is.
IIRC the checkout-part in that case took a bit longer, about as long as unzipping the repos HEAD files?

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@sinbad @dotstdy
for comparison, same repo as LFS on same server: git clone takes 55s and doesn't stress the servers CPU too much.
However, repo on server is 423MB + 28GB LFS files, instead of 7.2-9.7 GB when not using LFS.

My current state is: It's prolly ok-ish not to use LFS, but you'll need a beefy server with enough RAM for shallow or blobless clones, and need to tweak git config on server (uploadpack.allowfilter=true ; uploadpack.allowAnySHA1InWant=true ; pack.windowMemory=100m)

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@sinbad @dotstdy
life-hack on the server:
$ git ls-tree -r --object-only HEAD > /tmp/objectlist.txt
$ git pack-objects --progress --no-reuse-delta --no-reuse-object ./objects/pack/foo < /tmp/objectlist.txt

afterwards the blobless clone of current HEAD is relatively fast (2:35min instead of 7:50) because it can download the prepared pack; I assume/hope that after pushing more commits it'll still use that pack as base and send that + diffs or whatever (until next repack); could be done 1/week?

Doomed_Daniel, to animals
@Doomed_Daniel@mastodon.gamedev.place avatar

Find yourself someone who loves you as much as Fellwurst loves the sun

Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar
Doomed_Daniel,
@Doomed_Daniel@mastodon.gamedev.place avatar

@fmhilton no, a leopard in disguise ;)

(in reality, she's a https://en.wikipedia.org/wiki/Bengal_cat and her fur looks extra awesome in the sun)

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