Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

DokkodoLabs

64
Posts
1
Topics
78
Followers
1
Following
A member registered 51 days ago · View creator page →

Creator of

Recent community posts

Thanks for the detailed report! Weathered Wayfarer actually works: its ability can only be activated while an opponent controls MORE lands than you (any opponent counts). When that's not true, the ability isn't available, and since tapping the card gave no feedback, the game simply moved on to combat, which is why it looked like it could only attack. That part was a real problem, and it's fixed for the next update: tapping a permanent whose ability can't be used now tells you why (the card's own condition, that it just came in, or that it's already tapped).

that error means the file you downloaded is the Linux version (the .tar.gz with a bin/NeoForge inside), and macOS can’t run Linux programs. For your M5 Pro, grab the macOS Apple Silicon .dmg instead, open it and drag NeoForge.app to Applications. Since it isn’t signed by Apple, the first time macOS will block it: go to System Settings → Privacy & Security and click “Open Anyway”. You can delete the /Applications/NeoForge folder you have now.

Thanks for the detailed report, you were right to suspect LED! It’s a quirk in Forge’s engine: when it checks whether you have anything to do, it counts your mana the way the AI would, and the AI never counts Lion’s Eye Diamond (because of its “sacrifice it and discard your hand” cost). So it thinks you have no mana and passes the phase. Underworld Breach isn’t the problem: escape works fine when the mana comes from lands. I’m fixing it on my side so the auto-pass counts LED’s mana and stops when you can actually do something. Until then, you can turn off the “pass when there’s nothing to do” setting while you’re going for that line.

The online component is entirely inherited from Forge; the closest thing to public matches is what we have on Discord for finding people to play with—if Forge ever adds servers, it would be perfect.

Entertaining yet terrifying, highly recommended!!

Thanks, that helps a lot! So it’s every card on the battlefield, even basic lands, starting after some “exile face down, you may play it” effect. I tried that exact situation (Gonti, and an opponent stealing my cards) and couldn’t trigger it yet, so I need to see what happens in your game:

Go to Settings → Detailed game log and turn it on.

Play until it happens again, and click a land a couple of times.

Click “Open the folder” in that same setting and send me detailed-game.log (and neo.log from the same folder if it’s there).

Those files record every click and what the game did with it, so I’ll see exactly where it gets stuck. Thanks for your patience!

Thanks for the detailed report! Two quick things that would help me a lot:

When it happens, does a basic land (like a Swamp) also refuse to tap, or only cards with more than one ability (dual lands, Treasures, equipment)?

In the log you saved, could you search for “nested loop” and paste just those lines?

And the exiled cards without images is fixed for the next version: cards you can play from exile now show their art.

Thank you so much!! Really appreciate, you can join the discord if got some suggestions or want to add something like new relics!

Thanks for the detailed report, and you’re right about 603.5! You can decline, just later than the targeting step. Choosing a target is required when the trigger goes on the stack (that’s why Cancel was grayed out). Then, when it resolves, the game asks “Use triggered ability of Foundation Breaker?”, and answering No keeps your Birthing Pod. I tested it and the question does appear.

If you didn’t get that question, you probably told the game to always answer yes for this trigger at some point (the Y key, or “Always answer yes” in the stack’s right-click menu). That’s remembered between games. To undo it, right-click the stack and choose “Forget what I have remembered”.

Thanks for the detailed log, it made this easy to track down! The bug isn’t in Neo Forge itself. It’s in the script for Garruk, Veiled Butcher in Forge, the engine Neo Forge runs on. His static ability “If a creature an opponent controls would die, exile it instead” is missing a check that the creature is actually on the battlefield. So when his -3 makes your opponent discard creature cards, Garruk “replaces” the discard with an exile that does nothing, and the cards just stay in their hand. Discarding non-creature cards works fine.

