▲ 29 r/batocera+2 crossposts

It's official, the Radxa Cubie A7S can play Doom!

After months of grinding, two steps forward and sometimes two steps back...Finally nailed GPU hardware acceleration on the Radxa Cubie A7S on a custom Batocera fork using GLES2. I forgot to update the wifi firmware to work on 6.6 kernel so that's happening right now. I haven't had an opportunity to test audio either, just running through a USB-C to DP connection.

This is nowhere from being done. But I needed to share this, it was a long time coming! If anyone would like to give it a look you can find the GitHub here: https://github.com/GameOctane/OctaneOS

u/Klutzleo — 1 day ago

I heard Mike Grier left a note before leaving last night...

I am still in shock with three first rounders, and the outcome. I feel this raw hope, this dangerous feeling like our time is coming. I haven't felt this way in a long time.

But could it be? Is it warranted? What's one more piece we could use right now. Player or coach wise?

u/Klutzleo — 9 days ago

I built a rules-light TTRPG around one core belief, that creativity should always be rewarded mechanically

Hi, I've been working on a tabletop RPG called Tools for the Bad Ass (TBA) for several years. I just posted v3.0 and wanted to share some of the design thinking with people who'd appreciate it.

The core problem I was solving:

Most systems punish players for thinking outside the box. Well "punish" is a strong word, I guess I mean you aren't given much for that thinking or great roleplaying. But yes, that depends on your GM/DM. Many times in my campaigns I've been in, I've wanted to do something creative and the GM says "that's not in the rules." I wanted a system where the rules actively reward boldness

That's where BAP — Bad Ass Points came from. The GM grants the players them out when they do something cinematic, clever, or genuinely awesome. They add to your roll. It's a simple mechanic but it fundamentally changes table behavior, players start looking for creative solutions instead of optimal ones.

Die vs Die:

No difficulty numbers. You roll against your opponent. A level 1 character can still beat a level 10 enemy if the dice fall right. This keeps every roll tense and meaningful regardless of level gap, and it means players are always rolling against something alive rather than a static number.

I really enjoyed this idea. I hated as a DM/GM to constantly look for numbers and wasn't sure if it was too high or not. But I also disliked the idea of random things can't just happen. The cinematic, emotional events can't happen with the underdogs' backs against the wall. The unlikely hero not giving up. I wanted, no craved these moments. So I built it in.

The three stat problem:

Most systems have too many stats. TBA has three: Intellect, Physical, Social. You assign 1, 2, 3. That's your character. The constraint forces players to define who their character IS rather than optimizing a build. A character with Social 3 plays completely differently than one with Physical 3 even if everything else is identical.

Ultimately it came down to this..I wanted the story to shine, not someone rolling 10 die and taking 5 minutes to add them and their bonuses up. I wanted gameplay to be quick, exciting (with the die vs die), and meaningful.

v3.0 big update - Bonds & Combos:

The biggest addition. When two characters earn a Bond through play, not declared at creation, earned through story, they can design a named Combo move together. The party names it. It belongs to them. Enemies can have them too, which gives the GM a powerful tool for making NPC relationships feel real and threatening.

I will admit, this was heavily borrowed from Chrono Trigger. I loved the story building of having these characters over time finding bonds and being able to prove them by having these epic attacks with each other. They aren't always damage based, they could be comboed with healing, buffs or even debuffs.

I also can't wait for players to run into the dramatic issues of potentially losing their bonds, if a player ends up dying, or the player is unable to continue playing for whatever reason. (I have 'Tethers' built in which are heavily emotional and can grant bonuses or hinder you in certain situations).

The initiative mechanic for firing a Combo was an interesting design challenge, the proposer holds their action and the Combo fires on the acceptor's next turn. Treating initiative as an infinite repeating list rather than a one-time sync point made it clean.

Happy to go deeper on any of these if people want to dig into the mechanics.

reddit.com
u/Klutzleo — 27 days ago

I just released v3.0 of my rules-light TTRPG - Tools for the Bad Ass

I've spent the last several years building a rules-light TTRPG called Tools for the Bad Ass (TBA) and just dropped v3.0 today.

The core idea: die-vs-die resolution, three stats, characters built in minutes. No difficulty numbers to memorize. You just roll against your opponent, and the higher number wins.

Oh, and the namesake - BAP. Bad Ass Points. Get rewarded for thinking outside the box, pulling off something cinematic, or just being genuinely awesome at the table. The SW hands them out for bold plays. They add to your roll. The system's way of saying creativity should always be rewarded.

v3.0 added Bonds & Combos - relationships earned through play that become named mechanical moves. Your party names them. They belong to you. Enemies can have them too.

There's also a kids' version called Tools for Being Awesome with identical mechanics and family-friendly language, so parents can run it at the table with their kids.

I also built a free browser-based companion app that handles combat, chat, dice, and achievements in real time. No install, works on mobile.

