943 karma · joined August 5, 2020
I wrote about how Meoweler was made here: https://kvak.io/meoweler
At least for small projects like this, it's perfect. For something larger/complex I'd be a bit more weary.
(the chain of prompts is at the end of the story)
1. The fact that it's all in the browser doesn't allow for panning the map with mouse-over-edge.
2. People often play the game with mouse and keyboard AND typing code at the same time, so the controls had to be tailored to minimize conflicts
3. The whole idea behind the current manual controls UI is to highlight what is possible to program for the players themselves. It's not 'technically' part of the game, it's just an injected html/css/js so the players can edit the controls to whatever would feel more natural (and add new buttons or completely change the mechanics).
But you are not the only one highlighting these issues, so I'll think about how to make it more intuitive and abide to conventions as much as I can.
If you have an account, click on the name in the top-right corner and activate the 'manual controls interface' module.
I think that if you give it a chance, you will find that there is a lot of strategic complexity even with only 1 unit type. Here is an example of a game between 2 humans: https://yare.io/replay/77cg1k232811g0
The process itself is indeed very fulfilling and joyful.
We will never live in a world where an abstract concept like a checkbox can have an 'assigned' specific visual affordance that doesn't allow for adjustments. Such thinking is stuck in the past and won't allow for new/better UI paradigms.
A small excerpt:
> Personally (dis-)liking a color, form, or image is not a matter of design, it is a question of personal taste. And as we all know, when it comes to personal taste there is not much to talk about there. But in addition to personal taste there is something that we can call “trained taste” or “sophistication”. Let me recapitulate:
- Whether I like pink or not, sugar in my coffee, red or white wine, these things are a matter of personal taste. These are personal preferences, and both designers and non-designers have them. This is the taste we shouldn’t bother discussing.
- Whether I set a text’s line height to 100% or 150% is not a matter of taste, it is a matter of knowing the principles of typography.
- However, whether I set a text’s line height at 150% or 145% is a matter of Fingerspitzengefühl; wisdom in craft, or sophistication.
But on the high-level — my full-time job is interaction design. Throughout my career I used JavaScript a lot for building interactive design prototypes and it’s the only language I know, so when I had the idea for Yare.io (heavily inspired by MIT’s Battle Code), vanilla JavaScript (and Node for server) was the only thing I could use (didn’t know any libraries or frameworks)
The project was really just a “problem” to be solved. Use JavaScript to move basic geometric shapes on a canvas in a 1 versus 1 battle. It needed to have a UI, rendering of a game state, authentication, event queue, basic ruleset, … None of this really required any tracker or rigorous process. I know what needs to be done, because I’m literally sitting in front it, seeing what needs to be done. It didn’t need a “plan”, because it didn’t matter when each piece of the puzzle was made. Just, whatever I was in the mood for that day.
I think the principle of simplicity (as cliche as it sounds) – trying to keep everything (especially the foundations) as basic as possible – was really the main thing that allowed me to finish the game.
I don't think I could enjoy it as much as I did with some scrum method, brainstorming bullshit, or anything reminding me of work.