// From Bomberman To Umai. ^^
I decided to make Bomberman, a game that reminds me of my childhood and was apparently easy to create with the naked eye.
But it turned out to be much more complex than I expected, collision mechanics that don’t work or can’t be done in arcade.makecode.
I felt very frustrated in not having anything solid finished, the basic mechanics of the game I could not create.
Since I didn’t know exactly how to get the exact collisions I used a way to trace my character’s position in real time.
I found on the internet that precisely in arcade.makecode there is a bug, where exactly was my problem. And apparently nobody has been able to solve it. The problem comes from the collision between Sprites(Projectiles) and Tales(Wall). When a Sprite is emitted from the player position, if the player is near Tale(wall), the projectile is not generated. Although the Wall Function is Off.
Why is this a problem?
Because bomberman has to put bombs close to the walls to break them. but when put close they are not generated.
Another problem I found was how to edit the walls when the explosion touches them.
After hours and hours of trying to put the game mechanics to work I have to say that I have surrendered… but here we welcome Umai. A small and intrepid adventurer with a mission!
I created a simple game, in which I distribute the objects through several loops depending on the colors of the Tile map, I have achieved that the player can not jump eternally putting a “If Sprite = Not in wall“, to code because it did not allow me the puzzle.
The function that I have taught the most time I could say that it is “to kill and not be killed” by the puppies.
Simple if to dont permit our character fly.
After all this I think I’ll start to understand better how maps and characters are generated in a game in a more automated way thanks to Loops and Arrays, this way I can generate many different maps with the same material.
And thas also to kill the player if go down the holes in the map, And the Win condition.
As a lesson from this work I have come to the conclusion that not everything is as easy as it seems. And it takes a lot of time and clarity to create a game in a decent and effective way. Sometimes it’s better to change your objective if you’re not solving it than to frustrate yourself in something that will cost you too much time and energy. Equally everything is learned. And I take with me many constructions of learned mechanics.