
Dharma Doujou is a cute little Vs. Puzzler from the incredible but weirdly obscure Metro, who developed a slew of wildly different puzzle and action games, sometimes published by Banpresto. Later they were turned into a development house for Bandai Namco.
Dharma Doujou is a one-of-a-kind queue puzzle game, where players hit blocks into a queue that clears if it's filled with all of one color, or returns to the board in reverse order if it isn't. While it's true that you could in theory memorize every board in the game to plot the perfect route, the nature of Dharma Doujou is that if you make even a single mistake, the game suddenly explodes into a diverse array of potential directions.
DD and its Super Famicom Port have both been gaining popularity in recent years, having had regional tournaments in Japan for the past four years, as well as being featured in both RTA in Japan and Summer Games Done Quick
Dharma Dojo seems like a game where there's an "answer" to every board, but the time crunch and the timing aspect of hitting blocks is designed to induce mistakes. Once you have a suboptimal board because of a mistake or misunderstanding, returning to the board to an "optimal" or "solved" state may actually require more time or be more difficult to reason than straightforwardly clearing one or two colors first. The two balances of routing vs improvisation and solving vs. quick clearing makes up the backbone of this game.
Let's perform a quick overview of play:
You can move your character around with the stick and hit blocks with the press of a button, though you do need to be in range. You curiously have total freedom of movement, which is mostly to your detriment, but unusual for puzzle games: Dharma Doujou has 8-way movement, so you may want to use diagonals to navigate your stack more efficiently.
If there are blocks above a block you hit, they fall. Identifying how you can use this to reshape the back of your stack and unify different groups of color is an important skill to have.

Part of what makes Dharma such a brain teaser is that while you are hitting blocks to achieve goals on the front of the stack (such as clearing pieces), you are also often rearranging blocks on the back of the stack. This means that you are constantly doing two things at once, especially in the early game.
If you hit blocks into the queue and they don't clear, you perform what's called a "Miss". The queue pushes up from the bottom of the stack. Sometimes blocks may be further to the right than the length of the queue, and this can reshape your stack a little bit. It is Very Possible for a Miss to make your board taller; if your board pushes past the top of the screen, you immediately lose. In addition, the game scores you based on how much time you take to solve boards, and how many misses you spent to clear a particular board. In versus, missing mostly just eats at your time. There is a somewhat unhelpful dotted line in versus to help you know how short your stack must be to avoid dying to incoming garbage; most people would probably say that it's exactly one block shorter than where it should be.

For our purposes, there are three kinds of basic goals in Dharma:
Clearing: When you hit blocks to send them into the queue to clear them
Pushing: When you decide on a target color to push forward in your stack so you can clear them after taking a Miss.
Restacking: When you push blocks to the queue to reorder your stack, because you cannot push a color to clear on your next Miss, or because attempting to clear or push would disorganize your stack too much (more on that later).
Unless your board is in a solved state (that is, you know an exact set of moves that will clear your entire board), these three goals form a loop. A player gets stronger when, as they go through this loop, they no longer need to restack, and even begin skipping pushing, letting them discover solved states earlier and earlier for any given board.
Here are a couple of patterns of play that may help you become stronger faster:
When you decide on a target color to push, count how many pieces it's going to take to get that piece ready to clear. If that number is larger than your queue, pushing that particular color is probably not the best choice. If it's smaller than your queue, then the remaining free spaces in your queue are action points you can spend on reorganizing your stack or advancing a target color you want to clear after you clear the color you're pushing.

Finding ways to push two or more colors at once is significantly faster than doing one at a time. If you have no clue on how to advance your board, with no obvious plan of how to proceed, I encourage you to spend the remainder of your push filling up your queue with your target color.
By doing this, you naturally make your stack taller, which sounds dangerous, but an important insight to keep in mind is that, by definition, taller stacks have more options than flatter stacks, and pushing a target color almost always has fewer consequences or expenses on a tall stack than a flat stack. This has a few tradeoffs: tall stacks sometimes take more time for your avatar to navigate, and tall stacks may require you to take restacks in order to avoid dying, but that's usually because you're very early in a board or because you're defending against imminent garbage.
Another consideration is the color at the bottom right of your stack. You often want the beginning of your queue to match that color, so you can build a vertical column of that color on the back of your stack. By doing this, you create a string of color you can then push under your stack to later make a horizontal line.

Restacking is expensive, so it's really important to make restacks count. Ideally when you restack, you consider your next push, which means that you may have to know your next target color already. What this may mean for you is that you want to end your restacking queue with your target color, so that way you limit the amount of destructive pushing you have to do, or you can spend valuable spaces on your next push to preparing secondary or even tertiary clears.
As a general rule, whenever possible you want to unify colors into distinct groups, and you never ever want to have the same color in different groups on the same row unless that color is part of a backrow column. The reason for this is that, by definition, a pattern like "green, red, green", by definition is going to cost you at least a push if red is your target color, or a restack and a push if green is your target color. The ideal way to wriggle your way out of this dilemma if green is your target color is to ensure that the back half of the pair is on the back column, so it can fall to a different row and then get pushed as normal, but you may simply have to take some bad restacks. Part of playing this game is making mistakes and overcoming the consequences of doing that.

Finally, something I'd like to impress on the reader is that given the time pressure you will inevitably be under in both modes of play, making even single clears is immensely valuable. The fewer colors on your board, the faster you can play, because: you can now afford to make your stack taller; you have fewer colors to manage while pushing and restacking; it will be much easier for you to plan and reason about your board if it is simpler.
I do also have an interesting versus mode only strategy to share with you: if the top of your board is completely flat or in a similar shape when you receive garbage, you can return that garbage quite efficiently by just hitting the corner of that shape repeatedly. The vertical columns you received as garbage will quickly tuck into themselves and clear. This puts significant pressure on your opponent while also buying you time to work on the rest of your stack unimpeded. (You will have to click through to view the animation)
I hope you enjoy playing Dharma Doujou, either by yourself or with friends and opponents online. If you wish to play this game on Fightcade, it's recommended you use the following dipswitch settings. This won't prevent every desync (as the board appears to be improperly documented) but it will prevent many because coin-related desyncs are otherwise quite common.
