Português English

Blogs

Flax Engine feature
2022.12.01

Flax Engine

In a year full of personal experimentation in other careers (like running for congress, for example :), I still programmed a lot. I invested a lot of time studying Docker and containers, Kubernetes, Home Assistant, and hosting web systems myself (like Nextcloud).

But game design is a passion.

I constantly get annoyed with Unity3D and the latest events on the business side, which had me worry even more. I tried to use Godot and failed. C# is far better in terms of easy-to-use and safety compared to C++ and even more to custom scripting languages. It’s more organized and well-documented. And I have years of accumulated experience. And Godot-C# integration is buggy, unstable, and full of gotchas. The way they re-implemented C# in the upcoming Godot 4 created so many artifacts to properly work that I got even more frustrated. I could not use Lists<>!

After watching a curious review on the GameFromScratch channel, I tried a new kid in town: Flax Engine. It’s a C++/C# engine heavily inspired by Unity. The from-to process is straightforward. After just a few of weeks playing with it, now I decided to invest in it. I am planning to port my closest-to-finish game I have to it by the end of the year. It’s 1 step back, 2 steps forward.

Cons

👎 Like Godot, there is no way, currently, to drag-and-drop assets and actors with a specific class. I always have to ask for a generic Actor in the editor and check if has the given class in the code. Annoying and error-prone.

👎 Still lacking several common features, compared to Unity and Unreal. It’s evolving and, most importantly, their competitors pave the way for inspired clones like Flax.

👎 Minuscule community compared to other game engines, even the indie ones. Recent GitHub reports the biggest Open Source projects do not place Flax into the top 10.

Neutral

😐 Not FLOSS. It’s open source but it’s not free. The license requires paying royalties. It’s very close to what Unreal asks but more generous. I would love to see it converting to a full FLOSS model in the future.

👎 Old C#/.Net version. A branch with the newest .NET 7 was created and developed. The current version uses .Net Framework 4.8 and it is a pain to install on Linux.

👎 Still lacking Docker image for CI/CD (well, Unity and Unreal also do not have official ones). I may implement a repository myself, inspired by GameCI ;)

Pros

👍 1-1 adaptation from a Unity developer. It’s not as feature-rich, but it’s very competent.

👍 Open community. A lot of issues and Merge Requests on the project’s GitHub page. I’ve been talking to devs in a Discord channel and they are receptive.

👍 Small footprint. The editor is only a couple of megabytes and the “cooked” game is also small. If possible, running it in an Alpine-like image will create a minuscule image to use CI/CD.

Wingspan feature
2022.11.29

Wingspan

Stonemaier got famous when the owner, Jamey Stegmaier, blogged every aspect of his first Kickstarter campaign. People felt confident with his struggles, thoughts, and solutions.

After some success, Stonemaier created another hit. This time the game was not designed by Jamey but by newcomer Elizabeth Hargrave. Wingspan (which is currently at the high tier in BoardGameGeek) lets you collect birds that provide special powers, that accumulate turn after turn. I bought it as the last year Christmas gift for my wife last year, and it became one of the most played games in our collection.

Little eggs

Positives

The components and art, OMG, are all high quality and adorable. The board, the cards, the dice tower, the eggs… ohhh… don’t even mention the colorful eggs. The colors do not have any gameplay meaning, but they are adorable. People always react when seeing those little eggs.

The care in creating each bird card is astonishing. The flavor text is rich in details, and most of them have a real implication in the game itself. Bird size, breeding pattern, type of food… it’s all grounded in reality!

There are birds objectively better than others, but the external objectives and bonuses may increase the usefulness of birds in each play. Considering also the huge number of cards, at least for the sake of replayability, it’s a major plus.

The core value of this game is the engine-building mechanism. Each time you get a new bird, its powers will be used in later turns. So by the end of the match, some super powerful combos will be created. It’s very satisfying to activate a multipoint machine!

Wigspan components

Negatives

This game is a multiplayer solitaire: while you can somewhat manipulate resources and face up birds a bit, it is best to be occupied to “do your best”. My nephews were hooked all the time, but mostly commenting about the birds’ looks and imagining their next moves.

