VN Ren'Py One Twisted Fantasy [v0.113] [Zelltin]

4.00 star(s) 2 Votes

Rayne

Member
Aug 2, 2017
134
574
minor issue that devs creating medieval setting games need to understand. there were no purple haired women in medieval times. and serioulsy, purple haired LI's are ones i am never interested in..cause..purple hair..gross.
Well, yeah, and were demons that attack people a constant occurrence at that time?
And so the idea is interesting, but it seems to me that there is a bit too much text describing emotions in the dialogues.
 
  • Haha
Reactions: Pgsurprise

Zell Entertainment

Newbie
Game Developer
May 3, 2022
26
727
minor issue that devs creating medieval setting games need to understand. there were no purple haired women in medieval times. and serioulsy, purple haired LI's are ones i am never interested in..cause..purple hair..gross.
No, no, no. It’s a fantasy medieval game, lol! All hair colors are welcome! Also, that is the hair color and style that won the Patreon poll, so that put’s your opinion in the minority.
 

Zell Entertainment

Newbie
Game Developer
May 3, 2022
26
727
Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/script.rpy", line 840, in script
    $ renpy.pause (0.1)
  File "game/script.rpy", line 840, in <module>
    $ renpy.pause (0.1)
  File "game/07 screens static.rpy", line 310, in execute
    screen chest_backside(chest):
  File "game/07 screens static.rpy", line 310, in execute
    screen chest_backside(chest):
  File "game/07 screens static.rpy", line 328, in execute
    $ glow2 = get_glow(object2.rare)
  File "game/07 screens static.rpy", line 328, in <module>
    $ glow2 = get_glow(object2.rare)
AttributeError: 'passive' object has no attribute 'rare'

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

Full traceback:
  File "game/script.rpy", line 840, in script
    $ renpy.pause (0.1)
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\ast.py", line 821, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\python.py", line 1178, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "game/script.rpy", line 840, in <module>
    $ renpy.pause (0.1)
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\exports\statementexports.py", line 194, in pause
    rv = renpy.ui.interact(mouse='pause', type='pause', roll_forward=roll_forward, pause=delay, pause_modal=modal)
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\ui.py", line 301, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\display\core.py", line 2215, 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 "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\display\core.py", line 2745, in interact_core
    root_widget.visit_all(lambda d : d.per_interact())
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\display\displayable.py", line 434, in visit_all
    d.visit_all(callback, seen)
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\display\displayable.py", line 434, in visit_all
    d.visit_all(callback, seen)
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\display\displayable.py", line 434, in visit_all
    d.visit_all(callback, seen)
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\display\screen.py", line 480, in visit_all
    callback(self)
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\display\core.py", line 2745, in <lambda>
    root_widget.visit_all(lambda d : d.per_interact())
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\display\screen.py", line 491, in per_interact
    self.update()
  File "C:\Users\uaxre\Desktop\OneTwistedFantasyAct1-0.106-pc\renpy\display\screen.py", line 697, in update
    self.screen.function(**self.scope)
  File "game/07 screens static.rpy", line 310, in execute
    screen chest_backside(chest):
  File "game/07 screens static.rpy", line 310, in execute
    screen chest_backside(chest):
  File "game/07 screens static.rpy", line 328, in execute
    $ glow2 = get_glow(object2.rare)
  File "game/07 screens static.rpy", line 328, in <module>
    $ glow2 = get_glow(object2.rare)
AttributeError: 'passive' object has no attribute 'rare'

Windows-10-10.0.26100 AMD64
Ren'Py 8.3.2.24090902
One Twisted Fantasy Act 1 0.106
Sun Jun  8 21:16:38 2025
WHAT DO I DO I CANT DO ANYTHING KEEPS CRASHING WHEN YOU TRY TO OPEN THE CHEST
It looks like you loaded a saved game in a weird place. Past saves will not work as I have modified the passive object class. Do you still get this error with a fresh start to the game? (You can skip the fights now so you don’t have to re-do them)
 

Zell Entertainment

