Author Topic: General Discussion  (Read 3788449 times)

0 Members and 13 Guests are viewing this topic.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: PyTFall Dev Thread: Writers needed!
« Reply #60 on: January 06, 2013, 10:18:40 AM »
First pack with four main persona3 characters is ready.
Now I'm just gonna wait for someone uploading at least one Future's pack with Naoto from persona4, since it's kinda waste of time to do it from scratch while there is almost ready one.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: PyTFall Dev Thread: Writers needed!
« Reply #61 on: January 06, 2013, 10:56:57 AM »
Alright, there is no rush. I will only be able to really push code further next weekend. First time in my life does a cold or a flu diminish my mental capacity to this degree, takes forever to write and debug a simple method...
Like what we're doing?

Offline GonDra

  • Full Member
  • ***
  • Posts: 154
Re: PyTFall Dev Thread: Writers needed!
« Reply #62 on: January 12, 2013, 11:22:08 PM »
I am still alive and trying to write for PyTFall.

Didn't manage to get much done since last time but I added two more Traits to my doc. (link killed)
If you have any ideas/comments regarding new traits or the ones in the doc don't hesitate to add a comment to it.

I have pretty much scrapped my idea for a meet script but I would be happy to help people working on scripts for characters as my time permits.
Implementation of scripts seems to be almost impossible at the moment though.
Things that would be nice to have (explained):
-checking for set flags
-deducting and adding money (with checks how much money is actually avaible?)
-a function for adding the girl that adds the girl to the players workforce (since the example script goes off into battle I have no idea how that works)

Not necessary but it would be nice:
A way to manipulate a girls stats depending on the choices you choose to acquire her. (If you persuade her to work for you she should be more willing and happy than if you enslave her with the help of law enforcement because she owes you money.)
« Last Edit: January 24, 2013, 07:06:59 PM by GonDra »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: PyTFall Dev Thread: Writers needed!
« Reply #63 on: January 13, 2013, 05:18:37 AM »
Ok, lets handle one thing at a time:

Didn't manage to get much done since last time but I added two more Traits to my doc.
If you have any ideas/comments regarding new traits or the ones in the doc don't hesitate to add a comment to it.

Hopefully will be adding traits till the end of the month, we'll see how it all works then.


I have pretty much scrapped my idea for a meet script but I would be happy to help people working on scripts for characters as my time permits.

As I have said, girlsmeet part of the game doesn't exist yet but groundwork for interactions with girls you already own has been created, that requires a lot of writing and imagination as well and is done in similar way to other scripts.


Implementation of scripts seems to be almost impossible at the moment though.
Things that would be nice to have (explained):
-checking for set flags

There are 2 major kinds of flags that will be used in the game:

- Global Flags

Use this when you need game to remember something for all girls and events. Useful when you want a specific event or part of an event to appear once or a limited number of times in a game.

Stored in: global_flags

Set:

$global_flags.setflag('house_burned_down')

Check:

if global_flags.flag('house_burned_down'):
    "You cannot enter here any longer"


Delete:

$global_flags.delflag('house_burned_down')

Alternatively!:

Easy RenPy way can always be used! Simply create a variable and set it to true (or whatever you want it to be set to):

#Making sure it's unique, you can simply put name of the current label you're working with in variable's name, labels must all have unique names, game will not start with two labels called exactly the same but a second variable with the same name will simply overwrite the value of first and might mess with the game.

Set:

$i_am_some_random_flag = true

Check:

if i_am_some_random_flag:
    "Do something!"


Delete:

del i_am_some_random_flag

or $del i_am_some_random_flag

I believe both will work fine...


- Girl Flags

Stored in events attribute of sGirls's class. This plainly means that these flags will be unique to each instance of that class or with other words, unique to each girl in game.

This is addressed to a specific girl so it must be called accordingly. If used in girl interactions (or my own code) use 'chr', otherwise use whatever you're currently working with:

Set:

$chr.setevt('talked_about_sausages')

Note: Will be set to True. If you need to specify something more concrete use:

$chr.setevt('talked_about_sausages', 1)
Means that you've talked about sausages one time.

Mod:

No point in modding if it is a normal flag (True or False) but if it is an event flag with for example a counter:

$chr.setevt('talked_about_sausages', 1)
$chr.modevt('talked_about_sausages', 1)
Would mean that you've talked about sausages two times. Negative values will decrease the amount but that is not really applicable to this scenario.

Check:

if chr.getevt('talked_about_sausages'):
    "Do something"


Or for example:

if chr.getevt('talked_about_sausages') <= 3:
    $chr.modevt('talked_about_sausages', 1)
    "You talk about sausages"

If at the moment of this code block, event is set to 3 or less, it will add one to the counter.

else:
    "Do Something"

If 4 or more...


Delete:

$chr.delevt('talked_about_sausages')
In reality, simply sets to False, but for all intent and purposes, it will not be affecting game any longer. Completely deleting event flag is outside of scope of a modder.



Other than that, flags can also be used for brothels, events, traits and pretty much everything else in the game... Ask if something very specific is required, most things and conditions are VERY easy to achieve with RenPy/Python.


-deducting and adding money (with checks how much money is actually avaible?)

Player money is an attribute of Player class (Shocker really :D ). The only instance of that class is 'hero' who is also our player, so:

$hero.take_money(1000)
Will check if player has 1000 or more gold and take that money from him. Will also return True if successful or False if he's a broke bastard.

$hero.add_money(1000)
Will add money to player.


-a function for adding the girl that adds the girl to the players workforce (since the example script goes off into battle I have no idea how that works)
Not entirely sure what's stopping you from checking battle script, it's simply one more label with same rules as all others. activedemo.rpy is the file.
Assuming that 'chr' is set to a girl you're working with:

$chr.location = 'brothel'
Adds girl to your list, not in any particular brothel, just means she's working for you from that point on.


A way to manipulate a girls stats depending on the choices you choose to acquire her. (If you persuade her to work for you she should be more willing and happy than if you enslave her with the help of law enforcement because she owes you money.)

This is much more complex of a topic since I am not entirely sure how advanced girl's 'AI' has to be... The thing is that I only wanted to add enslavement and complicated stuff like that to WM version, with dungeon, slaver's guild, training capabilities and so on. You have the list of current stats, to set any of those to whatever you want:

$chr.disposition = 400
$chr.character = 99


or to modify with checking the Max and Min:

$chr.mod('disposition', 400)
$chr.mod('character', 99)
« Last Edit: January 14, 2013, 08:17:14 PM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: PyTFall Dev Thread: Writers needed!
« Reply #64 on: January 13, 2013, 11:07:02 AM »
Four more characters from persona4.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: PyTFall Dev Thread: Writers needed!
« Reply #65 on: January 13, 2013, 12:04:22 PM »
Four more characters from persona4.

Got'em, thanks!

Edit: Can you PM me your Dropbox registration? I've set up a shared folder for PyTFall, you can create your own folder in there and throw everything in there?

@GonDra

I've sent you invitation weeks ago, no confirmation from you yet?
« Last Edit: January 14, 2013, 02:20:16 PM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: PyTFall Dev Thread: Writers needed!
« Reply #66 on: January 14, 2013, 01:24:41 PM »
Do you need more packs, or it would be better to continue to look for advertising pictures?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: PyTFall Dev Thread: Writers needed!
« Reply #67 on: January 14, 2013, 01:46:13 PM »
Do you need more packs, or it would be better to continue to look for advertising pictures?

Should be enough packs for now I think. I am doing some work on Next Day right now, it'll be a few more days till I start girlstownmeet part.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: PyTFall Dev Thread: Writers needed!
« Reply #68 on: January 14, 2013, 07:32:04 PM »
Ok, we may have someone new wishing to help with development, we've been chatting in PMs for a while but this info may be useful to Gon and TL as well as it can be applied to any part of the game:

=====================================
Well... interactions are one of the most popular features in sims like WM and base code for that is ready, yet, there is close to 0 content:

Find pyt - screens - grilinteractions.rpy file.

----
Inside there is a label, labels are codeblocks and a major part of RenPy coding system and coding style that PyTFall uses.
All the code inside such a label runs from top to bottom until it jumps to a next label or breaks (either returning you to previous label or ending the game).

----
There is also a screen part and that is the second (and last) part of RenPy/PyTFall coding system. It contains all graphical and user interface elements.

The main difference between the two is that screen part is being refreshed, code being 'reread' from top to bottom in set intervals of time or EVERY time player interacts with the game or any function calls for a refresh. That means all stuff that effects the game is coded into labels and all stuff that is responsible for interactions and displaying information to player is in screens.

------------
Edit: Now that I've read this myself, it should be noted that the main difference between the two is prolly the scripting language :) Label uses RenPy label language and screen uses RenPy screen language, it's not really all that important since I will never ask someone to learn screen language cause it is fairly complex but label language has like 10 keywords and just a couple of rules so anyone interested should be able to nail it fast.
------------

