Português English

Blogs

Godot Jam Review feature
2022.02.10

Godot Jam Review

At the beginning of the year, I posted about the retrial of Godot, the most popular free and open-source game engine around.

I’ve posted some pros and cons at the time. I then decided to enter into a JAM to motivate myself to try to use it myself for a real complete project. Even if it is a jam-like game.

Now it’s time to write a review the whole process.

TLDR: I failed to complete the game. I tried to create a pipeline to build a nightly version for the latest version, with C# support. It is partially running ok.

Bootstrapping

The Jam theme was “ocean”. Bonus points if:

  1. All sounds in-game are made with your mouth(s)
  2. Include a fishing mini-game
  3. Include your favorite quote or pun in-game

So I started. As previously said, I’ve planned to implement an old game of mine as the main game. The advantage was that I knew what was needed and the general need. Another plus was the fact that the game was abstract, so I could save a lot of resources and time on the presentation. And by doing the sound effects with the mouth, I could neglect this front until the end.

For the mini-game, I looked for a small board game that I could easily implement in digital form. After some research, I settled with Leaky Boat, a fast-paced pen-and-paper game with dice.

So I started to code. But the problems with the C# integration were getting on my nerves. Godot editor crashed more than 30 times on the very first night of coding. It was not blocking the path, but it was making it very, very difficult.

New Version from Scratch

As a potential solution, I checked if the undergoing development of Godot 4 (I was using the “stable” version of Godot 3.5) had any nightly build available. I’ve found a guy that was creating these nightly builds! But only the original non-C# version. The repository was open, so I checked if anything was possible to salvage. Not much.

So, as a detour, I decided to build a pipeline on GitLab that would compile the source code and build it. Eventually, I would schedule it to run every night. However, the process of creating a build pipeline online is very tedious and laborious: on every change, I had to run online. In the case of Godot, trigger the code compilation to eventually discover that 30 min the build started, it failed due to some dependency on the build stack was not fun. It took me a whole day to spend my CPU quota doing this.

So, as a second detour, I decided to host a local GitLab instance on my computer. It would allow me to develop the pipeline itself. Once ok, I would migrate back to the online service. It took me 2 days to set this. I first decided to go with local Kubernetes, but it was getting too complicated. Then I migrated to a solution that I am more familiar with: Docker-compose inside a virtual machine. I created it inside VirtualBox (instead of KVM) because I planned to reuse it when I decided to use Windows.

Downloading and building several docker images takes a lot of space! I had to resize the VMs to a much bigger size than originally planned to accommodate a dozen images created/downloaded.

The plan was to create a helper image with all the tools needed to compile the code with or without C#, host/register inside GitLab itself, and reuse it in the main pipeline. This step was working fine, but the actual build was failing time after time.

To check if the steps were right, I decided to compile them inside my machine. I did not want this to not pollute my pc. But worked. Since I “wasted” a couple of days on this detour, I decided to use this local compilation in my project again.

New Version, Old Problems

Godot 4 renamed various of its classes. Also, it changed countless small things internally, and it took me a couple of hours to migrate to the new environment. The good thing is that I did not have much to convert. Done. And the game was working the same as before.

Now it was time to continue the development. But the problems continue the same way: the editor was crashing time after time. I managed to make both the game and the mini-game functional, but with restrictions. The pace was slow because I had to investigate the way of doing things all the time. And the documentation was definitively not comprehensive for C# users.

After 5 days, I gave up. 😞 I could theoretically finish the game in a certain state, but I decided to focus my attention on other projects instead. I might try to go with this engine later in the future, but for now, I will return to Unity until I finish one of my projects.

A couple of days after the end of the jam, Godot 4 alpha 1 was released. I still think that, if the devs do not provide a nightly version by themselves, my project has some space.


Despite the failure, I’ve learned a lot about Godot, GitLab, and Kubernetes. Especially, the latter two. I will use it in the future for sure, so I do not feel the pressure of failure.

All the code, even incomplete, is open-source in my GitLab profile.

Also, they are organizing a Jam every month. I can reuse all to the new jam, for certain.

Star Wars: Jedi: Fallen Order feature
2022.01.31

Star Wars: Jedi: Fallen Order

Star Wars: Jedi: Fallen Order is a mouthful sub-titled titled title. I don’t particularly like this cascading naming convention, but it’s rather common in big franchises. Harry Potter, Jurassic Park, and Pokémon all suffer from this.

So, EA published another Star Wars game. The default expectation is a TRASH game loop with microtransactions and paid loot. Battlefront 2 and FIFA will not let me lie…

But this one was… good!

I got it “for free” in the Amazon Prime deal. My original intention was to get both “free” shipping and streaming service for a fixed and low monthly fee. But they do give some video games for free too. And they are eventually good games. After activation in the yet-another-game-launcher Origin launcher, I decided to give it a try.

TLDR: it has all the mediocre elements of recent games. But the visuals and gameplay hooked me. I liked it very much.

How to parry in star wars jedi fallen order feature.jpg

Characters

The main protagonist is bland. Another white impetuous generic dude. The amnesia trope was also employed here. The guy, once fully skilled, now have to relearn everything.

The companions, however, are much more varied. They are never very relevant to the plot, nor do we participate in their journeys, but they add a great flavor to the story. Particularly the pilot Greez: funny, warm-hearted but scared little creature. And, of course, your droid companion. The villains are good. Some are visually memorable like the Ninth Sister. Some are, like Malicos, those type that appears, brags, and dies. Next.

The general assortment of goons is the stars of the show. From low-rank troopers to big machines, monsters, and fallen Jedis, the list is varied throughout the whole game. They provoke fear and anxiety and relaxation. They generally do not talk or express any particular personality, but all portray a very specific role.

The appearance of iconic characters is definitively a high point to mention. But no spoilers here.

Fallen order dathomir.jpg

Visuals

Not much to add beyond what you can see in screenshots and trailers. The game is gorgeous. EA at least has to be praised in this regard: despite being bad games, all recent SW games are visually stunning. Squadrons, another Amazon free game that I’m still playing, is also amazing.

Gameplay

The main core loop is great. In the Metroidvania style, maps are presented but inaccessible until the player acquires some special ability. It implies that, when acquired, the player must revisit the same areas over and over again. There is a kind of fast travel mechanism, but the travel points are sparse and will still require some time traversing.

The combat is challenging. Being a Jedi presupposes being a god-like fighter. The game gives the player enough abilities to make one feel powerful but not overpowering. Even on late levels, it’s possible to lose health fighting goons. Health is important to face bosses and harder enemies.

Boss encounters do not change the general gameplay in any big way, which is a plus. You fight using the same muscle memory developed until it. There is always the annoying pre-cutscene that will be played over and over if you die a lot in these fights.

Visiting 5 different planets gives the scenery a great variation, even being particularly different regarding the traversal challenges. Ice planet, fire planet, vegetation planet, futurist planet/installation, underground… And all are beautiful to look at.

Star wars jedi fallen order review 9.jpg

Final

I got it for free, but I would pay for it if necessary. The game is fun, front and foremost. The story is a bit lacking, and the protagonist is definitively lacking but when I finished, I even tried to complete some extra objectives to extend the experience.

My Rating: 8★★★★★★★★
Metacritic: 81
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.

Game List 2021 feature
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)
Bruno MASSA