Newbie
Game Developer
May 3, 2022
26
727
Hmm...seeing this has a harem path is very cool, but turn based fighting content with cards... Well I guess I'll wait and see if there will be a choice added to make that content avoidable...for the players who just want the story without the card game.

At least I'm hoping it will happen at some point, as I'm really not a fan of mini games. And I even avoided playing the gwent game in Witcher 3...due to how much I dislike that type of content. And I'm sure there are others that would also prefer a choice to avoid as well.

Regards.
Right now you can skip the fights, but I will probably not leave that in for the final version of the game. Best Regards!
 

Zell Entertainment

Newbie
Game Developer
May 3, 2022
26
727
annoyingly short but I get it, a lot of under the hood stuff happened in this update
Thanks, you have no idea what that simple looking chest system took. It broke everything! I can laugh about it now, but fuck! It still lags a bit, but I’m just not going to deal with that for now, lol. I don’t think Ren’py is supposed to be used this way.
 
  • Like
Reactions: Tyrranus

Tyrranus

Well-Known Member
May 4, 2017
1,595
1,722
minor issue that devs creating medieval setting games need to understand. there were no purple haired women in medieval times. and serioulsy, purple haired LI's are ones i am never interested in..cause..purple hair..gross.
cause no one would ever think to use magic to change their hair color
 
  • Like
Reactions: Sxythe

jjw2022

Newbie
Mar 15, 2022
15
15
Encountering a crash when opening the second of two chests. item type "rare" seems an issue. I'll try a new start. Thanks!

```
I'm sorry, but an uncaught exception occurred.

While running game code:
File "game/script.rpy", line 840, in script
$ renpy.pause (0.1)
File "game/script.rpy", line 840, in <module>
$ renpy.pause (0.1)
File "game/07 screens static.rpy", line 310, in execute
screen chest_backside(chest):
File "game/07 screens static.rpy", line 310, in execute
screen chest_backside(chest):
File "game/07 screens static.rpy", line 323, in execute
$ glow1 = get_glow(object1.rare)
File "game/07 screens static.rpy", line 323, in <module>
$ glow1 = get_glow(object1.rare)
AttributeError: 'passive' object has no attribute 'rare'

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

Full traceback:
File "game/script.rpy", line 840, in script
$ renpy.pause (0.1)
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\ast.py", line 821, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\python.py", line 1178, in py_exec_bytecode
exec(bytecode, globals, locals)
File "game/script.rpy", line 840, in <module>
$ renpy.pause (0.1)
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\exports\statementexports.py", line 194, in pause
rv = renpy.ui.interact(mouse='pause', type='pause', roll_forward=roll_forward, pause=delay, pause_modal=modal)
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\ui.py", line 301, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\display\core.py", line 2215, 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 "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\display\core.py", line 2745, in interact_core
root_widget.visit_all(lambda d : d.per_interact())
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\display\displayable.py", line 434, in visit_all
d.visit_all(callback, seen)
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\display\displayable.py", line 434, in visit_all
d.visit_all(callback, seen)
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\display\displayable.py", line 434, in visit_all
d.visit_all(callback, seen)
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\display\screen.py", line 480, in visit_all
callback(self)
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\display\core.py", line 2745, in <lambda>
root_widget.visit_all(lambda d : d.per_interact())
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\display\screen.py", line 491, in per_interact
self.update()
File "I:\Games\OneTwistedFantasyAct1-0.106-pc\renpy\display\screen.py", line 697, in update
self.screen.function(**self.scope)
File "game/07 screens static.rpy", line 310, in execute
screen chest_backside(chest):
File "game/07 screens static.rpy", line 310, in execute
screen chest_backside(chest):
File "game/07 screens static.rpy", line 323, in execute
$ glow1 = get_glow(object1.rare)
File "game/07 screens static.rpy", line 323, in <module>
$ glow1 = get_glow(object1.rare)
AttributeError: 'passive' object has no attribute 'rare'

Windows-10-10.0.26100 AMD64
Ren'Py 8.3.2.24090902
One Twisted Fantasy Act 1 0.106
Tue Jun 10 13:03:08 2025
```
 
