Day 115: Today worked on one task only. And I didn’t even finish it. But in my defense, it’s a big task. I’m writing this “early” (it’s already 17:40) today, so that I have some time left to finish my job application. You know the thing that deleted all my data yesterday… Oh and the same thing happened with a cat sitting form today. Seriously is it so hard to detect that the session is outdated and warn me instead of deleting EVERYTHING?
Daily interesting stuff:
Reddit post, what’s the best reason to make a game. It’s actually much more down to earth than I thought. It’s like what’s best so I can not give up in the middle of it.
Reddit post, protecting my Unity game from piracy. It quickly turned into a discussion about why DRM is not really cool.
Reddit post, “I’m afraid to show my game”. This post completely blew up. It has 494 up points and 185 responses. I don’t know why. Maybe it’s because it’s an easy situation to relate to?
Tasks done:
Looked at the upcoming Unity version. In the roadmap, it says that the 5.6 version will be out in march. It also states that there’s a big update on the NavMesh. There’s a whole new API, and a low level functionality. What’s particularly interesting is that there will be the possibility to rotate the navmesh. This potentially mean 2D! So I looked into it in more details. It turns out that it’ll be possible to use it for 2D. But it’s not made for. So it might require some work (and hacks) to make it work. That made me want to wait for the 5.6 update to rework the AI.
Searched some Input system in the asset store. Of course I wanted something free. The first asset I downloaded was promising. But unfortunately it hasn’t been updated for 2 years. And it’s incompatible with the version I use. The second was compatible. But then I looked at the source code and I found it trivial and badly done. It’s just a lot of “switch” to ease the use of the current Input system. So I thought I could do better.
Analyzed the need I have for the input system. I need to have rebind-able keys. I need to treat gamepad triggers has buttons (instead of axis). I need manage gamepad and fallback to keyboard when there’s no gamepad. And I need to save the input configuration so that it persists through play sessions.
Worked on my custom Input system. It turned out to be more challenging than I thought. But it was super interesting to make. At the end of the day I have a good working system. It handles binding keys or axis to actions. You can rebind inputs easily (even if there’s no UI for it yet). It also saves the binds and load them at the start of the game. It’s not over yet though. It stills misses the UI to let the player rebind. It’s still not used in the game code, which relies on the regular Input system for now. Finally, I don’t have custom axis yet. In Unity axis are used for movement, it’s a value range instead of just 0 or 1. I thought I wouldn’t need to handle axis and that I could use the regular implementation. But the keyboard move is an axis and I want it to be rebind-able. Doing this tool was challenging because the default Unity system is really basic. You don’t have access to anything. It’s quite frustrating. For example to detect the keys, I have to iterate over all the possible key code and test each one to see if it’s down… Worse to check for the gamepad triggers, I had to set up fake axis in the Unity input system so that I can detect those values…
Responded in slack to an artist that asked me to confirm the link to the asset list. I did that, then I upgraded the file to include a column so that they can assign themselves to any asset. I also forgot to give them write rights over the file. So I did that too.
0 comments