Celestial Intervention. Development Blog.2


Unfortunately, IRL took longer than usual, but i still have a small list of changes that you might find interesting

- decided to leave the idea of dynamic economy. After a few tests it became clear that even balancing a few trade NPCs becomes a difficult task. Sooner or later one NPC either gets too much money, or vice versa - too little, even without interference in its work. Important clarification that the idea with NPC to NPC and player interaction remains, but will be done differently:

  • the dependence of NPCs on each other will remain, but on a simpler level. NPCs that could sell resources to other NPCs will receive a __supply variable, which will depend on the availability of that NPC's items at the end of the day. if __supply = 0, then the dependent NPC will not generate its items;
  • based on the past. basic NPC item generation will remain at a simple level where, when supplies are available, the NPC will simply generate a random set of items from a list of possible items and update it the next day without calculating each item separately;
  • regardless, special or key items will have their own generation system. i`ll not go into a long explanation, but just give an example. e.g. an arms dealer can make a unique sword, but for this the player needs to find a unique metal, sell this metal to the NPC metal supplier and after a while, the NPC arms dealer will create this sword and put it on sale;
  • player's actions will still have an effect on NPCs, but in a simpler way. e.g. stealing from a merchant's warehouses will indeed leave him without goods, but it will affect the ability to generate them, etc;

- selection system has changed. Previously, moving through locations, selecting characters to talk to or items to use was done using the normal renpy menu. All this functions have been rewritten to pop-up windows.

the reason for this was the realization that the renpy selection menu simply does not meet the technical requirements of the project. in addition, over time it will be possible to make more beautiful choices than just text (adding portraits of NPCs, icons of items, an interactive map on which the player can literally see location). But most importantly, the menu now allows to add an infinite number of choices. before everything was limited by the literal height of the player's monitor;

- code unification. i'm slowly coming around to unifying the code and fixing as many legacy elements as possible:

  • there is now only one available opponent for any combat in the game. Combat in the game is divided into two components. Stats and attack sets. Enemy stats work on variables and take up space in the RAM. for optimization, the game will simply put the necessary enemy stats into the common list before starting a combat. NPC attacks, skills and replicas during battle will remain unique to every enemy;
  • changing clothes, eating, and other functions are now unified into a single list that is called by the game when they are required;

- lastly, a very simple change. even now there are a lot of different statuses and other things available in the game. now, the player will receive a notification on the screen after changing the status of the character with an indication of what has changed; and an icon of an unread message at the Index menu after opening a new article.

Get Celestial Intervention 0.04a Public Build

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

Will the pop up windows be movable, or will be be able to hide them / bring them forward/back?

How does the game "call" those things, or rather detect when to call them? It sounds like you're saying it's automatic.

(+1)

About the windows. I don`t suppose it`s possible to move them around the screen (but this function is feasible). At the moment i`ve two variants of this window



I'm more inclined towards the first variant. The second one has a bar showing the timer before the automatic closing, but i still need to find a better solution for that. If i can do it in a simple way - automatic closing will be available.

The name of the status is written in large text. Below is a brief description of the changed status. Yellow text about important information, for example: critical stat changes, increased chance of encounter, etc.

About how the game calls on functions. The structure of any Ren`Py game is built on labels. Each label can display images, music, windows, text, and more. 

Let's take clothing changes as an example. We're at the location label where we are now. By selecting "Wardrobe", we are taken to the clothes changing label for this location, which has only text about how Tessa changes clothes and call the wardrobe function.

Wardrobe function contains only the character's output in a larger scale, clothing selection and changing the character's status depending on her clothes. When you finish selecting clothes, the game returns to the previous label, from where, after the text about completing the dressing, it returns to the selection label
So it works like this:
selection > dressing > clothing change window > dressing > selection. 

To the player, it looks normal. To the game, it looks like the player has moved between locations and then returned to where he started.


I hope i`ve answered the question as detailed as possible <3 I'll also try to take more screenshots for future devblogs/release posts. I realize that images and text are much better than just text