Português English

Blogs

Trying Godot Engine Again feature
2022.01.13

Trying Godot Engine Again

It’s about 10 years since I discovered Unity and fell in love. The editor was great, but I liked programming in C#. It allowed me to be both organized and creative.

Despite being among the top 2 suites in the world, I’m increasingly annoyed by them. It became big spyware, heavy and full of annoyances. In addition to being super expensive (for Brazilian standards), the pricing model is much less indie-friendly than its nemesis, Epic’s Unreal Engine. Users pay upfront instead of paying royalties for their success.

Time to explore new grounds! To be honest, I try new stuff all the time. It’s time to land on new grounds! Some criteria to consider:

  • Open source preferred, almost required.
  • Avoid C++ (because my games would leak memory of certain). JavaScript is discarded due to its performance. Rust is hot, but an engine supporting it is probably super beta.
  • Small footprint if possible.
  • Pro developer tools, like CI/CD headless compilation.
  • Big community or organization supporting it. The lack of big support is an abandoned project wannabe.

So for the past months, I tried to play with several options. Notably:

  • Unreal is unbearably gigantic (7gb+), which hits especially hard on CI/CD. And the Linux editor is buggy.
  • I was excited by Stride/Xenko, but months after put as open source, it was abandoned as far I can tell.
  • Godot has that annoying scripting language embedded, but the no-go was the lack of an equivalent of ScriptableObject to create data assets.
  • O3DE is a possibility for the future. Lua as a scripting language is a personal nostalgia.

Spark of hope

Then I read an article about creating data assets in Godot. It used C#. It was not a trick or complex. Pretty straightforward. I decided to try it again. Less than 100 Mb later, with no need to install or register, I started my -again- the first project. The goal was to load data from an asset created using C# code, just like a ScriptableObject in Unity. The test was a success.

So it’s time to try to create a full prototype game! I’m planning to join one of the several jams they organize to motivate myself to finish. No prizes are involved, just for the challenge. Things to explore to be conformable with:

  • Client-server multiplayer.
  • Scene streaming.
  • Animations.

Another idea is to recreate an old game of mine: PICubic. It was not commercially released, so it might be a good way to learn and expect results.

Some general thoughts

After a week that I’m playing with it. Some thoughts:

Cons

👎 The design principle is that each node has only one script attached instead of the super common component-driven approach lacks. Especially trying to design complex systems using small parts, like the microservices in web development. I heard once that there is a spin-off that implements this, but there is no traction in the community.

👎 C# integration is still not good. At least on my computer, the editor crashes each 30 min at a random time I hit play. Also, the editor does not display custom C# classes in the inspector. I design several vanilla classes to organize the code, but I had to transform them into Resources to be able to edit their data.

👎 Linking assets in the editor does not respect the class restriction. One could insert a Player asset instead Weapon and the editor will not complain. I have to check before using an external variable every time.

Neutral

😐 Refereeing nodes in the hierarchy and the asset folder are two distinct things. Nodes in the hierarchy are accessed by NodePath while prefabs (here called PackedScenes) have a different type.

😐 GDScript: focusing on a custom language instead of vanilla widespread like C# or C++ is a waste of both newbies’ and Godot’s own developer’s energy.

Pros

👍 The everything is a scene approach fascinates me. I always thought this way in Unity: scenes are just a special prefab.

👍 Creating an automatic build pipeline on GitLab was a breeze. Due to the smaller container and less complexity, it takes less than 2 minutes to create a build on any platform. An empty Unity project takes this time just to download the 4gb+ image and at least 5 more minutes to compile.

The project development is somewhat slow for my taste, but they are receiving more and more financial support in the last months that might enable them to accelerate the pace. I’m especially interested in the new external language integration for the upcoming Godot 4.

2021.12.31

Game List 2021

Last year I published a post of my played games, but the title was mistakenly named Media List 2020. It was a games list so this year it was properly named. This year I wrote much less about each individual game, so I dedicated a small space to comment on each entry.

