Thursday, April 30, 2015

Redrawn the cock suck expression

Hi as the title implied I made a different cock suck expression as I already stated in a previous post I didn't quite like as it was.

I tried a solid color one:


I'll probably stay with this solid color one since it let me to change the color in the future (let's say I want to add races I might change the color of the cock on the fly to represent the correct race).

And that's it I guess.

Tuesday, April 28, 2015

Added 'WeekEnd' events

Hello there,

so, what are weekend events? (thinking of that the name sounds wrong to me and I'll probably rename to something more like post week events)


Before today the game was something like this.

1. At the start of the week you decide the activity to do.
2. The week play, a series of events decided by you happen.
3.???????
4.PROFIT!

Well, today I introduced the week end events.
So, again, what's this?

Weekend events are special events that fire every time a week is completed.
You might wonder, what's the use of that?
Well, they will be used for trainee game over and player game over.
For example during the week end event there will be a check:

If slave is unhappy she might runaway. This is a trainee game over.
The meaning of this is that you lose the trainee but you personally haven't lost the game.

Another check might be:
Player lost all his money, he failed as a slave trainer. This is a player game over.
YOU, as a player, LOST.

Other use that will surely not appear at the first release might be repeated production of items.
For example:

Pregnant slave might produce milk, that you might sell or whathever, I don't know I'm just brainstorming shit here.

Anyway at the moment the only gameover I can think of are:

-Slave is very unhappy. She escape or she suicide. Trainee game over
-Player don't have any money left. He understand is not capable of doing this kind of job and return to his previous job, shoveling dung in a farm or whatever.



Friday, April 24, 2015

Two new expressions

Hello,
while writing a (rape) event I noticed there was a lot of sobbing involved.

So I made the sob expression


It just add the two tears on the corner of the eyes.

I added another special expression.
I say special because it's not directly selectable during the event using the <LockExpression> event step but it's automatically chosen when the girl is sucking a cock.

Here it is

I don't like it very much (the cock is too simple and too trasparent, it's hard to see) but it just to give you the idea.
Note that only the mouth change the underling expression is still selectable. That work because expression on the low level are divided in eye expression, brow expression and mouth expression.

For example you can see here the sobbing expression while sucking a cock.


Tuesday, April 21, 2015

Introducing how event are written 4: References

As I said in the previous post, I would make a tutorial for using the references in event creation.

Okay, let's start with two simple events:

<Event Name="work_in_bar">
  <SetText>!$trainee worked at the bar.</SetText>
  <AddBody>Wear ++ Worked in bar</AddBody>
  <AddBody>Clean - Worked in bar</AddBody>
  <AddMind>Wear + Workd in bar</AddMind>
  <AddMoney>
    <Reason>Worked in bar</Reason>
    <Amount>[MinimumWage] * 1.2</Amount>
  </AddMoney>
</Event>

<Event Name="work_in_bar_2">
  <SetText>While working at the bar !$trainee fell. OUCHIE!</SetText>
  <AddBody>Wear + !$trainee fell down</AddBody>
  <AddBody>Wear ++ Worked in bar</AddBody>
  <AddBody>Clean - Worked in bar</AddBody>
  <AddMind>Wear + Workd in bar</AddMind>
  <AddMoney>
    <Reason>Worked in bar</Reason>
    <Amount>[MinimumWage] * 1.2</Amount>
  </AddMoney>
</Event>

Both events are about the slave working at the bar, but one event is slightly different from the other.
There's a part that it's identical in the two events, which is the "result" for working at the bar. The result is whathever the slave gained by working there, in this case money, fatigue and dirtiness.

Well, I don't know you but I don't like repetitions...
Well, I don't know you but I don't like repetitions...

Whops...
Anyway thanks to the cutting edge technology that are event reference we can rewrite the two event like this:


<Event Name="work_in_bar">
  <SetText>!$trainee worked at the bar.</SetText>
  <DirectReference>default_reward</DirectReference>
</Event>

<Event Name="work_in_bar_2">
  <SetText>While working at the bar !$trainee fell. OUCHIE!</SetText>
  <AddBody>Wear + !$trainee fell down</AddBody>
  <DirectReference>default_reward</DirectReference>
</Event>

<Event Name="default_reward">
  <AddBody>Wear ++ Worked in bar</AddBody>
  <AddBody>Clean - Worked in bar</AddBody>
  <AddMind>Wear + Workd in bar</AddMind>
  <AddMoney>
    <Reason>Worked in bar</Reason>
    <Amount>[MinimumWage] * 1.2</Amount>
  </AddMoney>
</Event>

So why is this better?

Well, now when I'll addd "work_in_bar_3" I just have to reference the "default_reward" event instead of copying it and pasting as I have done in the first example.

And speaking of copy & paste, look! Have you noticed the mistake I have done?

  <AddMind>Wear + Workd in bar</AddMind>

should be

  <AddMind>Wear + Worked in bar</AddMind>