It is very difficult to keep track of other people’s boards. So it is really hard to counteract. None will take mental notes tracking other players. But for those who do this, it could represent a major strategic advantage.

The abilities are fun but require a lot of reading to understand. While the texts are not long, the font is a bit small.

The dice tower, despite being cute, is prone to damage over time. I already not using it in my sessions, to preserve it.

Wigspan components

My Rating: 9★★★★★★★★★
Owner of Social Network Data aka Indieweb feature
2022.11.26

Owner of Social Network Data aka Indieweb

During the campaign for Congress, I had to transform my social networks into a real sales platform. They all had to be super aligned with the same purpose.

I should have already installed/hired some social media manager, like Hootsuite or Zoho Social (Zoho has been my online service provider for years), as this is no trivial task. There were more than 8 networks. And many of the contents are copies of each other.

In addition to the difficulty of managing the various networks, there is confusion as to what content I would release as official. Canonical. Especially networks that are essentially competitors.

  • Twitter or Mastodon?
  • Tiktok or YouTube Shorts or Instagram Stories?
  • Facebook or my blog?

It gets substantially worse with stories like Elon Musk’s takeover of Twitter. He’s made so many changes to the platform that it’s not impossible to think the company will eventually go broke. Thus, years of content would be thrown away. And the constant changes in rules and permissions?!

Indieweb: The owner of the content is ME

To address some of these concerns, I’m trying to centralize the source of information to a system that I have full control over. And nothing better than this site itself to be responsible. Here I do whatever I want, optimize images (one of my concerns is that I’ve never had much discipline in removing the metadata from images), and customize their appearance. This then becomes the official center of what I do.

POSSE is the practice of Publish (on your) Own Site, Syndicate Elsewhere, in other words, publish links or copies on other social networks always citing the source of the content, so that anyone can follow you directly at the source.

Reposting on Twitter and Mastodon is easy as they are usually text and few images. Meta/Facebook sites are more boring because they are richer in content and have no API to automate. Video ones are even more work, as hosting videos in person is quite expensive (I’ve always felt that YouTube does an almost humanitarian job in hosting such a volume of data).

For now, I must keep old content on its source platforms. Gradually I will try to write only here. Eventually start to even export all the old content from these services to have back and put static on the site.

Microformats, Fediverse and Webmention

To adapt the site to be the center of the online universe, some changes need to be made:

✅ Make it easier for computers to also understand the site

I also implemented microformats on the site and in the contents, so that any other system that reads the site can extract the main information: the author, title, content, and publication date. Several of this information already appears visually on the site. As humans, we can understand easily, but computers cannot. Therefore, a series of modifications were made so that the contents are also easily understood by machines.

Separating the different types of content

As I use the blog as a tool for longer texts, daydreams, and ideas, I’m thinking of creating specific lists for small texts (tweet/toot) and maybe images (today the site has a tag that points to my posts of photos). So everything would be better indexed and found. Blog and notes. My site manager, Hugo, allows for several approaches. The question is how to do a better implementation.

Integrate comments, replies, and shares made on other sites

I’ve tried using some commenting tools before, like Discus and Cactus.chat (super cool concept of using Matrix as a comment source). I don’t have a lot of traffic here, so it wouldn’t matter. But the goal is now bigger: to include comments and reposts of my content made on other sites.

The W3C’s standard (the organization that standardizes the internet) created webmentions, a way to formalize that someone is commenting on someone else’s content. That’s the only way I can maintain a great discussion about the content I’ve posted on any network.

“Automatically” republish content written here on other social networks

This will take some time as I will need to use some external services that will read my site’s RSS and try to post on social media instead. Essentially using a HootSuite/Zoho Social type solution. Even better if it’s open source. I will investigate the use of n8n.


As soon as I manage to implement more things, I’ll post them here. I want to give the least amount of work to the next ones who are excited to take control of their own digital lives.

Books From 2022 (So Far) feature
2022.07.08

Books From 2022 (So Far)

Every year I try to compile a list of games, books, and movies I experienced. Here we go.

I continue to read (listen, in fact) almost every day for the past few years. It’s in my daily routine when I walk the dogs. It’s a very different proposition from laying down and dedicating some time to read them. I have an urge for a secondary task when I am performing a no-brainier routine, just like.. walking the dogs. Otherwise, I feel wasting my time by just like walking and not thinking.

