Most of the past week I spent on improving the algorithm for generating levels and arranging ladders, because earlier the algorithm was puting too many ladders(redundancy), while periodically was not puting them in the right place, and thus the hero was'nt able to reach some areas (and this is a pure bug). At the moment, after long and hard tests, I can say with 90% certainty that the redundancy has been eliminated, as well as a bug with missing ladders.
In addition to the ladders, it was important to write an algorithm for the location of the hero, NPC and objects on the map in such a way that the hero was not killed in the first second, that there were enough enemies, but not in excess, and also that it was interesting to go over the level and look into hidden corners. Such an algorithm is written, and at the moment it is doing his job well.
So, on this week I've done next:
1. Information on chests (open and closed), as well as on closed doors, has been added to the level generation algorithm.
2. Also added information about traps to the generating levels algorithm. It is supposed to use 3 types of traps - floor (underground), wall and ceiling, and, accordingly, several models for each type.
3. The integration of the two-legged rat is completed - it walks, it shoots, turns its back and (due to the shield) does not perceive damage from behind.
4. A flamethrower has been introduced into the game. This type of weapon will be available only to the Heavy class.
5. The speed of the shooting animation is adjusted so as to match the speed of firing.
6. Improved algorithm for generating levels and arranging ladders
7. An algorithm for arranging objects on level is written.
8. The “spikes” trap has been redrawn in order to match the current “style” of the game.
And so the week passed - in the battle with bugs and rewriting algorithms. Next week I really hope to release a demo version, which will be available immediately on Steam, IndieDB and, most likely, on Itch.io, so that everyone who is interested could get and play current game build. Accordingly, after finishing work on the demo version, I am going to start work on the mod support and the quest system.
I think it's worth mentioning how I'm going to support the mods. Because the game is developed with Unity, I have two options - to be tied to Unity from and to, that is, provide support for mods based on asset bundles, or write a system independent from the engine. I am more attracted to the second option. But, there is one thing. To support a change in behavior, it is necessary to implement, either use an interpreter of a certain scripting language, or load a dll of a certain format, and in what language the program included in the dll is written is not so important. In the case of using the interpreter, I think that the scripting language will be LUA, since its implementation for Unity is publicly available. Please write in the comments which mod supporting system type seems more convenient to you?
That's all, thank you for reading, and until next week!