This is by no means the only programming style in Python or even RenPy, in fact there is nothing preventing us coding the entire game in pure Python or using any other coding style. This is simply the way I learned from Eliont (Alkion programmer).
==========================================================

What needs to be done:

Every time a button on the right side of the screen is clicked:



A line of code is executed:
Code: [Select]
textbutton "Fuck" action Return(['act','fuck']) minimum(250,30)
It returns a Python List containing two strings (string is programmers lingo for a bit of text): ['act', 'fuck']

There is a codeblock inside a label running a what is called "an infinite loop":

Code: [Select]
   while true:
                result = ui.interact()
               
                if result[0] == 'act':
                    jump('interact_%s'%result[1]) #will jump to whatever the first index of user interaction with game will be.

ui.interact() function will grab the Result of user interaction like pressing a button.

if result[0] == 'act': Means that if the first entry in list that was returned by ui.interact() function is 'act', the following block of code will be executed.

jump('interact_%s'%result[1]) %s was already explained in Tifa's script. It means that game will try to make a jump to a label called "interact_{Whatever the second entry of the list is}"

In our case it will jump to interact_fuck label:

Code: [Select]
label interact_fuck:
    "I'm really not sure about this... "
    "I guess if you really want to, it's ok... right? "
    $ginterimg = chr.img('sex',resize=(int(config.screen_width*0.794),int(config.screen_height*0.802)), force=false, mode = 'return')
    "She did show quite a bit of skill today... maybe she deserves some praise as well? "
    $jump('girl_interactions')

Note that we have not disabled the screen so it will keep on running until we tell the game otherwise (Like exiting the entire interaction scenario)

Since you've said that you have already figured out RenPy label language, this new label abides by every single rule and command of that language and is no different from any other label from any RenPy game.

One thing you should know is:

$ginterimg = chr.img('sex',resize=(int(config.screen_width*0.794),int(config.screen_height*0.802)), force=false, mode = 'return')

ginterimg is a simple Python variable. The image that interaction screen displays is set to this variable. That means that whatever you set it to will be displayed on the screen.

chr  is the girl we're currently working with, it was set when you picked a girl in the list.

img is the method of sGirl class that displays us pictures from categories, rest is meaningless technobabble, if you want it to be explained fully, feel free to ask but what you need to know is:

$ginterimg = chr.img('sex',resize=(int(config.screen_width*0.794),int(config.screen_height*0.802)), force=false, mode = 'return')

Change sex to any other category, like les, profile, quests or any other and game will display a random picture from that category. How categories are created has been explained in previous posts.

What I need you to do is create any amount of scenarios of any complexity for interactions. These can be going out to restaurant, talking about any topics, threatening, praising, sex acts. You can have checks and balances, like for example:

Code: [Select]
if chr.charisma > 50:
    "Do this"
elif chr.charisma < 30: #elif stands for else if...
    "Do something else"
else:
    "Do some crazy third thing"

You should also give rewards or punishments to girls for interactions:

chr.mod('charisma', 2) will increase charisma by two, -2 will decrease it by two, mod method of sGirl class will ensure that you will NEVER go outside Minimum and Maximum bounds.

If you wish to increase Min or Max themselves:

chr.min['charisma'] += 20 will increase absolute minimum of a stat by 20

chr.max['Defense'] -= 20 will decrease the absolute maximum defense by 20

chr.max['Attack'] = 50 will set the absolute maximum of attack to 50

Some useful things to know (since you don't come from Python background)

= sets something
== checks is one thing is equals to another
+ returns a sum of two values
+= adds two values

Examples:
Lets say a girl has 20 charisma:

chr.charisma += 10 will increase the value of charisma by 10, Maximum of a stat can be damned.
chr.charisma + 10 will return a 30, chr.charisma will remain at 20
if chr.charisma == 10:
   #do something

Will check if girl's charisma equals to 10 and execute the following codeblock, while:

chr.charsima = 10, will set it to 10, even if it was 20 before.

From here on out, you can create labels like:

label interact_talk:

and create blocks of code in them of any complexity, you should already know how to create menus, all kinds of flags and checks and stat modifiers.

If you have any questions, feel free to ask.
« Last Edit: January 14, 2013, 08:09:29 PM by Xela »
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: PyTFall Dev Thread: Writers needed!
« Reply #69 on: January 15, 2013, 03:58:24 PM »
Ok, small update:

nighthalkex who just joined the dev team has already managed to create rudimentary scripts for some of the girl interactions (nearly giving up in the process) and is now working on advancing those. At the very least I now know for sure that I wasn't BSing anyone or myself by saying that RenPy label language could be figured out in less than a day with a bit of help and dedication and no previous coding experience.


We also may have another person joining us, we'll see if he can find something interesting to do on the project.

While talking to nighthalkex a couple of useful things came up that should be mentioned here as well:

Prolly the best way to figure out RenPy is:

1) Download RenPy from the site or our SDK.
2) Go through the well commented script that comes with SDK and introduses to the simplest game one can make with RenPy.
3) Watch the tutorial demo to see what RenPy is capable of (just for fun).
4) Go through this thread and through Tifa's quest script file.
5) Ask any question you may have and pick something in the project to work with.

