







Hey guys,
my group and I have started to also play on the app with an old friend that lives abroad. Before I start babbling, my main question:
Have there been any successful projects of getting an augmented reality version of the board game? As in, QoL from the app while maintaining the feel of the physical game? I looked superficially but couldn't find anything - if you do know of such a project, even if ongoing or abandoned, please point me towards it!
Because as we noticed the obvious QoL like resource management, mostly automated solar phase (including the "reminder" that it actually exists in the first place...", overview of available actions and all that, someone in the group had an idea: Hey, we have a software engineer that works for a company that does computer assisted parking watchdogs (yes, the guys that send you a ticket for staying 602 seconds rather than 599), and an engineer that just loves creating stuff like this for the sake of it, albeit not in the country right now. So what happened? First, nothing. The dev is naturally a bit skeptical but didn't want to say why, because of the whole bumblebees not knowing they're not supposed to be able to fly thing, having experience in the field, and the engineer is halfway across the world, but damn it, I loved that idea too much to let it go, so I told the dev that I have a drone that can fly, so he could stick his skepticism where the bees don't bumble and got to work.
And through sheer luck, I had actually done something useful in my midlife-crisis, at least helpful for this: I had bought a top of the line gaming rig and a massive TV that could double as bed if you put a mattress on it. Stupid idea at the time, sure, but now it turned out to come in handy, just like other old shit I had laying around: A Warhammer gaming table, a lighting rig for that table with a flexible swan neck, an old phone with an intact 108mp camera and of course the holy grail of hobbyists and kidnappers alike - a large pack of cable ties and duct tape. So the jerry rigging a camera part was done and engineer approved, and I still had a free month of gemini super duper Ultra from my current phone. An idiot writing code and prompts for an AI with the help of an AI, with full access to my phone AND PC AND smart devices. Nobody would be that much of a moron and on top of that achieve something that's semi useful, right?
Oddly enough, I did.
After some testing that went waaaaay overboard, often literally (some pics attached - the whole "fly a drone over the board as a card scanner" idea was NOT mine but the engineer's, it's important to me that's clear!) and just served the purpose of what's theoretically possible or different approaches to the same problem, I'm now sitting at a prototype that consists of the following:
- A database that made use of the resources provided by Ssimeonoff (https://github.com/ssimeonoff/ssimeonoff.github.io - huge thank you there, without that, I probably would have given up on the project already!) and uses the json rules for things like cards, playing boards, milestones and all that raw info, so for example Card 021 Ecozone has the requirement of 1 ocean, the effect of gaining a an animal when playing a set of tags and a certain cost. This also includes the rules for all expansions.
- An action lifecycle logic that consists of four layers:
- - Detection, ie a new card being held in a certain area, isolated from background clutter and identified
- Digital projection to the TV - like the game, all players get an easy view of the card being played, no need to read it out loud for the 200th time. This shows a high res pic of the card drawn from the Ssimeonoff DB, shows fulfilled requirements in green and unfulfilled ones in red, and cost after discounts like for space cards, if the player has advanced alloys etc are calculated
- Payment: That's the part of this I found most interesting because that's where the interaction needs to happen. For now, it's a mixture of four prioritised options: Moving currency off your player board and putting the card down in your "played cards" area > Saying "I'll pay with X money and Y titanium" > Manually entering this via PC or phone as a last fallback. The same idea applies to card detection, if the camera keeping track of the board fails to recognise it for whatever reason, I want to build a backup of just giving every player the option to scan it with his phone.
- Commitment, so after the card is registered as played and paid for, the effects on the card like shifting global parameters, production or gaining resources are applied
- A state manager, its role is to regularly keep track of what has happened in the game by comparing the image fed from the camera. That's where the hard AI lifting is done, I basically told it to act as a rules arbiter - the fact that the rules for this game are so beautifully, consistently worded, inherently logical and there's nothing that's left unclear if you read every detail helps a ton, because that's the perfect situation an AI could be put in, the human factor is removed as far as clarity is concerned. There is a manual override in case there was an error in reading out anything from global parameters to individual currency.
- And last the dashboard that's shown on screen, basically literally a "we have the companion app at home, honey" version of a UI for all players, to make it less awkward to look at someone else's board across the table. At the top is an overview of Global parameters, milestones and awards on the side, production and wallet of all players at the bottom and the center is reserved for actions that happen, like a card being played, a tile being placed, trading, converting energy to money and stuff like that.
All the parts work independently, and I have started on integrating them, so I've ensured the results of a card scan are displayed on screen, but despite having a working card scanner, it's not yet connected to the rest, so I am testing with "virtual" inputs directly fed into my script, bypassing the cam for now.
To me, this is a massive success already - not because I got it to actually work, that's yet to be determined, but because it's just fun to tinker around with it, and since I've annoyed all my friends already to the point that their initial shared enthusiasm is slowly starting to shift to "yeah mate, stfu already or I won't use this even if you succeed, just to spite you" I'm now bringing my euphoria and the need to share to the place I know will give me a reality check: Reddit.
So, what do you guys think? Yes, I did name it Project Hadigrade, because it's not really an upgrade, and neither should it be a downgrade. It's gone through hell, survived my idiocy and my drone, and my name is Hadi, so why the hell would I not proudly call this after the dad joke loving, money, resource and time wasting and (slightly) narcissistic nerd that I am?