Neo Forge is only the interface on top of Forge: the rules and the 30,000+ card scripts are theirs, and I don’t modify their code. That way every Forge update, with its new cards and fixes, reaches Neo Forge without breaking anything. So this one has to be fixed by the Forge team. Once they do, the fix will arrive automatically in the next Neo Forge update.

Until then, keep in mind that while Garruk is on the battlefield, his -3 won’t make an opponent discard creature cards.

Thanks for the report! I tested both cards and they work correctly here: Restless Reef’s attack trigger mills 4 cards from the target player, and Garruk’s -3 makes each opponent discard two (and you draw for each one who didn’t discard two nonland cards). So it’s probably something specific to your game. Could you tell me:

How many players, and were there teams?

Right after it happens, open the “Log” (bottom left), copy it and paste it here. It shows exactly what the game did.

One thing to keep in mind: Restless Reef mills only the one player you target, and Garruk’s -3 hits opponents only, not teammates.

fixed for todays update 

Clara Oswald: fixed (PC and Android)

  • Cause: a Forge engine bug. When the commander changes zone, the engine makes a fresh copy of the card that keeps “commander” but not the colour chosen before the game. Casting her made her colourless, so All Is Dust skipped her. The Prismatic Piper has the same problem.
  • Fix: without touching Forge, a wrapper in our module puts the colour back on the copy. It runs at the start of every game, in every mode.

Thanks for the detailed report! I tried to reproduce it on PC (Hearse + one card in a graveyard): picking the card in the window that opens and pressing OK exiled it fine. Could you tell me: are you on PC or Android, and which version? Exactly how did you pick the card: in the window that opened by itself, or did you open the graveyard yourself by clicking its pile? And did you click that card more than once? (Clicking a target again un-selects it, which would give exactly that “nothing picked” warning.) Were there cards in more than one graveyard at the time?

You found a real bug! Depending on how a decklist is written (Moxfield, Arena, commander on the first line...), Forge’s list reader could either move a second card into the command zone or count the commander twice, and that’s the “no more than 99 cards” you saw. It’s fixed for the next update: imported precons come out as 99 + commander. Deck lists will also show 100 cards for a Commander deck, and on Android the deck builder says “99 + commander” like on PC. And the AI deck you pick now shows up under the Opponents button. Thanks again!

You're right; the commander doesn't count because it isn't inside the deck while playing—so it's always 99 cards in the deck plus the commander—but it is true that it's confusing for those unfamiliar with the format. I'll add a note to list it as "X + commander."

The problem isn't the cards; it's having the rules engine already set up—that’s the key.

If it's in the original Forge, it's in NeoForge too! If anything is missing, let me know and I'll add it.

thanks for the report, fixed for the next update

About Lich's Mirror: I tested it and it does work. When you'd lose, it shuffles everything back, you draw seven and go back to 20 life. One thing to keep in mind is that it doesn't remove poison counters or commander damage. If you lost to 21 commander damage or 10 poison, the Mirror kicks in, but you still have that damage or poison, so you lose again right after (now without the Mirror). That's how the card works in real Magic too. Do you remember how you lost? If it was something else, send me your log (Settings → open log folder) and I'll take a look.

Forge is the best magic engine out there, you should give it a try if you wanna build something

Sure! Here is their repository

https://github.com/Card-Forge/forge

 they have both the Magic rules engine and an interface built-in. The thing is, I didn't like their interface, so I built my own UI using their underlying engine—and that’s how Neo Forge was born.

it depends, here i use the Forge project that is a rule engine, i only did the UI and UX but all the cards and mecanics are for Forge, ap orject more than 10 years old, is a lot of work to do such a game like this without the engine done already

I already had an account from a previous project with 1k followers on TikTok, so I repurposed it. The algorithm is really hit-or-miss anyway—some TikToks get 1k views while others get 50. I’m also lucky enough to be featured on the itch.io front page for posting daily updates, but Reddit was what really drove the major traffic and got things off the ground.

Hi there! Thanks a lot for the kind words. Yes, I create daily clips for TikTok and YouTube, and I’ve posted on a few subreddits. I also have my own Discord server—we’re nearly 200 members strong—and the daily updates are usually to fix bugs or add features that people request or discover!