Free on Itch.io https://klutzleo.itch.io/tba-rpg if anyone wants to check it out. Happy to answer questions about the design.

reddit.com
u/Klutzleo — 27 days ago

I've been building a TTRPG system for several years. Claude, help me refine it, and then helped me build an asynchronous live app with chat, rolls, and achievements. v3.0 just released today.

Hey r/aigamedev, I've spent the last several years building a tabletop RPG called Tools for the Bad Ass (TBA) and just shipped v3.0. Claude was my primary collaborator throughout the entire process. Here's what that actually looked like in practice.

What I used AI for:

Rule Breaking - I'd bring a mechanic idea to Claude, we'd stress test it, find edge cases, and lock it down before it went into the doc. Many long discussions and going back and forth before updating the document. There were also a lot of design questions I had, and it allowed for an open conversation to be able to hatch some extremely creative ideas. A lot of v3.0's biggest systems, Bonds & Combos, Ascension levels, and the initiative hold mechanic for Combo attacks, were designed conversationally. I'd propose ideas, and Claude would poke holes, and we'd refine until it was tight.

Catching inconsistencies - When you're building a system across multiple documents, things drift. Claude tracked locked decisions across sessions and flagged when something in a new section contradicted something we'd already locked. That alone saved hours.

What still needed me:

Everything creative and directional. Claude doesn't decide what a game should feel like; I did. There were so many times I would have to hit the stop button and say hold up, explain my thought, and it wasn't what I wanted and we would have to refine the idea and get it into a "Claude Friendly" version. The Bonds mechanic exists because I wanted relationships to have mechanical weight. The kids' version exists because I wanted parents to be able to play with their kids. The achievement system exists because I wanted sessions to leave a permanent record. Those were my calls. Everything was my call. Claude helped me execute them.

People want to bash vibe coding, but I feel like what I'm using Claude for is THRIVE coding.

Also, the final judgment on every rule's decision. Claude would present options and tradeoffs but never pushed me toward one. The locked decisions are mine. This helped with ideas such as whether it is stupid to want to have an in-game modal for quick reference, or I want to have these different chat tabs available. Claude and I would discuss, and it would help shape this app into something I never knew possible.

What surprised me:

How good it was at holding context across a long design process. I'd reference something we decided three weeks ago, and it was there. For a project with this many moving parts, two rule sets, two age versions, multiple supporting docs, and a live digital platform, that continuity was genuinely valuable.

Also, how useful it was as a sounding board for narrative content. The Scorched Lands campaign lore, the dragon philosophy system, and the achievement names, Claude could riff on those in a way that felt collaborative rather than generative.

I could go on with different surprises with everything involved with this 6+ month project that this app was taking. But I think the biggest surprise is how much I personally have accomplished and learned. I've learned more Python and HTML than I knew possible. I verify all code before pushing...and I understand it.

The result:

A complete v3.0 system. Adult and kids versions, with full documentation. A Story Weaver Guide, character sheets, leveling tables through level 15, and a browser-based companion app at tba-rpg.com. Free on itch.io https://klutzleo.itch.io/tba-rpg.

Happy to go deeper on any part of the workflow if people are curious.

https://preview.redd.it/se76jo1uw46h1.png?width=922&format=png&auto=webp&s=d993582ddf4d119dacad094ad9900b869631840d

https://preview.redd.it/vddr6v4uw46h1.png?width=1012&format=png&auto=webp&s=c0d3312eb080ea68603b7ce836cdf160c14273e5

https://preview.redd.it/crixrh2uw46h1.png?width=1681&format=png&auto=webp&s=3aa2d04498caa5656b05a44b83eb6ddd85397bdd

https://preview.redd.it/l6o9et1uw46h1.png?width=2557&format=png&auto=webp&s=3dfb1bed248a55d8b2b17d5271193ec8ccddab7c

reddit.com
u/Klutzleo — 27 days ago
▲ 0 r/lfg

[Online][Other][Async] Playtesting my rules-light TTRPG - I'll run it, free to play

Hey r/lfg, I've been building a rules-light TTRPG called Tools for the Bad Ass (TBA), and I'm looking for players to run it through its paces on our companion app.

I'll be the Story Weaver (GM). This is async; there's no scheduled session time, play at your own pace through our browser-based platform.

Here's what you're getting into:

  • Die-vs-die resolution - no difficulty numbers, you roll against your opponent
  • Three stats - characters built in minutes
  • BAP - Bad Ass Points - get rewarded for creative, cinematic plays
  • Bonds & Combos - relationships earned through play become named mechanical moves your party designs together
  • 153 achievements — your sessions leave a permanent record. There's even a Hall of Shame.
  • Browser-based - No install, works on mobile

Free to play. I want real feedback from people who've never seen the system before. Drop a comment or DM if you're interested.

reddit.com
u/Klutzleo — 27 days ago
▲ 5 r/TTRPG

