DOMEN KONESKI, ANDREJ KREBS, MITO HORVAT
Dungeons will serve as a point in the gameplay cycle where you can stop exploring and surviving in the world. You can challenge yourself in a procedurally generated fully-closed area full of enemy NPCs. You will get rewards with rare loot at the end of a dungeon by encountering a final boss or doing a certain task. There will be a lot of dungeon types, for now we are sticking with cave-like dungeons.
To break the monotony of icon creation, Mito and Andrej were given a task to research and create cave tiles for the dungeon generator. Mito did some quick concept sketches of various elements, from cave entrances to cave assets and different tile shapes. We even ordered clay and played around with actual sculpting of cave assets to have a better visualization. Mito’s next task is to thoroughly research the assets we’d want to put in the caves, such as different rock shapes and sizes, mushrooms, crystal veins etc.
Domen started working on a procedural algorithm that spawns a random set of rooms (using tiles) which are connected with corridors. He will go more in depth about this algorithm in the next technical blog post. To give you a preview this is how it works – algorithm generates a right tile in a right direction and it makes sure that every room is connected with a previous one so there are zero dead ends or unreachable rooms.
Furthermore, this is how it looks inside with prototyping tiles and with work-in-progress real cave tiles. We still need to polish tile connection points, ambient lightning, fog and overall looks for caves (more tile variety, different kind of rooms and so forth).
Andrej is working hard to create unique tiles so we can create the best atmosphere in the caves. You will access a dungeon by using its entrance in the upper world. Here is an in-game example of the entrance that spawns randomly in the world (bigger islands will have more dungeons).
This week I made the animations for the shotgun and also added some more animations for all the other weapons. We needed them for walking, running and when the player is close to the wall and pulls his weapon closer. Before we just rendered it on a separate layer so the weapons wouldn’t clip into the environment. This just makes it more believable.
I’ve revamped the resource gathering system and implemented a better one which uses Vili’s proximity sensors and new particle system. You can now mine different type of veins and chop down trees. Everything is then connected with an inventory system which also works flawlessly. Eventually we will also implement resource gathering as part of the crafting system, soon to come!
Placement test function
I created something interesting: a function that checks if 3D mesh object is colliding with world – other 3D meshes and primitives. The hard part is to check if your 3Dmesh is inside another one and their walls/triangles aren’t colliding. This is important because Unitys Physics.OverlapBox doesn’t return other 3D mesh.
Finally I was able to do it. The reason being we always do topologically closed 3D mesh colliders and I made my own special functions. In any case, the finished product acts like this:
Join us on Discord