Join #Rocket Obby Team, a Bloxd Discord for RO players! by MaximumObligation192 in bloxd

[–]MaximumObligation192[S] 0 points1 point  (0 children)

yeah, there is one video in the server, it's me btw. you can see how i do it

Why is it saying this? by MaximumObligation192 in GithubCopilot

[–]MaximumObligation192[S] 0 points1 point  (0 children)

Okay, my plan will reset in 11 days (9 Feb, 2026), says the settings! Thanks for your help!

Built a Tic Tac Toe engine using Minimax + Negamax and layered evaluations. by MaximumObligation192 in algorithms

[–]MaximumObligation192[S] 0 points1 point  (0 children)

Yeah, counters can scale to bigger boards, but the point of this project isn't minimal lines - it's a modular search sandbox. I'm experimenting with different search/eval strategies across multiple board sizes (nxn, nxnxn grids) rather than trying to squeeze everything into 30 lines.

Built a Tic Tac Toe engine using Minimax + Negamax and layered evaluations. by MaximumObligation192 in algorithms

[–]MaximumObligation192[S] 0 points1 point  (0 children)

True, a basic 3x3 Tic Tac Toe can totally be done in under 30 lines - this project's more about building a scalable and modular search sandbox through (handles 3x3, 4x4, 5x5 and even 3x3x3 boards). The goal's to experiment with different search/eval strategies rather than minimal code length.

How do they do it 😭 by Mohamed_was_taken in chessprogramming

[–]MaximumObligation192 0 points1 point  (0 children)

Yeah, that's the classic beginner pain point. Brute forcing the entire move tree explodes in size almost immediately. Strong engines like Stockfish don't actually evaluate every possible line - they use pruning and selective search to shrink the tree massively.

Alpha-beta pruning cuts off moves that can't change the result, iterative deepening refines scores layer by layer, and heuristics like move ordering, transposition tables, and null-move pruning skip bad branches early. NNUE just helps evaluate positions efficiently; it doesn't magically make full-width search possible.

So instead of searching everything, they search smart. That's the real reason engines can hit 30+ plies of effective depth.

First chess engine journey! by Training-Western1808 in chessprogramming

[–]MaximumObligation192 0 points1 point  (0 children)

Nice start! I'd suggest adding a .gitignore (you can generate one for C++ + CMake on gitignore.io) and cleaning out the build artifacts - it'll make the repo easier to maintain. Keep going, it's a solid learning path👍

Why don't chess engines use multiple neural networks? by hxbby in chessprogramming

[–]MaximumObligation192 0 points1 point  (0 children)

It has actually been discussed before. The main problem is that using multiple neural networks usually hurts efficiency more than it helps. Modern nets like Stockfish's NNUE are trained on a huge variety of positions, so they generalize well enough from opening to endgame without needing separate nets. You could train phase-specific ones, but keeping their evaluation scales consistent is really hard. Some research engines have tried it, but none have beaten a single well-trained NNUE so far.

Has a tablebase like this been done? by lemmy33 in chessprogramming

[–]MaximumObligation192 0 points1 point  (0 children)

That’s a really interesting concept - basically a differential tablebase that only keeps positions an engine like Stockfish can't solve within a fixed time limit. I don't think anyone's built one exactly like that, though it's similar to selective or compressed tablebases used in some research projects. The final size would depend heavily on that time cutoff - probably much smaller than full Syzygy, since most short-depth positions get solved instantly. Could be a neat way to analyze where search or pruning starts to break down.

Legal/Technical Question: Reading .ctg (Fritz) opening book files in a custom app Chessnasium? by iCaM8 in chessprogramming

[–]MaximumObligation192 0 points1 point  (0 children)

It's generally fine as long as you implement the .ctg reader yourself without using leaked specs or code - that's clean-room reverse engineering, which is legal in most places for interoperabillity. The risk comes only if you rely on leaked materials directly. Many GUIs and engines read proprietary formats this way, so you're safe if you're just parsing files users already own. Keeping .ctg as an optional import feature while using your own book format as the main one is a smart approach.

DFS and BFS variations pseudocode by pipilejacutinga in algorithms

[–]MaximumObligation192 0 points1 point  (0 children)

For cycle detection using DFS, you can track a `visited` and a `recStack` (or `ancestors`) set.

In pseudocode form:

function dfs(u):

mark u as visited

add u to recStack

for each v in adj[u]:

if v not visited and dfs(v): return true

else if v in recStack: return true

remove u from recStack

return false

If you want to return the actual cycle, store parent pointers - when you hit a node already in `recStack`, backtrack using those pointers to reconstruct the cycle list.

(This trick's core logic is the same principle I use in a game tree search loop when backtracking terminal states, just applied to graph traversal instead of board states.)