Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Kentro

9
Posts
1
Topics
A member registered Apr 18, 2024

Recent community posts

(1 edit)

Ok, after some trial and error, i even found a combination of filters, that allow Krita automatically to create those masks for me - as in, i just need to drag in a background image and the image, i want to get the difference as an overlay, and it now automatically cuts out this area (thanks to the difference filter as fist step), then a recoloring filter recolors those differences to a black and white mask, then a clone of the image from which i want the difference is multiplied with that black and white mask, to get the color of this area, and the rest stays pure black. And the last step was just a filter to convert a defined color (black in my case) to transparency. or maybe change the order, so that you already convert the black and white mask to transparent and white, then multiply that with the color - that way even black in the difference will be kept and not accidently converted to transparency.
Now its just dragging in images and saving the result as a new overlay for background images.
I have tested it with some of your images, all in all was able to reduce the size by half for those, granted that i had no clean backgorund and needed to cover old chars too.
Your biggest problem is, that many images do indeed have slight camera movements, which ruin this, but there are still enough images, where just the chars poses change (and some anti aliasing "errors"), for which this still can make a significant difference.

(4 edits)

Doesn´t Photoshop has those "Difference" filters, that show you the difference between the background layer and the next layer in colors? Black areas are then the same color as the background = no change, and every color other than black is a different color than the background has (and this would catch shadows too).
I just have Krita, and there they exist too, but my lack of XP with Krita hinders me in converting this difference layer then to a simple black and white filter mask, that you could use as to cut out the affected area for overlays.
But if you render out the pure background images, that you know will be used more often, then you could use them against those scenes, where different chars appear, and the diference layer should automatically give you the affected area, which you could use for overlays.

An example image of Kritas Difference filter at work:

(1 edit)

This game is really funny :) BUT the size is insane ^.^ You can save plenty of Gigabytes, if you start using layers, and composite images (i was curious and extracted your images to see, what was going on there). Most scenes use the very same background, and only a tiny area changes, where a character stands, or even just blinks with his eyes. So instead of making a full sized color image for every little change, you can render out the background image, and then use masks for the characters, so that you can add them as a new layer ontop of the background image.
If you want see a game, that uses this method to save a lot on diskspace, then you can take a look at "Welcum to the city", and how its images are split, and get combined in the game for the final image. :)

(2 edits)

I have, and thats not good, because it brings me a little bit too far into the story. From what i can see, my old saves were some quests before this new entry point, not too far, but far enough to miss out of some seemingly crucial story events (and there is a girl available, Neon, which i do not recognize).
So if i cannot get the savegame running, i pretty much have to restart from scratch, just to not miss out on some important story parts :/
And ignoring that error just doesn´t work, like the other user already mentioned.

Out of curiosity, i have seen the kitchen, the livingrooom, the bedroom and entrance and several other parts of the house and outdoor places in atleast two other games. I just wonder, what was the original game or asset pack, where those assets come from? :)

Hello there, with your newest update to 0.92, all my previous saves don´t work anymore, even those made with 0.91 (have also tried saves from 0.90 and 0.89). The error says this:

I'm sorry, but an uncaught exception occurred.

While running game code:

  File "renpy/common/00action_file.rpy", line 498, in __call__

    renpy.load(fn)

AttributeError: Can't get attribute 'readyCallback' on <renpy.python.StoreModule object at 0x0000000009b96220>

-- Full Traceback ------------------------------------------------------------

