s
Blogs
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:
So for the past months, I tried to play with several options. Notably:
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:
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.
After a week that I’m playing with it. Some thoughts:
👎 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.
😐 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.
👍 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.
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.
Most of them I barely started. Just to check the general flow or if it was working at all. Some It’s WIP. Few are collecting dust.
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.
I play them eventually. Most of them are strategy games.
Finally, here is a list of games that I already have in my collection that I plan to play in the next months.
Just a list of movies that I’ve seen this pandemic year.
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.
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:
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.
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.
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…
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.
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.
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.