9 June 2024 - Full version news update

Descent from Arkov's Tower

Highly moddable retro roguelike. Descend from Arkov's Tower - or die trying!

[h1]Workshop support[/h1] I've been looking forward to announcing that the full version will support workshop mods. This will make it easy to install and download mods. [h1]What can be modded?[/h1] If you have already played around with modding the prologue, you know that you can already mod conversations, graphics, items, enemy stats and much more in the prologue. Below you can see an extensive list of what will be possible in the full version: [h2]Level editing[/h2] - Change which enemies/objects/NPCs are in which level - Define which generator should be used (see next section) [h2]Scripts own level generators[/h2] Descent from Arkov's Tower allows you to script your own generators. A generator takes a ‘level definition’ (e.g. size, number of enemies, list of objects like NPC's, crates, traps...) and generates a level based on the scripted logic. You can use all kinds of algorithms that are used in game programming (e.g. [space partic](https://de.wikipedia.org/wiki/Binary_Space_Partitioning), [Perlin noise](https://en.wikipedia.org/wiki/Perlin_noise)), but alternatively you could simply define a script that generates the same level on every run. The possibilities are almost unlimited. The full version will contain at least 2 predefined level generators which will be available as examples in each initially created mod. [h2]Scripts the behaviour of enemies[/h2] ‘Enemy Behaviours’ describe how an enemy should behave. These can be assigned to enemies instead of the default ‘Mele’ behaviour. They define how an enemy finds the player, when and how he attacks, which weapon he uses and so on. With these scripts you can create new combat challenges for the player. [h2]Scripts Weapons and ItemTypes[/h2] Create new ItemTypes and define what happens when you use them. Examples from the existing game are: 1. ranged weapons 2. ‘MultiTile Weapons’ These weapons attack multiple enemies at the same time 3. healing items (status effects are also moddable) 4. poisoning items 5. keys 6. cards 7. torches -> not yet in the game, may be added to the full version) [h2]Scripts own level/map objects (eng. Map Objects)[/h2] ‘Map Objects’ describe objects that embellish levels or objects with which the player and or opponents can interact. Some examples are listed below: 1. chests 2. statues 3. fire bowls (alg. lighting elements) 4. doors 5. traps 6. teleporters 7. ... [h2]Scripts own level/map objects (eng. Map Objects)[/h2] ‘Map Objects’ describe objects that embellish levels or objects with which the player and or opponents can interact. Some examples are listed below: 1. crates 2. statues 3. fire bowls (alg. lighting elements) 4. doors 5. traps 6. teleporters 7. ... [h2]Events and actions[/h2] ‘Events and Actions’ are used to change the game environment “if X (Event) then Y (Action)”. E.g. IF the player speaks to Vokra about rats THEN the quest ‘Kill 3 rats’ is triggered. Events and actions are mostly used in combination with dialogues, but can also be used for other use cases. For example, if the player has stepped on the pressure plate 3 times then spawn a ghost. (This can be solved in exactly the same way with a map object, there are always several ways to solve something). Examples of this are 1. trading 2. heal 3. attack players when a certain dialogue option is triggered 4. display dialogue options only if the player has >= 3 apples in the bag, for example [h2]Hooks[/h2] ‘Hooks’ are scripts that are activated at a certain point in time, e.g. - When the game is started - When the menu is displayed - When the player spawns in the level - When an opponent dies - When the player dies - etc These scripts can be used in many ways [h2]And so much more[/h2] The flexible way I have integrated scripts into the game allows you to be very creative. In principle, you can programme your own roguelike with these scripts. It would also be conceivable to script smaller turnbased RPG's, then you have to try out how far and complex you can get before FPS and performance decreases ;-).