Full traceback:

  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script

    python hide:

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\ast.py", line 823, in execute

    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\python.py", line 1178, in py_exec_bytecode

    exec(bytecode, globals, locals)

  File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module>

    python hide:

  File "renpy/common/_layout/screen_main_menu.rpym", line 35, in _execute_python_hide

    ui.interact()

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\ui.py", line 301, in interact

    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\core.py", line 2165, in interact

    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\core.py", line 3201, in interact_core

    rv = root_widget.event(ev, x, y, 0)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\layout.py", line 1202, in event

    rv = i.event(ev, x - xo, y - yo, cst)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\transition.py", line 53, in event

    return self.new_widget.event(ev, x, y, st) # E1101

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\layout.py", line 1202, in event

    rv = i.event(ev, x - xo, y - yo, cst)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\layout.py", line 1202, in event

    rv = i.event(ev, x - xo, y - yo, cst)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\screen.py", line 793, in event

    rv = self.child.event(ev, x, y, st)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\layout.py", line 1202, in event

    rv = i.event(ev, x - xo, y - yo, cst)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\layout.py", line 1426, in event

    rv = super(Window, self).event(ev, x, y, st)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\layout.py", line 288, in event

    rv = d.event(ev, x - xo, y - yo, st)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\layout.py", line 1202, in event

    rv = i.event(ev, x - xo, y - yo, cst)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\layout.py", line 1426, in event

    rv = super(Window, self).event(ev, x, y, st)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\layout.py", line 288, in event

    rv = d.event(ev, x - xo, y - yo, st)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\layout.py", line 1202, in event

    rv = i.event(ev, x - xo, y - yo, cst)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\layout.py", line 288, in event

    rv = d.event(ev, x - xo, y - yo, st)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\behavior.py", line 1174, in event

    return handle_click(self.clicked)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\behavior.py", line 1095, in handle_click

    rv = run(action)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\display\behavior.py", line 395, in run

    return action(*args, **kwargs)

  File "renpy/common/00action_file.rpy", line 498, in __call__

    renpy.load(fn)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\loadsave.py", line 828, in load

    roots, log = loads(log_data)

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\compat\pickle.py", line 100, in loads

    return load(io.BytesIO(s))

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\compat\pickle.py", line 97, in load

    return up.load()

  File "D:\ItchIO\project-cor\ChampionOfRealms-0.92-pc\renpy\compat\pickle.py", line 93, in find_class

    return super().find_class(module, name)

AttributeError: Can't get attribute 'readyCallback' on <renpy.python.StoreModule object at 0x0000000009b96220>

Windows-10-10.0.19042 AMD64

Ren'Py 8.2.1.24030407

Champion of Realms 0.92

Tue Sep 10 19:14:46 2024

(1 edit)

Yeah, because to me, i prefer, if the narrative fits the gameplay, or that those two go hand in hand :) But the narrative in this case falls apart from day two (or whenever you are able to unlock the Stonks app), and its not even grinding, or abusing some wird unintended effects, its just using the game given mechanic in exactly the way it is intended to be used.
I know, that the title implies a dystopian world, but if the games very own mechanics allow you from the second day to not be poor anymore, and to basically solve most of your problems, then... wouldn´t i tbe nice, if there exist a tiny well hidden kind of happy end route?

Your God of War example can easily be countered by the fact, that more and more games allow you to go everywhere, to climb up and down, swim and dive, or even fly, and explore whereever you want. They take into account, that your char is strong, can climb, or jump really high, and they have to find good ingame ways to hinder the char from exploring some areas. Cyberpunk f.e. lets you rip open the locked doors, if you are strong enough. It also lets you unlock the locks, if your tech and hacking skills are good enough.
Artificially hindering the char from doing something by f.e. some invisible walls etc. just breaks the immersion, and takes away the fun, in some cases it just a massive disconnect between the game mechanics and the story/narrative.

(1 edit)

Yeah, i got that response too, and there i already wondered, why not also add a way to stay legal, as in, just pay all the taxes etc for trading. As far as i can see, trading coins is just as legal there as it is here, if you pay all the taxes and declare everything. No reason to go shady, because the bot has nothing to do with trading (other than that you have to stream at least one time to get the link to the stonks app).

But it was more like those situations, where you go out on a date, in a restaurant, MC is already millionaire, but while she orders a nice steak, MC just sounds like almost broke and just want a tomatoe soup :( Dude, check the millions of dollars in your inventory, you can afford a steak too.
Or where the landlord tells you, that he has to kick out another family because the can´t pay rent, and you get to choose, if you want pay for them too. The landlord then tells you, thats nice and understandable, but a bad idea, because they have to pay next week too. He asks me, if i want to pay then too, and looking in my inventory... yeah, indeed, i could pay for them too for the rest of their lifes ^.^ The game just does not take large amounts of money into account.

:)

(1 edit)

Hello there,
would it be possible to add some reactions or responses, that the main char is at least a a little bit aware of his owned money, if he has a a nice sum? Because... right now, my char owns enough to buy the whole building, or a small island somewhere nice and live the rest of his life in peace without having any worry in the world. Or if i have to continue to pay rent, then its enough for several millenia. And thats just afer 20 days of playing.
He shouldn´t be so angsty, if hes a millionaire o.o even after paying 50% taxes or something like that.