By far, the most important game I played was Cyberpunk 2077. At least, it was supposed to be the most loved and commented game. Whatever, here is a list of games of all games I played this year.

2021-01-13: Totally forgot to include both Battlefield 4 and Battlefield 1.

Finished

  • 3 out of 10 Season 1 (7★★★★★★★): the self-mocking humor is funny, but the gameplay is monotonous.
  • Abzû (6★★★★★★): Underwater abstract exploration. Due to the short length, it was ok.
  • Battlefield 1 (9★★★★★★★★★): the best in the series. The split stories, all good, allowed me to explore multiple gameplays.
  • Battlefield 4 (6★★★★★★): awful. The invincible hero trope to the last moment. Cinematic after cinematic.
  • Control (7★★★★★★★): it was on my wish list for quite some time, then Epic gave it for free. However, I must admit it was a bit off for me. The weird story never fulfilled me, and the levels and flow were a bit repetitive. My impression is that Jesse, the protagonist, was at the same time omniscient and suffering from amnesia. Dr. Casper Darling (played by Matthew Porretta) was a fun character though.
  • Cyberpunk 2077 (7★★★★★★★) I enjoyed quite a lot. Finished every single quest. Still, expectations were higher.
  • Gunpoint (8★★★★★★★★): quick, easy, and charming puzzle-platformer.
  • Hyper Light Drifter (5★★★★★): loved by many. Not me. Hard and confusing, despite beautiful. I gave up.
  • Imperialism 2 (8★★★★★★★★): finally played to the end the other day. The clunky old graphics and controls get a bit in the way.
  • Little Nightmares (7★★★★★★★)Little Nightmares (8★★★★★★★★) (as watcher): I’ve made my wife play this, a bit every night. Despite the lack of gamer’s finger coordination, she did fine and loved it. We will definitively play the second installment eventually.
  • Offworld Trading Company (7★★★★★★★)(campaign mode): the campaign mode lacks openness and does not add a great story to compensate.
  • Quadrilateral Cowboy (7★★★★★★★): this very quirky game about hacking and programming. Very experimental, both for visual and gameplay.
  • Tell Me Why (8★★★★★★★★): my wife played this game with me. She loved the theme, but she really sucks with the camera controls. We talked about the themes and storylines for weeks. I decided to be by her side to help her play the amazing Life is Strange because she was liking the game but associated it with mental gymnastics to just make the character walk.
  • Tharsis (6★★★★★★): a survival digital board game. We have to manage action points, mitigate bad dice rolls and survive for about 5 turns. Short and agonizing.
  • Watch Dogs 2 (8★★★★★★★★): after playing a couple of Ubisoft open-world games lately (1 FarCry, and 2 Assassin’s Creed in just the last 2 years), I was expecting the same generic main protagonist and blend story. But I genuinely liked this entry. Marcus is a likable dude and despite the exaggerated characterization of hackers, it had several storylines right.

Not finished yet (for one reason or another)