Well, in the first example I made the mistake twice since I just copied paste the whole event.
For each copy paste I have now to correct the error. In this case (just a small spelling error) it might be fine. But think about more complex error or text that has been copied 5-6 times, the problem is harder to solve, you will start to miss some place, expecially if the text is copied past on different files.



The reference you have seen is valid only for events whitin the same file. For referencing an event in another file you use this:

<DirectReference>pathToYourFile;eventName</DirectReference>

for example

<DirectReference>Events/Common.xml;strip_all</DirectReference>

That reference is one you will see in the event file since it's an event that strips all the clothes of the slave.


I hope I've explained it in a compresible manner.
See you next tutorial!

Friday, April 17, 2015

Validation for event reference

As I already mentioned in this previous post I wanted to add to the event validator a way to validate whether a event reference is valid or not.

What's a event reference?
It's a way to call an event from within another event. (programming metaphore: if an event is a function an event reference is a call to that function)
Anyway, I'll explain that better in a event tutorial.



Anyway, having that check is really useful. In fact there where already 4 bad reference in some older events, that now are fixed.

Saturday, April 11, 2015

Thursday, April 9, 2015

Working on the shop

Hello,

I'm working on shops, that will be used by the player to buy and sell stuff.

It's probable that in the first release of the game there will only a shop, that will let buy some of the already implemented dresses.

In the future, I tought that some jobs might give you items instead of money that could be used for something or sold in shops (basic example: cutting woods will give you log, you can use them to craft shit or just sell them in a shop)

At the moment shop support only buying but in these days I'll add the sell part.

In the image you can see the test shop.
As you can see is pretty similar to the normal inventory but has an additional column.

For the first release shops will be pretty basics:

  •  items don't deplete, you can buy as much as you want (as long you have the money)
  • you can buy one item at a time, for dresses it might be fine but if in the future I'll add collectable items, there will be a need to buy items in bulk.





Monday, April 6, 2015

Added EventSteps for item related things

Hello after creating the basic inventory system I had to add a way to interact with it during events.

In particular, who writes events, at the moment need two things in particular:


  • Add/Remove items
  • Equip/Unequip items

Those action had been traduced to 4 event step:
  • AddItem
  • RemoveItem
  • Equip
  • Unequip
In game items are defined using an xml file, for each item there's a creationId. That id is used when you need to create the item itself.
All but the Unequip event step require as input parameter the creationId of an item.

Let's see:

<AddItem>ChinaDress</AddItem>
Will add the item defined in the xml with id ChinaDress to the player inventory

<Equip>ChinaDress</Equip>
Will remove the item from the player inventory, move it to the slave inventory and equip it.

<Unequip>Shirt</Unequip>
Since the ChinaDress item is equipped on the shirt slot, calling this event step will unequip it (ie. remove it from slave inventory and put it back in player inventory)

And finally:
<RemoveItem>ChinaDress</RemoveItem>
Will remove the item from the player inventory.


But why the equip doesn't take the item id as parameter?
I find it strange that someone would like to remove exactly a specified item (anyway this is possible using expression).
A more common case (actually the only I had) is that I need to remove all dress or only a couple of them, doing that using item id is practically impossible.

Bonus info:

The current slots for dress are:
  • Shirt
  • Trousers
  • Bra
  • Panties
An equippable item can occupy 1 or more slot.


Thursday, April 2, 2015

Working on the inventory system

Ahoy, yarrr.
Why the pirate sounds, you might ask.
Well, yes, as you probably was thinking, the reason for that is totally random.


Anyway, I'm now working on a inventory system.
It's not the first time I try to model a item system and I remember that I always struggled to that.
But this time seems to be going in an interesting way.
All thanks a post I've found in some forum were people were talking about how to make a inventory system.

Well, I show you how it's now (it's a bit crude but it's just to show how the interaction goes).

1. The inventory will show both the player and the slave inventory.

2.Clicking on an item will open a context menu which can have 1 or more actions. For example: Equip, Use, Sell... In the example here bra is a dress and so can be equipped.

3. Selecting Equip will move the item to the girl inventory and equip it (as you can see by the subtle white under the top)



Now, for the technical part. How the Inventory system actually work.
Earlier I said I read the post. That post actually kinda opened my mind.
One of the people told to just make a base class Item and then subclass to make more specialized items.
E.g. Item -> EdibleItem -> Cake

That's was my idea at first, but then someone wrote something like this:
Instead of subclassing you should think an Item as a set of feature.
BOOM. That blow my mind.

Long story short, items in game are substantially just a named container for action you can do with them.
For example the bra we have seen in the images is an Item named bra, which contains an action named Equip. The Equip action when called move the item to the slave inventory and equip it.

This let me attach behaviour to the object freely.
Next thing I'm gonna do is to create some kind of store in the game and add a Sellable action for the items.


Okay, that's to much for one post, so see you next time YAAAARRR