Another thing is for scripting:

#Rolling dice:

$if dice(10):
    "Do something"


Plainly means that there is 10% chance of the following code clock to be executed. night already used that in one of his scripts. If you're in developer mode, game will also tell you what the results of the dice roll were. Great way to add a unique interesting event to interaction.


As for myself, I am still getting splitting headaches as a flu aftereffect but I did manage to get something done:

1) Girl's price is now based on the commonwealth of her stats and rank instead if being fixed on 500.

2) Girl's now have upkeep, also based on their stats and occupation. Game will deduct that from your wallet every round so girls now cost you money per turn.

3) Girls ask an amount of money they expect for their services! If client cannot pay, they negotiate, all very rudimentary now but the groundwork has been layed out.

4) Girls and Costumers will refuse to deal with one another if their ranks/castes are to far apart, code for that is about 50% done and will definitely be finished tomorrow, I will prolly leave the next day function and sGirl/Costumer classes along (cause I am getting bored with it right now and it really helps to keep rotating assignments to keep myself motivated) and use DarkTl's packs to create a good girlmeet in town system (Something I should be doing right now if I followed the damn roadmap anyway!)

--------------
Edit:
Enough for today,
New version of Otherworld is almost ready and I wanna see what that's like :)

Edit 2:
Latest Otherworld dev version is not really playable due to the lack of content and some small but irritating bugs. What I've read on the blog made me believe it was a lot farther along. I guess he meant backbone codewise and not 'playabilitywise', it will be another month or so :(
« Last Edit: January 15, 2013, 05:25:18 PM by Xela »
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: PyTFall Dev Thread: Writers needed!
« Reply #70 on: January 16, 2013, 10:13:09 AM »
Four advertising pictures. If you need even more then I'm afraid we have no choice but to use random cheerleaders and pictures with girls holding microphones (and most likely singing) on stages.

Offline OverHao

  • Newbie
  • *
  • Posts: 6
Re: PyTFall Dev Thread: Writers needed!
« Reply #71 on: January 16, 2013, 08:01:16 PM »
Hi everyone I'm here to help for the graphic side


hi Xela (I'm sorry if I repeat myself)



if you tell me the size of the images for objects, clothes, enemies etc.
and style: pixel or illustration
I'll start working on it as soon as possible

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: PyTFall Dev Thread: Writers needed!
« Reply #72 on: January 17, 2013, 05:58:31 AM »
Hi guys! With Xela's permission, I'm also here for help with the project. For this moment, I can't offer much more then collecting and editing pictures, but I'm dedicating myself to learn how to do scripts in RenPy and looking forward to make some events soon.


 Can this be used as a suggestion thread too? There's quite few things that I'm interested about if there's any plans for them or not.








Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: PyTFall Dev Thread: Writers needed!
« Reply #73 on: January 17, 2013, 05:07:44 PM »
Hello everyone and welcome to all the new people willing to contribute to the project!


Four advertising pictures. If you need even more then I'm afraid we have no choice but to use random cheerleaders and pictures with girls holding microphones (and most likely singing) on stages.

Lets leave that for now and refocus on roadmap. I have finished the basecode for:

4) Girls and Costumers will refuse to deal with one another if their ranks/castes are to far apart, code for that is about 50% done and will definitely be finished tomorrow.

