30 ms·
Thanks for the heads up, I just deployed the reference and main site with fixes for the dead links. I built the least straightforward board game: Battle Star G
by mathgladiator 4y ago
Thanks for the heads up, I just deployed the reference and main site with fixes for the dead links.
I built the least straightforward board game: Battle Star Galatica ( https://boardgamegeek.com/boardgame/37111/battlestar-galactica-board-game https://boardgamegeek.com/boardgame/37111/battlestar-galacti... ), and I've also made hearts.
My #1 problem at the moment is focusing, but I'll share the rough plan I am hoping to commit to for the coming weeks.
First, I am seeking a balance between low latency awesomeness and durability. I'm super not happy with the RDS implementation of how I persist game state, so I'm writing directly to disk with a periodic back-up and cold storage migration. I plan on writing about this more on the blog.
Now, this is the wrong priority from a business growth perspective, but it brings me joy.
Second, I am going to ship a new @web aspect where the Adama server can be a read-only web server for assets, json, and other fun things. This is needed for the IDE so assets (i.e. images) can be uploaded and attached to a document and then served publicly.
Third, for actually shipping board games, I'm de-prioritizing how I think about the WYSIWYG editor and focusing on just HTML via RxHTML. RxHTML is a new templating thing that I'm working on which I will post details about in the coming month, but the gist is that I can take a HTML template and then reactively bind it to a tree such that DOM updates are seemless and minimal. I intend to write a post on my own personal despair of dealing with modern JavaScript tooling.
Fourth, I am going to get the web portal online with just a text editor (currently evaluating code mirror) such that I can onboard people quickly with just their email and they can get to typing.
Fifth, with super minimal IDE, I can then introduce examples for a variety of games and applications which can be one-click instantiated.
Sixth, with one-click instantiation, I'll build a reflection base UI where people can send messages to a document and see the document with pretty printing. This will let people actually play a game in a sense as a developer.
Seven, I'll add rxhtml to the minimal IDE and then people could make reactive reports/UIs.
At this point, the vision can start to manifest of Adama as a roblox like website for board games. Now, it is worth noting or pondering "where is the customer in all of this?" and I'm currently the customer.
- Folcon 4y agoFirstly it's great that you've got a lot of enthusiasm for this and a roadmap. > I built the least straightforward board game: Battle Star Galatica ( https://boardgamegeek.com/boardgame/37111/battlestar-galacti https://boardgamegeek.com/boardgame/37111/battlestar-galacti... ), and I've also made hearts. Sorry about that, I was being unclear, is this visible anywhere? Can I look at how you've done it? In my experience authoring systems can fall into two broad categories: 1. You can think in them, so they're a useful space to prototype and if you're lucky the output is good enough to ship. 2. You can't easily think in them, but they have other positive qualities, they're performant for example, or target a wide array of platforms, so you sketch out ideas elsewhere and once you've worked out what you're trying to do, pull it in. For some people, this is a non-problem, they've internalised a system well enough that they can do everything in one place. If you can show what a prototype looks like, people can start looking at what you're producing and see where this fits in their toolbox of useful tools. Or they can point out gaps they perceive which you can look at and think about whether fixing those perceived gaps is within the vision of your tool or not. Maybe you're just not wanting to solve that use-case =)... I would also suggest setting aside a day and showing what you currently have to some people who design games, either as amateurs or experts and see what feedback they give you. You may already have something they want to use, or you may find blockers that prevent them from using it. The mom test[0] may be useful here if you are collecting feedback to discern useful feedback from platitudes. If you're not interested in doing this because you're building primarily for yourself, that's cool. I just think that this might be a useful exercise to work out if people would be more willing to engage with what you're building and what if anything might be holding them back from doing so =)... - [0]: http://momtestbook.com/ http://momtestbook.com/
- mathgladiator 4y agoYou can look at it! However, it's a giant mess and out of date (changed a few language primitives) http://jeffrey.io/bsg.adama.txt http://jeffrey.io/bsg.adama.txt This encodes all the rules for the backend. Basically, you will see a lot of tables and then control flow is by a state machine (#state_machine_label { /* code to run */ }) which then asks players via channels and await. For legal reasons, I don't have the poorly done UI available. However, a neat design aspect is that I can have poorly written AI make decisions to play the game to test it. My appreciation for the game has grown and depth of the rules has made me a beast. I am in a strange boat since I'm trying to reconcile some of my insights with my passions. On one hand, I'm still in this process of describing the deep things my career has gave me ( https://news.ycombinator.com/item?id=31567549 https://news.ycombinator.com/item?id=31567549 ) and then having fun. I'm trying to execute on a three strategy ( http://www.adama-platform.com/2022/02/24/open-strategy.html http://www.adama-platform.com/2022/02/24/open-strategy.html) where leg one is all about getting the SaaS stable and reliable. Leg two is I invest into tooling for me to make games. Leg three is where I get to making games. I'm currently looking at what is the medium between Leg two and three. I had a plan of building a game engine specifically for board games, and I even made a WYSIWYG editor. I recently started to break off the WYSIWYG editor as a standalone component (which you can see at http://ide.adama-platform.com/solo/ http://ide.adama-platform.com/solo/ ; click 'single item (and new)' to put a box up which you can drag around). It's made in Rust and very exciting. I still loving have the WYSIWYG editor as a part of the leg two strategy, but now I'm focusing on just making HTML work using this new rxhtml thing I'm working on. I'm optimistic that rxhtml will be a cheaper investment than dealing with all the npm crap. I'm writing another essay on this in regards to the current mess that is the JavaScript. The thesis is that, at the end of the day, the front-end challenge is to make HTML with good UX which is then responsive to input and data changes. With a reactive back-end, it's very easy to turn the browser back into a dumb terminal. The first product to build within the minimal IDE is a "The Crew" clone since my friends and I have exhausted both the space and sea version. One thing that I've realized is how hard this strategy is. First, it is slow AF. Second, the gradient of difficulty of pitches; the SaaS may as well be rocket science and the IDE is currently vaporware (but I believe it will be more accessible) and if I just made a single game then people could play it. Once I get some of the investments into a tidy shape that make me warm and fuzzy on the inside, I'll definitely focus on the various communities. Thanks for your thoughts. Also, I ordered the mom test book.