Thanks for the detailed suggestion, that's a mistake I've made myself! It's in for the next update (1.0.11): Settings → "Ask before not blocking at all". It's off by default, as you suggested. When it's on and you're about to move past declare blockers without assigning any blocker while you have creatures that could block, NeoForge asks first, with "Back to blocking" highlighted and "Continue without blocking" next to it. If you have nothing that can block, it stays out of your way.

Okay let me check what i can do

Noted and agree, will come in the next update

You're right, and I'm working on it; tomorrow's update will include Arabic support. Do you know if itch.io is widely used by that audience? What would be a good way to reach them? Reddit?

yeah im working on the arabic translation and yeah, the cards come from scryfall

You can play with friends also! The way you play is very basic—like in Minecraft, you open a port and a friend connects. Join the Discord if you have questions or want to play with more people!

I could add it for the menus, but ultimately there is no card art in Arabic, so it's impossible to play Magic if you don't know English—though I can add it without any problem.

Its weird cause i got hundreds of downloads and no one report that problem, let me investigate and sorry for the inconvenience

version? device? updating or installing from 0?

😂 That’s bad luck; the opposite usually happens to me—I get ignored. I guess they saw you as the biggest threat. Anyway, you can team up! You can play 2v2 so you have an ally.

working on it!

didnt try it with cube, i doubt it but you can try same way

Yes! If you place the JPG of the custom card using the filename of the card you want to replace into the `NeoForge\NeoForge\datos\cache\pics\cards\[expansion folder]` directory, you can use whatever image you want!

Neo Forge on Android

Hi everyone! Neo Forge is a free app for playing Magic: The Gathering against the AI, fully offline, and today it's out on Android (it was already on Windows and Mac).

It's a modern interface built on top of Forge, the open-source MTG rules engine, so underneath there are 33,000+ cards, real rules (stack, triggers, combat) and a real AI opponent. On the phone the table is rebuilt for touch: slide through your hand, lift a card to play it, drag a creature onto an opponent to attack.

  • 👑 Commander / EDH, up to 4 players against the AI
  • 🧗 Ascent, a roguelite mode: branching map, relics, one life for the whole run
  • 🗺️ Forge's Adventure map, towns and dungeons
  • 📦 Draft and Sealed against seven AI drafters
  • 📜 Quest, 372 puzzles, Brawl, Oathbreaker, Standard, Modern, Pauper and more
  • 🌍 10 interface languages

No ads, no account, no in-app purchases. It's a non-commercial fan project and will stay free.

🎬 Trailer: https://youtu.be/GX7uUfCA0Os
⬇️ Download (Android APK, Windows, Mac): https://dokkodolabs.itch.io/neo-forge

It's the first Android release, so I'd love to hear how it runs on your device. Feedback is very welcome here or on the Discord: https://discord.gg/fF5Tn7Z2pv

Unofficial fan project, not affiliated with Wizards of the Coast.

What version are you playing of neo forge? I check it and is also in, the normal one and the fullart

Hi Wind, thanks a lot for the report, and sorry for the trouble!

I looked into it, and Combat Celebrant itself was working fine. The problem was the question Neo Forge asks when it attacks. It showed the card unselected, with a title that read as if the exert had already happened, next to a big lit-up Accept button. Pressing Accept without first clicking the card actually meant "don't exert". So the Celebrant was never exerted: no trigger, no untap and no extra combat. That was the confusing part.

It's fixed now. When a creature can exert (or enlist) as it attacks, you get a simple yes/no question with the card in front of you and two buttons: Exert / Don't exert. I tested it with Combat Celebrant: pick Exert and your other creatures untap right away, and you get the additional combat phase after this one.

The fix will be in version 3.9, out tomorrow. Until then, the workaround is to click the Celebrant in that dialog before pressing Accept.

Thanks again, reports like this make the game better for everyone. 🙂