A big one
As said in the title, this page will be entirely devoted to a Devlog. I am currently working on a game alongside my studies. And this game, I want it to become big. Really big. And on top of being big, I want to permanently work on it. Because unlike other projects on this portfolio, this time I believe I have reached a good-enough level to create in a sturdy way what's on my mind.
Now that the introduction is done, it's time to get into it.
The main battle mode will be a 1vs1 (at first) where each player has to destroy the enemy's base beyond a certain threshold.
The view will be a top-down view.
It's all about trying to mimic real life interactions. The player has one goal, and he can do whatever he wants to achieve it.
The great thing about a high-interactive world is that you can create several game modes without THAT much work. Because once you're done with the programming, you can add a game mode into which you have to drag an item (or carry it) from point A to B and protect it. It wouldn't take long to do since everything would have already been programmed.
Before diving preemptively into the programming It's good to think that since the game will be about the high-interactivity with the world, the programming will have to be as modular as possible.
And for the online part, I won't be working with plugins such as Photon or Unet since I planned on releasing the game on the large scale. And those plugins offer host-based multiplayer. Since I want to learn how to create server-based multiplayer, I will be doing my own system from scratch.
I first started working offline using Unity. I created the base for a modular interaction system :
On the left, you can see me grabbing an object with the mouse cursor. While on the right, I grab an object with the player as if the player had an arm.
The interaction system is composed as so : (These are the scripts of the right gif above)
I'm gonna explain how does it work.
All the scripts can interpreted as such : "When I'm within range of the object, a Text is shown, and If I'm within range AND press the E key, the object is grabbed by the player" (The E key comes from my home made custom key binding profile)
And now I can change any of those script such as instead of grabbing the object, it explodes, and instead of showing a text, it turns green. Very modular!
Here, nothing really interesting, I added the inventory system. I haven't yet put all the shortcuts in-inventory like in Minecraft but most of them are already implemented. Whenever a Chest or any object that contains an inventory is opened, both the player's inventory and the object's inventory are put side by side.
I don't show it in the gif but the inventory layout and the programming behind are so, during the game, the player can add slots to the inventory via items such as a bag.
Well this one is gonna be quick and except the sniper bullet that seems to be stopped in time there isn't anything interesting. (I was too lazy to fix it)