Many projects barely begun. Installed to test, but mostly in limbo—WIP or collecting dust. Unfinished tales of exploration and hesitation.

  • 3 out of 10 Season 2 (7★★★★★★★): the same as the first season. Funny and awkward. About to finish.
  • A Plague Tale Innocence (8★★★★★★★★): beautiful production. Played just the first couple of levels.
  • Assassin’s Creed 3: It’s a big cut scene with some on-rails gameplay. Hated so far. :(
  • Astrologaster (8★★★★★★★★): indie small game. Crazy humor. I liked it very much so far.
  • Blair Witch (7★★★★★★★): did not care much about the lore, but it’s a nice horror game.
  • Black Mesa (8★★★★★★★★): the official/non-official Half-Life 1 remake. The original one I did not play at the time. This remake is superb!
  • Crying Suns (7★★★★★★★): very similar to FTL, with a delightful story and context. My current run is in Chapter 4 and about to finally finish.
  • Doki Doki Literature Club: not my style, but I heard so many good things about it that I’m intrigued.
  • Ghostrunner (7★★★★★★★): 3D puzzle game action game. Think about 3D Super Meat Boy.
  • Gris (8★★★★★★★★): beautiful first level.
  • Heaven’s Vault (7★★★★★★★): highly anticipated game, played a bit and liked the story so far. As far I can tell, there is space for multiple run-throughs to explore all possible branches (not sure if I would do it).
  • Just Cause 4 (7★★★★★★★): repetitive like its predecessor. But it was crashing too many times. Hardly coming back.
  • Observation (7★★★★★★★): excellent storytelling, despite the clunky controls.
  • Overcooked 2 (8★★★★★★★★): my family loved it, and I’m trying to play the campaign with my wife
  • Snake Pass (5★★★★★): 3D puzzle game, installed to play with my nephews, but its controllers, and especially the camera, are too clunky and annoying.
  • Supraland (8★★★★★★★★): from nowhere, this game is surprisingly hard and much longer than I anticipated. Still, I’m loving the sarcastic tone and the bucketload of jokes.
  • Sherlock Holmes: Crimes and Punishments (8★★★★★★★★): the best game in the series. 4 cases with somewhat similar mechanics and styles. Just one to go.
  • The Stillness of the Wind: installed.
  • Unravel Two (8★★★★★★★★): still to finish with my wife. She struggles to use the joystick, but this game is quite forgiving, due to the slow pace. The light story allows infrequent plays.
  • Wilmot s Warehouse: it works. It’s all that I can tell so far.
  • XII: installed, played 2 levels. Unique style but old controls.

Not finished yet (still from previous years)

Yet, there are some games that I did not quit definitively, but they are still to be played (therefore, not yet rated). A few are installed even still.

  • Baba Is You (7★★★★★★★): played some levels. To the second or third “world”, if I remember. SUPER clever.
  • Bad North (7★★★★★★★): nice but I still have to give it more time to shine.
  • Detention (7★★★★★★★): I was far in this indie horror game. I think I formatted the HD and lost the saved game.
  • Else Heart Break: it’s working. It’s all that I know
  • Everspace (6★★★★★★): FTL in 3D. You command a ship that has to fight, explore and trade point to point, in a similar fashion to the famous indie game. I liked it but did not love it. Probably I am not continuing to play.
  • FAR: Lone Sails (5★★★★★): I liked the concept, but I felt lacking.
  • GRID 2 (7★★★★★★★): played A LOT. Top-tier racing games. Beautiful, despite the age.
  • Hand of Fate 2: I liked the first game, despite the flaws. This second installment is more complete at every level. I shall play it. I’ve read the developer closed doors.
  • Kentucky Route Zero: this acclaimed game I was super excited to try.
  • Shadow Tactics (8★★★★★★★★): I really liked the thinking of this game. It’s definitively one that I will try to complete sooner than later.
  • SOMA (6★★★★★★): I haven’t given it time to blossom, but I was not utterly involved either.
  • Subnautica (7★★★★★★★): it took me time to understand the whole open concept. But a saved save was lost, and I’m not in the mood to retry it.
  • Sunless Sea (6★★★★★★). The procedurally generated world is amazing, but this was not my cup of tea. Probably I am not continuing to play.
  • Superhot Mind Control Delete (7★★★★★★★): played several levels already, yet to finish.
  • The Pillars of the Earth: loved the book. I barely started the game, so maybe it should not be here.
  • The Quiet Sleep (8★★★★★★★★): in this weird indie game, you play the internal mind of a troubled guy during 3 scenarios.
  • War of Mine (8★★★★★★★★): I’m far in my third play-through, but I’m still to see the game credits.
  • Witness (7★★★★★★★): quite adorable. Some puzzles are difficult and make you feel smart. Yet, the lack of pressure makes it an eternal secondary game. It’s also difficult to put it in a “continuous play” category because you need to know at what point are you.

Continuous playing

I play them eventually. Most of them are strategy games.

  • A Total War Saga: TROY (8★★★★★★★★): One of the Epic Store exclusives (for a time), it impressed me. I’m about to finish my first campaign, playing the Amazons.
  • Cities Skylines (8★★★★★★★★): After my friend mentioned that he was lost hours and hours designing his hometown, I reinstalled it and started to lose hours and hours too.
  • Democracy 3 (8★★★★★★★★): always in Vogue.
  • Hidden Folks (7★★★★★★★): success with small kids and non-gamers alike
  • RimWorld (8★★★★★★★★): MUCH more complex than Prison Architect, offered a great variety of procedural content. I did not finish a single play-through, but it’s really special.
  • Rome Total War (8★★★★★★★★): I played a lot last year. But it’s quite a long game. Once I finish it once, I might close it once and for all. The Troy is heavier but ultimately better in every aspect.
  • Scythe (9★★★★★★★★★): the award-winning board game that I still have to give a beginning-to-end match.
  • Stelaris (7★★★★★★★): slow-paced super broad space strategy. The sense of exploration is still amazing
  • Surviving Mars (7★★★★★★★): a loved board game that I played a couple of matches solo. I was not hooked, but I may still give it another try.
  • Ticket to Ride (9★★★★★★★★★): played online with family and friends. Always a success.
  • Wingspan (9★★★★★★★★★): immediate success with my family and friends. Special mention to my 6-year-old nephew’s comment: “It’s the best game I ever played”. He was assisted and played quite well.

Next games on my radar

Finally, here is a list of games that I already have in my collection that I plan to play in the next months.

  • Hitman: I’ve never finished Contracts, but just because I was obsessed with being perfect. I hope to play more relaxed this one.
  • Assassin’s Creed Syndicate: hope to be better than the 3.
  • Deus Ex: Mankind Divided (7★★★★★★★): liked the first title, Deus Ex: Human Revolution (8★★★★★★★★). I hope to like this one too.
  • We Are There Together: I bought to play with my wife using the family feature on Steam (she shares all my games). However, it is not included in the Play Together, so I am required to buy it twice. 😐 Trying to convince another soul to play with me.
  • Heavy Rain: I will play this critically acclaimed story-driven game from Quantic Dream with my wife.
  • Beyond: Two Souls (8★★★★★★★★): another story to play accompanied.
2021.12.31

Movie List 2021

Just a list of movies that I’ve seen this pandemic year.

  1. Be Kind Rewind
  2. Best in Show
  3. Borat
  4. Borat Subsequent Movie
  5. Bridesmaids
  6. Coming 2 America
  7. Cruela
  8. Don’t Look Up
  9. Enola Holmes
  10. I Care a Log
  11. I’m Thinking of Ending Things
  12. Incendies
  13. Judas and the Black Messiah
  14. Lady and the Tramp
  15. Last Knights
  16. Live Twice, Love Once
  17. Mank
  18. Minari
  19. News of the World
  20. Okja
  21. Radioactive
  22. Roma
  23. Shadow
  24. Sound of Metal
  25. Sound of Silence
  26. The Chamber
  27. The Dig
  28. The Father
  29. The Informer
  30. The King
  31. The Midnight Sky
  32. The Trial of the Chicago 7
  33. Us
  34. Wasp Network
  35. White Tiger

Documentary

  1. American Factory
  2. Honeyland

Animations

  1. A Cat in Paris
  2. Luca
  3. Soul
  4. Your name

Shows

  1. Loki (S1)
  2. Mandalorian (S1, S2)
  3. Morning Show (S1)
  4. Queen’s Gambit (S1)
  5. Ted Lasso (S1 S2)
  6. The Spy (S1)
  7. This is Us (S1)
  8. Tiger King (S1)
2021.11.11

GitOps Lifestyle Conversion

I’m currently fascinated with GitLab’s handbooks. I heard of companies trying to be more open to the public, but the extent that GitLab is doing is unprecedented. They are documenting everything publicly. Most, if not all, internal processes are getting written for everyone to see.

  • How we admit new people? It’s there.
  • How and when do employees are bonuses? It’s there too.
  • What is the ERP used? It’s there.
  • In fact, what is the whole list of external software and service used? It’s there too.
  • The scripts used to manage their own site? They are there too.
  • Personal information, like employees’ actual salaries? Of course, they are not there.

Too much information? Maybe. But it’s definitively inspiring.

Another source of personal inspiration comes from a guy on Twitter: Keijiro Takahashi. This Japanese programmer does several mini-tools for himself but publishes everything on GitHub with minimalist licenses like MIT.

In contrast, I was checking my LinkedIn the other day when I decided to share my GitLab and GitHub accounts. There are so many projects over there. #ButNot. Most, almost all, were private! Many game prototypes, and small side projects. All locked. Some are live backups since are not been updated for ages. So I decided to do a couple of things:

  1. Open some of the closed projects
  2. Git-fy some of my personal and professional projects
  3. Documentation as code for my new company

The first is pretty straightforward. Mostly checking a box. Sometimes adding small README or LICENSE files. Few times making real changes.

The second is a new mindset: I have dozens of small projects, from games to personal scripts, that I’ve never used git to track changes. But not only I could get better control of it, but also I could share it with the world. You will see more and more projects popping up on my GitLab account page.

The third, follow partially GitLab’s way. I’m considering documenting most of the processes in git-like wikis. It will not only be good to share the knowledge with other employees and partners. It’s also good for tracking the business decisions that changed these processes. A rather clever approach.

2021.10.18

Certification and Credibility

Can you prove what you claim?

Do you fully trust the media, banks, or advertisements? I bet you don’t. And you shouldn’t. Not blindly. Trusting is a very delicate matter.

By living in a society you are required to trust other people. That’s the way to share the responsibilities. Each individual does a thing for another. You simply have to give a bit of trust in others. If not if we should trust, the problem lies in how.

Source of Trust

The primary source of trust is the individuals themselves. You gain trust by living and presenting reliable results. It takes time.

Governments, on the other hand, use the power of law to reinforce what they want to be believed. They issue money, and certificates, documents and they all MUST be accepted as they were the truth. What makes you believe that a $100 bill is worth the $100? Simple: the law says it so!

If you need to be trusted but do not have the time to gain it organically nor cannot “fabricate” the trust? The solution lies on an already trusted third party vouching, a…

Certification

Someone that you trust can vouch, and give their word, for another one. That works like a web of trust. I trust my mom, that trusts her old friend. So, I might trust her too.

Language and professional certifications are the most common form. Several institutes, for a very diverse range of fields, can issue a certificate saying that you are good as you claim. Proficiency in Mandarin? Project management? Someone can certify that you master it.

Double Agent

Certification agents must be impartial, and indifferent to your success derived from the certification, otherwise, they might be incentivized to lie for you. It breaks the whole point of the certification as source of the trust.

  • Accounting firms hired to validate a client company’s financial health might be interested in lying. The at-the-time famous Arthur Andersen participated in a giant fraud stating that its client’s, Enron, finances were ok. Enron bankrupted months later and AA was suited and had to split into two companies.
  • The 2008 financial crisis also can be attributed to rating companies, which stated that several risky bonds were good and risk-free. They help clients to sell them to others, profiting from lying.
  • Some colleges graduate their students even when they have really bad grades. Flooding the market with awful professionals, it becomes impossible to assert which one is good and which one is bad.

There are several good certification institutes. But these authorities have to be constantly monitored. Also, their processes have to be constantly certified, creating a big process of checks and balances.

It’s a worthwhile initiative for the whole of society.

This post was originally written on 2015-11-05. But was in draft mode by mistake for all these years.

Bruno MASSA