AndroidArts 🏳️‍🌈

A work in progress.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-19

@OrcRys No, it's the only one. I think an actual update would be huge for me at this point, so it's probably the reboot script doing cleanup and pretending it's an update. I may have turned the updates off too, but maybe top priority updates will get thru that.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-19

Huh, so I've had my windows 11 wifi turned off for like 6 months (I barely use w11 and don't want update poo and disturbances every time I do boot it), and just now when I rebooted it, it suddenly applied an update. How did it get it??? Maybe it was the reboot script making stuff up? (it was too brief) Or wifi off setting doesn't count during reboot?

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-19

@negavolt Mmm, perhaps "Controller" has the same roots as Comptroller, or is the father. Top search results suggests controller might be older?

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-18

I thought comptroller was an awkward yuppie era mutant word etymologically related to "company-controller" or somesuch, but no, it's actually old, meaning (ac)count scroll roller.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-17

My cat is kind of fat and doesn't like it.

Tunnel says "large" though.

I think I could've made three cat doors in the same time. At least then I would've gotten a sense of accomplishment. Probably just a wooden frame the thickness of the door + a dangly acrylic sheet with some magnets on. Then some outer frames to hide the gap. Baroque picture frames might look kinda fun actually.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-17

But if you cut the screws then they'll have a flat front and it becomes even more impossible to hit the little holes you can't see when blindly aiming the 4 screws. I used o-ring spacers instead, and a sink bit. The instructions had sloppy mystery illustrations (with no comments) and came in many languages but not Swedish. These multilingual instructions were just a few lines about cutting the screws.

A screw being 0.5mm off made the plastic deform and now the lock dial is just barely working.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-17

It was a ferplast swing 3. It came without a tunnel so back to the store and buy a tunnel. Had to cut the plastic tunnel. Naturally the hatch was incompatible with the old hatch hole and screw holes. Had to drill 4 new holes, but rather close to the edge of the tunnel hole. Ever drilled close to an edge? Then these 4 holes had to be perfectly parallel. The hatch is 3 parts that keep falling apart, and also block vision of the screws. Screws the wrong length. They suggest cutting the steel screws

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-17

Just installed a new cat hatch (not my purchase). It took five full work days. It came on at a three degree angle, with the plastic creaking and deforming. Due to its design, the tunnel will likely leak rain and snow water (I had to seal it).

Anyways, got lots of ideas of how to make a better design during the process. It was almost like they picked the worst solutions possible though so it wasn't very difficult. I think it might have been a deliberately malicious design.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-11

The Yankee SPY who was a rebel HERO, and also getting half a dozen proudly SIGNED PANTIES.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-11

Hold on- let me double-check that result on my mobile calculator.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-02

I didn't know some military drones use trailing fiber-optics rather than RC so I was surprised seeing a pic of thin leftover strands stretching across an Ukrainian field.

Hacking these wired drones should be practically impossible, and fiber optics don't care much about EM afaik. I suspect new drones are likely EM-hardened physically and just need the fiber-optic tail to work.

I looked up the range and it's actually 5-20 km.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-02

@PypeBros I'm not quite sure... maybe score collects in a wealth pool to give a sense of permanence... and can then be used to unlock aesthetics (maybe side art).

Or, there's an ingame shop with abilities, like a bomb, laser, temp slowdown for panic situations. I don't want to be too orthodox and just do another tetris.... though I probably shouldn't feature creep.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-02

Thoughts on Tetris scoring:
Aside from the normal line clearing scoring (with a consecutive bonus?), points can usually be awarded by soft (accelerate) and hard (insta) dropping the blocks. Here I think I might just count time soft dropped and not whether the block touches the ground. For hard dropping I could look at height only.

T-spins could be evaluated by looking for a side overhang after placing a T piece in the T orientation.

I want to add a shop so the score can be used >_<

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-01

Gravity in place, random pieces, rotation. Added individual key-repeat timers for "feel" reasons. Holding Down moves down piece pretty fast. I think Up is usually linked to instant drop, but that needs a bit of special time warp code.

This is the default AMOS palette. I haven't thought much about graphics, but I might do 32 colours, with 16 upper shared for blocks and falling block sprites, and lower 16 + upper 16 for some sort of Puzznic pinup or PuyoPuyo character.

Unsure about RNG/urn draw.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-01

Another way to do a switch of sorts is to use On X Goto LABEL1, LABEL2, ETC
It's actually faster than jumping to numbers, probably due to how AMOS keeps track of label lists.

Anyways, I've sloppily implemented piece strafing, collision test against walls and cemented pieces, and cementation. Have to do auto gravity ticks and the (already supported) rotation and piece change.

Gotta look up NES scoring.

Blocks will later be 12px (fast) image blits. Or HW sprites! Level themed palette changes?

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-01

I wrote some pretty strange controls code. It's not uncommon to poll using inkey$, but here I look at keyboard scan codes instead (physical switch ID basically). But holding down rotate shouldn't turbo rotate, so I need a timer. Don't want to write that for like 8 keys, and put 8 configurable keys in an array, each with a timer and delayed auto-press. But with a for-loop one needs to direct inputs to the right thing... easy-peasy with GOSUB in basic--just need to goto the button press! Hah!

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-01

Playfield array--a standard 10x20. Because some pieces might want to test for collisions outside of the array when rotating or out of view, I opted for border sentinels rather than bounds check clutter code. This will waste dozens and dozens of bytes (signed ints, actually). Using something like a compact bitfield for the playfield is overly stingy and outside of the easy-tetris framework.

The Amiga has the ability to do very fast screen-copy, useful for the row-lowerings.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-06-01

Haha, oh well--I knew the long piece and square were special cases but here they were given no special treatment and look what happened.

Best to just ignore the unwanted frames.

Would be interesting to have a 4+ long "snake piece". Steer it into shape and let it sink.

The original AMOS IDE doesn't allow formatting aside from auto-indents and as usual all variables are all-caps and brief. When submitting for magazine listings, usually the code was compacted like this with lots of colons.

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-05-31

Holy moly

(Ad from MacWorld, 1998)

AndroidArts 🏳️‍🌈androidarts@mastodon.gamedev.place
2025-05-31

@stuartyeates I was thinking of writing something in AMOS on the Amiga, using the fixed-width Topaz font or simple block blitting. There's hardly a platform out there which would struggle with Tetris. IIRC it began as a "terminal" type program on a Soviet '80s computer.

The playfield would have to be stored as a simple array, probably with border sentinels. Seen some versions which actually don't though and look up pixel values instead...

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst