anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,463
15,366
The game is interesting, but the code raise so many questions :/ Like, by example, why are you importing a shit tons of modules just to roll some dices in the future ?

Aren't things like :
Code:
init python:

    def dice( face, nb )
        retVal = 0
        for i in range( 0, nb ): 
            retVal += renpy.random.randint( 1, face )
        return retVal

    def rollD6( nb=1 ):
        return dice( 6, nb )

    def rollD10( nb=1 ):
        return dice( 10, nb )

    def rollD20( nb=1 ):
        return dice( 20, nb )

    def rollCombined():
        return rollD6( 2 ) + rollD20()
Enough and more efficient than a real time text parser ?

And if really you need to keep the result of each individual dice, this will still be easier and faster :
Code:
    def dices( face, nb )
        retVal = []
        for i in range( 0, nb ): 
            retVal.append( renpy.random.randint( 1, face ) )
        return retVal
Keep your code as simple as possible, it would be a shame that your game end abandoned because you drowned on an over complicated code.

There's also the problems that will lead to save compatibility errors and already lead to errors :
File "game/lothal.rpy", line 175, in <module>
$Trust["Dendo"] += 1
KeyError: u'Dendo'
The save compatibility is just half a problem actually, since you added the stats variables in the already wrote game. But the way you do your dictionary declaration isn't good :
Code:
default Love = {}
default Lust = {}
default Loyalty = {}
default Trust = {}
default Anger = {}

# Naida Stats 
$Love["Naida"] = 0
$Lust["Naida"] = 0
$Loyalty["Naida"] = 0
$Trust["Naida"] = 0
$Anger["Naida"] = 0

# Naida Stats
$Love["Ainas"] = 0
$Lust["Ainas"] = 0
$Loyalty["Ainas"] = 0
$Trust["Ainas"] = 0
$Anger["Ainas"] = 0
The declaration for Nadia and Ainas will never be proceeded (reason why you had to report it again in the "game_start" label). Ren'py recognize as valid lines at 0 indentation, but to be proceeded they need to be put in the flow of the game, which isn't the case here.
What you needed to do is to add the default values directly in the dictionary declaration :
Code:
default Love = { "Nadia": 0, "Ainas": 0, "Dendo": 0 }
[...]
And to add new ones in future updates, you'll need to also rely on the :
Code:
label after_load:
    if not "Dendo" in Love :
        $ Love["Dendo"] = 0
        $ Lust["Dendo"] = 0
        $ Loyalty["Dendo"] = 0
        $ Trust["Dendo"] = 0
        $ Anger["Dendo"] = 0
 

desmosome

Conversation Conqueror
Sep 5, 2018
6,191
14,249
This definitely has potential. That word might be meaningless when people constantly use it for "landlady+2 roommates" game #468, but the basic stat/skill system and groundwork for the character sheet is really good.

Its still too early and short to leave a rating, but I'd like to leave some constructive criticism.

1) The intro is a bit disorienting. You are dropped into a combat scene with some exposition on whats going on. Then you cut and flashback to the past (or rather the beginning of the game), getting dropped in the middle of another predicament with another exposition about whats happening. Normally when you employ this kind of intro, you show the "So how did things end up this way?" scene, and then flash back to a point in time before some major conflict is happening. I am not a writer or anything, but that's what I've seen in most movies that do this.

2) There are a lot of typos and small grammatical errors. It's definitely not engrish, so a quick proofreading session should be fine.

3) It's sometimes hard to follow what people are trying to say. Again, I don't think its a problem with the English. It might be a case of the author knowing the story too well and not catching how it might read for someone unfamiliar with the story. Sorry I can't list any concrete examples, but there were multiple times where I had to rollback to try and figure out whats going on. Again, maybe a proofreader might help at some point.

4) At some point, maybe you could add an encyclopedia? I mean, I've watched most of the Star Wars, and played KOTOR 1+2... but I never really delved into the lore too much. I don't know the planets, races, and what not. I know Twilek are the strippers of the universe. Mandalorian to me are the dudes with that cool ass armor in KOTOR with an orc-like mentality. Maybe that's too much extra writing and effort though.

5) I think the biggest point I want to make is about the stats and skill tree. I wasn't too sure on how the base stats interact with the skill system. It seems like its completely independent other than intelligence increasing skill points to distribute (per level? are there level ups?). cRPGs usually tie the skills and stats together in some way. Maybe the base stats could give a modifier to the respective skill checks. Or maybe you could give individual skill points for each category. It seems a bit werid that a 20 int guy with 10 str can max out brawl or something. Maybe 1 base skill point for each category with +1 per 2 stats over 10 or something like that? Some rebalancing is probably needed if you fiddle with the skills though.
 

cxx

Message Maestro
Nov 14, 2017
60,516
30,325
no problems otherwise except some renpy errors but ignore helped to get past of those.
 

doubblenow

Member
Game Developer
Aug 10, 2017
163
531
The game is interesting, but the code raise so many questions :/ Like, by example, why are you importing a shit tons of modules just to roll some dices in the future ?

Aren't things like :
Code:
init python:

    def dice( face, nb )
        retVal = 0
        for i in range( 0, nb ):
            retVal += renpy.random.randint( 1, face )
        return retVal

    def rollD6( nb=1 ):
        return dice( 6, nb )

    def rollD10( nb=1 ):
        return dice( 10, nb )

    def rollD20( nb=1 ):
        return dice( 20, nb )

    def rollCombined():
        return rollD6( 2 ) + rollD20()
Enough and more efficient than a real time text parser ?

And if really you need to keep the result of each individual dice, this will still be easier and faster :
Code:
    def dices( face, nb )
        retVal = []
        for i in range( 0, nb ):
            retVal.append( renpy.random.randint( 1, face ) )
        return retVal
Keep your code as simple as possible, it would be a shame that your game end abandoned because you drowned on an over complicated code.

There's also the problems that will lead to save compatibility errors and already lead to errors :

The save compatibility is just half a problem actually, since you added the stats variables in the already wrote game. But the way you do your dictionary declaration isn't good :
Code:
default Love = {}
default Lust = {}
default Loyalty = {}
default Trust = {}
default Anger = {}

# Naida Stats
$Love["Naida"] = 0
$Lust["Naida"] = 0
$Loyalty["Naida"] = 0
$Trust["Naida"] = 0
$Anger["Naida"] = 0

# Naida Stats
$Love["Ainas"] = 0
$Lust["Ainas"] = 0
$Loyalty["Ainas"] = 0
$Trust["Ainas"] = 0
$Anger["Ainas"] = 0
The declaration for Nadia and Ainas will never be proceeded (reason why you had to report it again in the "game_start" label). Ren'py recognize as valid lines at 0 indentation, but to be proceeded they need to be put in the flow of the game, which isn't the case here.
What you needed to do is to add the default values directly in the dictionary declaration :
Code:
default Love = { "Nadia": 0, "Ainas": 0, "Dendo": 0 }
[...]
And to add new ones in future updates, you'll need to also rely on the :
Code:
label after_load:
    if not "Dendo" in Love :
        $ Love["Dendo"] = 0
        $ Lust["Dendo"] = 0
        $ Loyalty["Dendo"] = 0
        $ Trust["Dendo"] = 0
        $ Anger["Dendo"] = 0
Hi AON and thank you for this constructive criticism.
I will try to improve on that :)
As this is my first attempt at creating a renpy game, there is still a lot I have to learn. But I hope that it gets better with each release.
I will take a look at the links you posted, and hope you won't mind if I write you a short PM if I shouldn't understand all there is.

The dice roller, well it felt so ... comfortable as it uses terms I am used to as a classical PnP RPG player. Things like roll 5 dice and keep 3 highest rolls etc.
Probably you are right, that there are simpler and probably easier solutions to that.

But point taken, I will read through the links and hopefully deliver a better code next release :)

Thanx again
 

doubblenow

Member
Game Developer
Aug 10, 2017
163
531
This definitely has potential. That word might be meaningless when people constantly use it for "landlady+2 roommates" game #468, but the basic stat/skill system and groundwork for the character sheet is really good.

Its still too early and short to leave a rating, but I'd like to leave some constructive criticism.

1) The intro is a bit disorienting. You are dropped into a combat scene with some exposition on whats going on. Then you cut and flashback to the past (or rather the beginning of the game), getting dropped in the middle of another predicament with another exposition about whats happening. Normally when you employ this kind of intro, you show the "So how did things end up this way?" scene, and then flash back to a point in time before some major conflict is happening. I am not a writer or anything, but that's what I've seen in most movies that do this.

2) There are a lot of typos and small grammatical errors. It's definitely not engrish, so a quick proofreading session should be fine.

3) It's sometimes hard to follow what people are trying to say. Again, I don't think its a problem with the English. It might be a case of the author knowing the story too well and not catching how it might read for someone unfamiliar with the story. Sorry I can't list any concrete examples, but there were multiple times where I had to rollback to try and figure out whats going on. Again, maybe a proofreader might help at some point.

4) At some point, maybe you could add an encyclopedia? I mean, I've watched most of the Star Wars, and played KOTOR 1+2... but I never really delved into the lore too much. I don't know the planets, races, and what not. I know Twilek are the strippers of the universe. Mandalorian to me are the dudes with that cool ass armor in KOTOR with an orc-like mentality. Maybe that's too much extra writing and effort though.

5) I think the biggest point I want to make is about the stats and skill tree. I wasn't too sure on how the base stats interact with the skill system. It seems like its completely independent other than intelligence increasing skill points to distribute (per level? are there level ups?). cRPGs usually tie the skills and stats together in some way. Maybe the base stats could give a modifier to the respective skill checks. Or maybe you could give individual skill points for each category. It seems a bit werid that a 20 int guy with 10 str can max out brawl or something. Maybe 1 base skill point for each category with +1 per 2 stats over 10 or something like that? Some rebalancing is probably needed if you fiddle with the skills though.
1) Darn ... :) I really thought that the "So how did things end up this way?" part comes trough as the MC rephrases that "it was a long way from Lothal" to there. The basic intention was to ... show a possible future where the MC is involved in the current star wars storyline and make a bridge to the mostly Legends inspired content of the game. I guess I will have to reiterate on the intro.

2) ouch :) But I guess you are right, my English was vacant for almost a decade now, as a non-native speaker that definitely left noticeable dents in my vocabulary. As soon I can afford a proofreader I will get one on board.

3) The story of my life :) I hope it gets better once there is an audience that participates in pre-release alpha / beta tests.

4) Honestly, I would love to, but at the moment the whole project is a one mans show. If that should change someday, the encyclopedia is definitely on the road map. But for now, I will concentrate on ironing out the code and proceeding with the story.

5) Hmmm, gonna try to clarify that too ... Kind of feels wrong to make a manual for a game :) shows that I obviously wasn't able to carry the information over that I should have.
 

dragonheck

Newbie
Jun 26, 2017
20
26
this isnt gonna end like orange trainer did is it cause if so please tell us cause it felt a little jipped that all your work means nothing in the end fun game but ending was meh so i hope this one is better
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,463
15,366
Hi AON and thank you for this constructive criticism.
No, thanks to you for your game.


The dice roller, well it felt so ... comfortable as it uses terms I am used to as a classical PnP RPG player. Things like roll 5 dice and keep 3 highest rolls etc.
Probably you are right, that there are simpler and probably easier solutions to that.
Well, it's always possible to stay near to that :
Python:
init python:

    # face    = Number of face of the dice, by default 6
    # nb      = Number of dices to roll, by default 1
    # highest = Number of the highest dices to keep, by default keep all
    # lowest  = Number of the lowest dices to keep, by default keep all
    def dices( face=6, nb=1, highest=None, lowest=None ):
        # No dice rolled yet, empty the list
        store.rolled_dices = []

        # Roll /nb/ dices with between 1 and /face/ face.
        for i in range( 0, nb ):
            store.rolled_dices.append( renpy.random.randint( 1, face ) )

        # Sort the dices according to their value
        rolled = sorted( store.rolled_dices )
       
        # If asked to "keep the X highest", do it
        if not highest is None:
            rolled = rolled[0-highest:]

        # If asked to "keep the X lowest", do it
        if not lowest is None:
            rolled = rolled[:lowest]

        # Return the sum of the kept dices
        return sum( rolled )

    # shortcut for D6 dices
    def rollD6( nb=1, highest=None, lowest=None ):
        return dices( 6, nb, highest, lowest )

    # shortcut for D10 dices
    def rollD6( nb=1, highest=None, lowest=None ):
        return dices( 10, nb, highest, lowest )

# Last set of rolled dice will be stored here
default rolled_dices = []

label whatever:

    # Roll only one dice (use the default value for everything)
    $ value = rollD6()

    # Roll 3, keep the 2 highest
    $ value = rollD6( nb=3, highest=2 )

    # Roll 3, keep the lowest
    $ value = rollD6( nb=3, lowest=1 )

    # Roll 3, keep them all
    $ value = rollD6( nb=3 )

    # Test the last set of rolled dices
    if 1 in rolled_dices:
        "A 1, looser :D"

    # Test deeper the last set of rolled dices
    if rolled_dices.count( 6 ) == 3:
        "You've rolled 666 man !"
 
  • Wow
Reactions: doubblenow

Pervy_Verdugo

New Member
Jun 30, 2019
2
1
Wrong, the prequels, though poorly directed, were serviceable. The "Sequels" (read soulless Hollywood cash-in) have nothing redeemable about them that wasn't stolen or plagarized from better material.
AMEN, My Brother! Thanks to the Prequel Haters/Special Edition Haters/De-Specializers, Lucas Sold it to the Disney Empire and now we are all suffering for the abomination that is the Fake Sequel Trilogy.
As for this game, is it enough for a decent gaming session?
 
  • Like
Reactions: Beavershot

doubblenow

Member
Game Developer
Aug 10, 2017
163
531
AMEN, My Brother! Thanks to the Prequel Haters/Special Edition Haters/De-Specializers, Lucas Sold it to the Disney Empire and now we are all suffering for the abomination that is the Fake Sequel Trilogy.
As for this game, is it enough for a decent gaming session?
It pains me to say, but probably not ...

It handles the first day of the mc's story.
So I guess it's interesting to take a look at, but it has in terms of content, a lot of room for improvement. (I hope that was a positively formulated sentence) :)
 
  • Like
Reactions: Pervy_Verdugo

LWtbo

Well-Known Member
Feb 11, 2018
1,398
2,484
I believe there was meant to be Six Star Wars Films.
but for me atleast there will only ever be three Star Wars IV: A New Hope, Star Wars V: The Empire Strikes Back and Star Wars VI: Return of the Jedi.
the rest are just pale imitations just a bunch of movies that share part of the Title name and a few characters with the same names and very little else not a patch on the three I mentioned.
not to bad in their own right but not good enough to bare the name.
if you disagree then that's your choice (It's the wronge choice but It's your choice).
again this is just my opinion.
as for this game just downloaded it to try have hopes for it from what I read sofar seems headed in the right direction.
it sound's like it should be good.
Just Sayin
 

sserobinsse

Member
Sep 6, 2017
193
144
what are you guys talking about the last movie was Revenge of the Sith it has not been any more movies sense that movie did come out /s

about is game i have yet to try it but it sound like a game i would love to try/play :)
 

cxx

Message Maestro
Nov 14, 2017
60,516
30,325
like it was said earlier not much to play yet but looks more interesting than death star trainer where only things to do is capture more female jedis and padawans and torture them (1 at a time) until they can work in bordello and cantina and to get 1 captured fully submissive takes weeks gametime and few days to capture her and in the meantime nothing else to do than hit next day button.
 
4.30 star(s) 7 Votes