I just released v3.0 of my rules-light TTRPG - Tools for the Bad Ass

Hey r/TTRPG, I've spent the last several years building a rules-light TTRPG called Tools for the Bad Ass (TBA) and just dropped v3.0 today.

The core idea: die-vs-die resolution, three stats, characters built in minutes. No difficulty numbers to memorize. You just roll against your opponent, and the higher number wins.

Oh, and the namesake - BAP. Bad Ass Points. Get rewarded for thinking outside the box, pulling off something cinematic, or just being genuinely awesome at the table. The SW hands them out for bold plays. They add to your roll. The system's way of saying creativity should always be rewarded.

v3.0 added Bonds & Combos - relationships earned through play that become named mechanical moves. Your party names them. They belong to you. Enemies can have them too.

There's also a kids' version called Tools for Being Awesome with identical mechanics and family-friendly language, so parents can run it at the table with their kids.

I also built a free browser-based companion app that handles combat, chat, dice, and achievements in real time. No install, works on mobile.

Free on itch.io if anyone wants to check it out. Happy to answer questions about the design.

reddit.com
u/Klutzleo — 28 days ago

Building a custom Linux distro for an Allwinner A733 SBC on my Steam Deck at 6AM because why not. This is fine.

Working on building my own custom retro gaming device, and GitHub actions was a blocker due to size, so I remembered I Do have a Linux device!

Basically starting from scratch, but it's been interesting and fun to say the least!

u/Klutzleo — 2 months ago
▲ 33 r/BuildWithClaude+2 crossposts

Long time lurker, first time poster with an actual project to share. I'm building Octane — an open source retro gaming handheld platform from scratch. Here's the full breakdown.

The brain: Radxa Cubie A7S

Allwinner A733, 6GB LPDDR5, WiFi 6, USB-C DisplayPort Alt Mode, ~$50. It's the only SBC at this price point that hits everything simultaneously: DPI GPIO lines for a direct-connect screen, USB-C DP Alt Mode for dock output, and a PCIe FFC expansion port that's become the key to the whole WiFi architecture.

The OS: OctaneOS

A custom Batocera Linux fork with Allwinner A733 support built from the ground up. Zero upstream Batocera A733 support exists — everything below the emulation layer (kernel, device tree, display driver) is being written specifically for this hardware. Kernel is Linux 5.15 from Radxa's Allwinner AIOT BSP.

Three play modes baked into the OS:

- Handheld — DPI screen direct via LCD0 GPIO

- Wired docked — USB-C DisplayPort Alt Mode, one cable does everything

- Wireless streaming — MT7921K M.2 on the PCIe FFC port as a dedicated private AP radio, streams to a Raspberry Pi Zero 2W in the dock

The dual WiFi architecture:

This is the part I'm most proud of figuring out. The onboard FCU760K handles home network internet as wlan0. The MT7921K M.2 card on the PCIe FFC expansion port runs as wlan1 — a completely independent radio on an independent bus, acting as a private AP for the streaming session. Two fully isolated radios, no interference, no shared bandwidth. Intel AX210 was ruled out because LAR enforcement blocks 5GHz AP mode on Linux.

The dock:

Raspberry Pi Zero 2W as the dock chip. Outputs HDMI, Component (Y/Pb/Pr), and Composite simultaneously — all three live with no selector switch. Plug in your CRT, your PVM, and your modern TV at the same time and they all get a signal. No commercial handheld at any price does this. Composite is native on the Pi Zero 2W — single solder point. Component via a small DAC board.

The CI pipeline:

Full Buildroot compile on GitHub Actions. The build spans multiple sessions over weeks of active development on an A733 target that didn't exist before this project. A checkpoint-failure cache technique keeps build artifacts alive across runs so nothing gets thrown away between sessions. Hat tip to suckbluefrog from Batocera-Multilib for pre-packaged dl cache tarballs for ecwolf and same-cdi — those two packages would have been a permanent CI blocker otherwise.

Where it stands:

Build environment up, A733 target defined, CI running. Hardware not yet in hand — building the software stack before the board arrives. Very much in progress and building in public from day one.

Everything is open source — spec, OctaneOS source, wiring diagrams, STL files, all of it.

*Disclosure: OctaneOS is developed with Claude Code assistance per community rules. The architecture decisions, hardware research, and project direction are mine — Claude Code handles build system execution and file-level work.*

Links:

- GitHub: github.com/GameOctane/OctaneOS

- Full build system writeup: gameoctane.com/how-octaneos-is-built-the-architecture-behind-the-software

- Project intro: gameoctane.com/introducing-a-new-open-source-handheld-octane

Happy to go deep on the A733 bring-up, the dual-radio architecture, the PCIe FFC expansion, or anything else. This community has been a huge reference — glad to finally have something to contribute back...and learn more than I ever realized was possible.

u/Klutzleo — 2 months ago