This is the list of this year’s books that I ingested. These lists are -definitively- not comprehensive ones. Since I’m not updating my GoodReads personal records nor writing about them in this blog, they are just the ones I remembered. I may edit this post if I remember other items.

  1. Piranesi (9★★★★★★★★★): Piranesi lives in a fantastic place. He has a memory issue but keeps detailed notes. A great mystery.
  2. The Well of Ascension (8★★★★★★★★): just after the events of the first book, the protagonists now have to maintain the power they acquired. Fascinating.
  3. Steal Like an Artist (8★★★★★★★★): great super-short book about the creative process. He incentives people to leap forward in creative work disregarding self-judgment. Get inspired and try to copy the work of others to practice and find one’s voice.
  4. Keep Going (8★★★★★★★★): another small but very motivational work from Austin Kleon. Do not stop creating. Do small iterative work until it’s done.
  5. Show Your Work! (8★★★★★★★★): another small piece of Austin. Create a blog, Twitter, Instagram, or Tiktok account and show people what you are working on. Even hobbies stuff, like sketches. Eventually, it could become your masterpiece.
  6. Parable of the Talents (8★★★★★★★★): is the sequel of the excellent Parable of the Sower (9★★★★★★★★★), telling about the protagonist is her daughter.
  7. The President Is Missing (7★★★★★★★): modern cyber terrorism thriller. Very believable. Tips and checks are done by no other than Bill Clinton!
  8. The Power of Habit (7★★★★★★★): a modern classic self-helping book. It starts preaching the power of understanding and controlling habits. Then it exemplifies, chapter after chapter, the different facts of habits interfering in our decision-making. Very good.
  9. Different (7★★★★★★★): essay about the competitive advantage of being different in the market. Curiously enough, in the second half of the book, she acknowledges that being different might not be important depending on the situation and market. Good book.
  10. Communication Skills Training (7★★★★★★★): comprehensive discussion about communication skills. Nothing fantastic. But very good.
  11. Justice (7★★★★★★★): several philosophical aspects, situations, and approaches of what is justice. It does not, however, present definitive answers about anything.
  12. The 4-Hour Body (5★★★★★): several tips about a proper workout, diet, and routines to get the body you want.
  13. The 10x Rule (4★★★★): salespeople kinda talk. Super aggressive, alpha behavior about using all your power and will to achieve goals and success. I tried to focus on the core messages and occasional motivation in his words, but it’s hard to not get pissed with the alpha male dominant attitude.
  14. Think Sex and Grow Rich (4★★★★): it tries to sell the idea that we are driven by sex and we should channel this constant desire towards business goals. It starts fun, then became very tedious.

From the second part of 2021 that was not on the mid-2021 list

  1. Dune (8★★★★★★★★): read in 3 nights to watch the movie. Loved it.

For more books, you can check my online read list on GoodReads.

edited in 2022-07-14 because I forgot some books. Quite sure there are more.

Multilanguage Site feature
2022.03.27

Multilanguage Site

brunomassa.com has been always an international site. Almost all posts were written in English. But now that I will venture into politics (more about this in a later post), it’s worth separating Brazilian Portuguese content apart. Mixing posts about programming, gaming, and movies will only confuse followers and voters.

Instead of removing non-related content, I decided to split languages. The Brazilian Portuguese edition will show up more posts about the Brazilian scene. Curiously, most of the old posts written in pt-br were already about politics or football, so they are already fit for the job!

I do not know how to create a hybrid model using Hugo, with most language-independent content intertwined. If I find it, I will enable it in the future. It will be especially useful for hot-pages, those pages that serve as an entry for promotions and special situations. It would not be good to create a hot-page for brunomassa.com/pt-br/hot-page, because it would defeat its purpose of being easy to remember and share. To help even further, I’ve just bought the brmassa.com domain, aligning with other social media usernames.

So, I’m going to start to work towards generating more content about politics and the Brazilian context. This week I plan to make the now-not-much-a-surprise announcement.

This very post is multi-language. Click on the small flags to switch.

Bruno MASSA