Jul 18, 2024
20
641
⠀ ⠀ Dialogue boxes are already named, there is no reason to write he said that or she mumbled this with quotation marks - nobody does this, it's totally redundant.
⠀ ⠀ Turn based card combat could be fun, if it's thought out and balanced and right now it isn't. I know it's a placeholder for now, but why would I draw a card for 3 mana, if it's discarded at the end of my turn anyway, or why spend 2 whole mana to buff another card by mere 20 percent? On the other hand, the card that increases your "Power" every turn for the rest of the battle seems pretty busted, not sure how it's gonna play out but the cards you get from loot boxes look really OP too. Also tooltips on the cards themselves like in Slay the Spire would certainly help, like knowing what "Power" is, before using a card with such effect would be nice, knowing enemy's attack value would also be nice, even if only approximate. Not gonna argue for or against RNG here, but why block if the enemy is gonna miss anyways?
⠀ ⠀ In renders there are barely any shadows and the lighting looks artificial.
 

Zell Entertainment

Newbie
Game Developer
May 3, 2022
26
727
⠀ ⠀ Dialogue boxes are already named, there is no reason to write he said that or she mumbled this with quotation marks - nobody does this, it's totally redundant.
⠀ ⠀ Turn based card combat could be fun, if it's thought out and balanced and right now it isn't. I know it's a placeholder for now, but why would I draw a card for 3 mana, if it's discarded at the end of my turn anyway, or why spend 2 whole mana to buff another card by mere 20 percent? On the other hand, the card that increases your "Power" every turn for the rest of the battle seems pretty busted, not sure how it's gonna play out but the cards you get from loot boxes look really OP too. Also tooltips on the cards themselves like in Slay the Spire would certainly help, like knowing what "Power" is, before using a card with such effect would be nice, knowing enemy's attack value would also be nice, even if only approximate. Not gonna argue for or against RNG here, but why block if the enemy is gonna miss anyways?
⠀ ⠀ In renders there are barely any shadows and the lighting looks artificial.
Thanks for the honest input. Using things like ‘you say’ or ‘she says’ is so I can express emotion in the dialogue box itself. I like being able to write something like ‘she says, enthusiastically’. I seen this done in another visual novel and I really liked it, so I’m going to try it our myself. It’s also really fun for the ero scenes! The turn based stuff is meant to be done with higher tire cards, and you will get them pretty quickly in the game. I already had to buff the starting cards and yes, some of them are still useless. But the higher tiered versions of those cards are good and if I try to make the lower tiered version of the cards better it starts to break things. I will probably not look into balancing until I have more fights available. Also, don’t underestimate the percent buff cards. They stack multiplicatively and you can get them from skills, passives, and cards. The ‘Power Cards’ are strong, but kind of level out as the base numbers on the cards goes up with higher tiers. The RNG gods will be the RNG gods, just part of the game, lol. As for the lighting, that’s just something I have to work on. I have the bad habit of over lighting scenes, and I just have to fix it, easy!
 
Jul 18, 2024
20
641
Thanks for the honest input. Using things like ‘you say’ or ‘she says’ is so I can express emotion in the dialogue box itself. I like being able to write something like ‘she says, enthusiastically’. I seen this done in another visual novel and I really liked it, so I’m going to try it our myself. It’s also really fun for the ero scenes!
I mean in this case, don't you think
*enthusiastically* Blah blah blah blah blah
Instead of
"Blah blah blah blah blah" - Veronica said, enthusiastically
Would be better for readability?
You can also express all emotions in a separate dialogue box with narration - yes, more clicks, but again, more clarity. What I'm getting at is dialogue box is kinda bloated right now IMO.

The combat, I realize there is only 2 fights atm, just had to throw in my 2 cents based on initial impressions.
 
  • Like
Reactions: Theemptybrain

7empest5teele

Well-Known Member
Dec 23, 2019
1,291
897
The opening act here just seemed too short.
I love the combat though, and would like to get some recommendations for more like this.
With good stories, beautiful renders, and of course, a well planned out combat system.
Maybe the same with drawing cards with different effects.
 
4.00 star(s) 2 Votes