and will start with girlsmeeting system tomorrow or the day after. For now it is enough for the next day logic, especially since there is space on the roadmap to work on it later. We need pictures for interesting locations in the city. I have a LOT of those from Eliont's resources collection that he specifically told me to use for any of the projects, but if you have an idea or theme for a location with picture/pictures, I will put that in. For now I think that you've spent enough time trying to cover bases for advertisement pics and we still do not have all the categories (but like I've said we can simply adapt categories to the pictures we have when we get there...)
----------------------------------------------------------

Hi everyone I'm here to help for the graphic side

hi Xela (I'm sorry if I repeat myself)

if you tell me the size of the images for objects, clothes, enemies etc.
and style: pixel or illustration
I'll start working on it as soon as possible

Hello! And welcome to the forum!

I am afraid that I cannot answer your question because I know next nothing about graphical design and this is the first game (or anything else) that I code for.

I figure you can can start with:

 making sure game looks nice/great. We are currently going with wood theme but if you have a different idea, redesigning interface should not be to hard. Otherwise you can just create or search for pictures and art to make game screens look the best they can. I mean, at this point we still have the default starting screen that RenPy comes with (when you first start the game). Eliont went with a beautiful picture of docks and custom buttons for Alkion. Maybe if you can find a picture and find/create a couple of nice buttons I could put those in game? Or better wood frames with a bit of rd effect like in WM Wood skin (I can throw files in Dropbox folder if you haven't seen those yet)

Option two:

You had a bunch of ideas for highly graphical game elements on SimBro forum. Explain in more detail what those were and maybe I can figure out how to code those into the game so you have something to work on that can make the project very unique?

It's up to you, I think first option is more to the point right now cause while I am not a complete nub with photoshop, it takes me forever to make something worthwhile with it and I usually just rush the first thing I can make...

In any case, you should get DropBox and give me your ID/Email so I can add you to the shared folder, there you can familiarize yourself with the code and the SDK.

To answer your questions:
1) Size can be adjusted with RenPy resizing functions or I can make new custom resize functions if those do not quit us. I have no idea what the size of anything should be :)
2) We have more than enough enemies (over 500 from 5 or 6 different games) right now so there is little point in making more unless you wish to create something unique and interesting.
3) Objects and clothes can also be stolen from other games (you are more than welcome to create anything like that yourself but to me it seems like an insane amount of work)
4) Style I leave completely up to you, there is currently no plans on what game should look like what so ever. I am basically just rolling with the flow trying to code logic. If you want to take care of design, you're more than welcome to take the lead in it and I'll just code your graphics into the game.

Hi guys! With Xela's permission, I'm also here for help with the project. For this moment, I can't offer much more then collecting and editing pictures, but I'm dedicating myself to learn how to do scripts in RenPy and looking forward to make some events soon.


 Can this be used as a suggestion thread too? There's quite few things that I'm interested about if there's any plans for them or not.

I suppose we can just use this thread until it gets to hectic and then we'll simply reorganize and split.

About plans, most of my plans come from a point of view of 'large picture'.

1) I want there to be a SimBro 1x style girlmeet option in the game.

2) Jobs that make sense and have interesting events (random, chance or otherwise) based on traits, ranks, castes, preferences and so on.

3) I am toying with an idea to advance girls classes in order to create stuff they love/hate/like/dislike and later use in interactions, events, quests and conversations.

4) Picture categories must be unique to jobs and versatile enough for quests and events to make sense. I have no decided yet on what the best option is:

- to create default pics for all categories without faces
- to default pics to profile category (or any other category that exists and makes sense) of the same girl

5) I want there to be quests, interactions, events and missions.

6) Two game milestones.
- A simpler SimBro version with a very limited amount of traits, items and logic.
- A much more advanced WM/Slavemaker-like version with unlimited amount of items (pixel art or just small pics), loads of traits and a very smart enslavement/training system and other elements like Arena, Contests for your girls versus NPC and so on.

The trouble is that I am currently find it VERY difficult to draw lines between the two, but still trying to do so.

7) AP (Action points) for both, girls and player, so player decides, spend those on training the player, girls or allow girls to work. Already girls spend AP during work and stop working if they run out. Soon interacting/training girls will spend their and players AP as well.

8) NPC's that are fun and eventful (hopefully)

9) Endings based on some form of game milestones and endgame stats, player can choose if he wants to play past ending or start a new game, maybe even some form of new game +.

10) Jokers, not a must but I want to have those.

11) Economy? I can code in a 'city that lives' but only if there is a realistic and fun application for it in WMlike version.

12) Social status is likely to play a VERY important part in the game. More in WMlike version than in SimBro one but it should already make an impact on SimBro version as well.

Maybe more, but the thing is that nothing is really set in stone. I have created a coding roadmap, so right now the plan is to  stick with it and hoping that a game that comes out in the end will be fun :)


==========================
Clocking out, it's almost 1a.m. here already...
« Last Edit: January 17, 2013, 06:03:35 PM by Xela »
Like what we're doing?

Offline OverHao

  • Newbie
  • *
  • Posts: 6
Re: PyTFall Dev Thread: Writers needed!
« Reply #74 on: January 17, 2013, 06:04:10 PM »
ok i will start immediately with the GUI


I love this project and I will do my best  ;)