Yaffaif 0.12, Phantom flan flinger
General | Posted 11 years agoAnother update to Yaffaif, now with edible weaponry. What a shame they are in the hands of your opponents! Lots of under-the-covers changes to allow transformational attacks, and for NPCs to switch weapons. Usual complement of bug-fixes and typos too. See, I am still working away at it!
While I remember, if you like pudge and curves, take a look at the gallery of
eos9
While I remember, if you like pudge and curves, take a look at the gallery of
eos9How times have changed
General | Posted 12 years agoBack in the day, and I'm talking about late 90's here, folks going to furcons seemed to be compelled to write about it immediately on return and upload the photos as soon as they could (with the race being won by those with the new-fangled digital cameras - even if they did have to be big enough to fit a 3.5" floppy). It was almost part of the con-going right of passage. Natch' the always-connected smart-phone/tablet world has changed that; everything that needs to be said has already been said/tweeted and "con-reports" are more along the lines of back-cruddy-knackered-was-fun.
This year, the first FC report I've read (actually, heard) was in el Reg [1]. Seems their journo got checked into the same hotel. And before anyone gets their hackles up, they were positive and had fun with it, just like we would have done.
[1] http://www.theregister.co.uk/2014/0.....ch_episode_93/ - the bit your interested is at the start (unless you're also interested in cloud ...)
This year, the first FC report I've read (actually, heard) was in el Reg [1]. Seems their journo got checked into the same hotel. And before anyone gets their hackles up, they were positive and had fun with it, just like we would have done.
[1] http://www.theregister.co.uk/2014/0.....ch_episode_93/ - the bit your interested is at the start (unless you're also interested in cloud ...)
Yaffaif 0.11, Java changes, hosting
General | Posted 12 years agoThere's a new version of Yaffaif, now with some transformational content and a fix to the combat. There's a considerable amount more work to do before a complete TF from one species to another can occur, so I figure an interim version would be a good thing. I also need to update links and things because...
Java security is changing. The next update (due mid Jan?) will stop unsigned code being run from web sites at all, and since I can't afford a code signing cert (not for a hobby project in an alpha state), that means you won't be able to play the game in the browser when this happens. It is also supposed to be moving the security baseline, so existing Java versions will stop running unsigned code until they are upgraded. You'll have to download and unpack the zip to play.
I'm also looking to host the content elsewhere, Demon (my ISP since 300baud dial up) are basically getting out of the home user market, so the current website will be going. An suggestions for a hosting with a flexible (adult friendly) AUP would be appreciated.
Java security is changing. The next update (due mid Jan?) will stop unsigned code being run from web sites at all, and since I can't afford a code signing cert (not for a hobby project in an alpha state), that means you won't be able to play the game in the browser when this happens. It is also supposed to be moving the security baseline, so existing Java versions will stop running unsigned code until they are upgraded. You'll have to download and unpack the zip to play.
I'm also looking to host the content elsewhere, Demon (my ISP since 300baud dial up) are basically getting out of the home user market, so the current website will be going. An suggestions for a hosting with a flexible (adult friendly) AUP would be appreciated.
Yaffaif 0.10
General | Posted 12 years agoI can't believe it's 3 months since the last update. I haven't been idle, and the latest update includes a mostly working text parser. It's a bit of an interesting challenge, and had to be tackled sooner rather than later. It's uncovered a number of other changes that have been made, with more to follow.
The console now has some more commands (again mainly for debug):
/d - dump the vocabulary
/v - dump the verb forms
/t - dump the vocab tokens
A lot of the words are adjectives from the colour system which will come into play once you start getting transformed.
The console now has some more commands (again mainly for debug):
/d - dump the vocabulary
/v - dump the verb forms
/t - dump the vocab tokens
A lot of the words are adjectives from the colour system which will come into play once you start getting transformed.
Yaffaif console
General | Posted 12 years agoOver at the newly formed Growing Games forums (go on, give it some love) Atticus Arc suggested documenting console commands so players could experiment with characters before the game content allowed it. Yaffaif is definitely in this iceberg state, as the starting area is being developed to prove out the game engine.
So, as teaser/cheater here are some things you can do using the console. FA may break this formatting, lets see:
Console commands
All console commands are entered in the command text box and start with '/'
(I'll add '~' at some point too).
The next character determines the operation:
? - query
= - assign
> - goto
+ - creation
The query and assign operations need parameters that identify an
object in the game, and then a getter/setter for that object.
$0 refers to the current player
'/' refers to the GameSpace, which is the root of all items and areas
A name in square brackets (such as [val1.village.hospital.kerry])
refers to an item/person by its id. Ids are typically formed from
the initial area names "val1", "village", the location "hospital",
and the object id "kerry" separated by '.'s.
Some detail of the structure of the game can be had by opening
the GameF.jar file in an archive utility (rather than running
the game) and looking at the game.xml file, and those it includes
in the area directory.
For a complete understanding of the various getters and setters
you need to refer to the Javadoc, but this is not available yet.
Get Values
Use the query '?' operator to display values.
Getters can be chained by separating names with '.'s.
How long is your hair?
/?$0.body.head.hair.lengthMm
+ $0.body.head.hair.lengthMm=30
How heavy are your boobs (total) in grams?
/?$0.body.bust.mass
+ $0.body.bust.mass=1515
How heavy are Kerry's boobs?
/?[val1.village.hospital.kerry].body.bust.mass
+ [val1.village.hospital.kerry].body.bust.mass=7579
Set Values
Use the assignment '=' operator to set values.
The last part after the last '.' is the variable to set.
The new value is supplied as a parameter in brackets.
The console performs auto type conversion as best it can to
strings, integers, booleans, and enums.
Note: Upper bounds to most numeric variables is Integer.MAX (2147483647)
Other objects can be referred to as parameters using the '/', '$', or '[]'
syntax. Multiple parameters can be separated by ','.
Internally these are converted to calls to getters and setters so
"body.bust.mass(2000)" becomes getBody().getBust().setMass(2000).
If the setter does not exist then an attempt is made to find a method
without the "set" prefix. So it is possible to call many other methods
this way.
You can get into a lot of strange (potentially game-breaking) situations
using the assignment operator!
Making 'Velour' a human male character (sort-of):
/=$0.persName.family(smith)
+ $0.persName.family(smith) returned true
/=$0.persName.given(john)
+ $0.persName.given(john) returned true
/=$0.name(John)
+ $0.name(John) returned true
/=$0.sex(male)
+ $0.sex(male) returned true
/=$0.species(human)
+ $0.species(human) returned true
/=$0.body.bust.moobs(true)
+ $0.body.bust.moobs(true) returned true
/=$0.body.bust.mass(100)
+ $0.body.bust.mass(100) returned true
But you'll still be dressed as a girl, and have a female build (apart
from the boobs fixed above)!
Transform your eyes into feline ones:
/=$0.body.head.eyes.species(cat)
+ $0.body.head.eyes.species(cat) returned true
Glow-in-the-dark player who never needs torches:
/=$0.lightSource(true)
+ $0.lightSource(true) returned true
Changing the player character to one of the NPCs:
NOTE: Here be dragons; may break quests, may just break.
/=/player([val1.village.hospital.kerry])
+ /player([val1.village.hospital.kerry]) returned true
Or:
/=/player([val1.village.pub.arthur])
And back (best put the NPC where you found them first):
/=/player([velour])
Moving
Use the goto '>' operator to teleport. This bypasses all the checks
normally performed with movement (combat, mobility, exits).
/>val1.mine.entrance
You leave the main room.
-- Mine entrance --
You are standing in the entrance to the old mine workings. Ferns and
small plants grow on the damp rough hewn walls where daylight penetrates.
Within a short distance the vegetation gives way to dark stone. The tunnel
stretches on into the hillside. There is a doorway, SouthEast, to the valley
head. There is a tunnel to the NorthWest.
Creation
Use the add '+' operator to create items from factories
The created item will be on the floor in the player's location.
A bacon butty:
/+food,baconButty
+ created Food:console1
The id of the new item is reported after the class name and the colon,
so you can modify it using assign:
Give it a new id:
/=[console1].id(mybutty)
+ [console1].id(mybutty) returned true
And a silly number of calories:
/=[mybutty].kcals(1000000)
+ [mybutty].kcals(1000000) returned true
A healing potion:
/+potion,healingPotion
+ created HealingPotion:console2
Make it maximum potency:
/=[console2].potency(1000)
A new weapon:
/+weapon,broadSword
Make some male clothes:
/+clothing,underpants
/+clothing,trousers
/+clothing,stringVest
/+clothing,flatCap
/+clothing,boots
/+clothing,shirt
Clothing created this way will always fit you when you first wear it.
Once you do it auto-fits to your current size.
So, as teaser/cheater here are some things you can do using the console. FA may break this formatting, lets see:
Console commands
All console commands are entered in the command text box and start with '/'
(I'll add '~' at some point too).
The next character determines the operation:
? - query
= - assign
> - goto
+ - creation
The query and assign operations need parameters that identify an
object in the game, and then a getter/setter for that object.
$0 refers to the current player
'/' refers to the GameSpace, which is the root of all items and areas
A name in square brackets (such as [val1.village.hospital.kerry])
refers to an item/person by its id. Ids are typically formed from
the initial area names "val1", "village", the location "hospital",
and the object id "kerry" separated by '.'s.
Some detail of the structure of the game can be had by opening
the GameF.jar file in an archive utility (rather than running
the game) and looking at the game.xml file, and those it includes
in the area directory.
For a complete understanding of the various getters and setters
you need to refer to the Javadoc, but this is not available yet.
Get Values
Use the query '?' operator to display values.
Getters can be chained by separating names with '.'s.
How long is your hair?
/?$0.body.head.hair.lengthMm
+ $0.body.head.hair.lengthMm=30
How heavy are your boobs (total) in grams?
/?$0.body.bust.mass
+ $0.body.bust.mass=1515
How heavy are Kerry's boobs?
/?[val1.village.hospital.kerry].body.bust.mass
+ [val1.village.hospital.kerry].body.bust.mass=7579
Set Values
Use the assignment '=' operator to set values.
The last part after the last '.' is the variable to set.
The new value is supplied as a parameter in brackets.
The console performs auto type conversion as best it can to
strings, integers, booleans, and enums.
Note: Upper bounds to most numeric variables is Integer.MAX (2147483647)
Other objects can be referred to as parameters using the '/', '$', or '[]'
syntax. Multiple parameters can be separated by ','.
Internally these are converted to calls to getters and setters so
"body.bust.mass(2000)" becomes getBody().getBust().setMass(2000).
If the setter does not exist then an attempt is made to find a method
without the "set" prefix. So it is possible to call many other methods
this way.
You can get into a lot of strange (potentially game-breaking) situations
using the assignment operator!
Making 'Velour' a human male character (sort-of):
/=$0.persName.family(smith)
+ $0.persName.family(smith) returned true
/=$0.persName.given(john)
+ $0.persName.given(john) returned true
/=$0.name(John)
+ $0.name(John) returned true
/=$0.sex(male)
+ $0.sex(male) returned true
/=$0.species(human)
+ $0.species(human) returned true
/=$0.body.bust.moobs(true)
+ $0.body.bust.moobs(true) returned true
/=$0.body.bust.mass(100)
+ $0.body.bust.mass(100) returned true
But you'll still be dressed as a girl, and have a female build (apart
from the boobs fixed above)!
Transform your eyes into feline ones:
/=$0.body.head.eyes.species(cat)
+ $0.body.head.eyes.species(cat) returned true
Glow-in-the-dark player who never needs torches:
/=$0.lightSource(true)
+ $0.lightSource(true) returned true
Changing the player character to one of the NPCs:
NOTE: Here be dragons; may break quests, may just break.
/=/player([val1.village.hospital.kerry])
+ /player([val1.village.hospital.kerry]) returned true
Or:
/=/player([val1.village.pub.arthur])
And back (best put the NPC where you found them first):
/=/player([velour])
Moving
Use the goto '>' operator to teleport. This bypasses all the checks
normally performed with movement (combat, mobility, exits).
/>val1.mine.entrance
You leave the main room.
-- Mine entrance --
You are standing in the entrance to the old mine workings. Ferns and
small plants grow on the damp rough hewn walls where daylight penetrates.
Within a short distance the vegetation gives way to dark stone. The tunnel
stretches on into the hillside. There is a doorway, SouthEast, to the valley
head. There is a tunnel to the NorthWest.
Creation
Use the add '+' operator to create items from factories
The created item will be on the floor in the player's location.
A bacon butty:
/+food,baconButty
+ created Food:console1
The id of the new item is reported after the class name and the colon,
so you can modify it using assign:
Give it a new id:
/=[console1].id(mybutty)
+ [console1].id(mybutty) returned true
And a silly number of calories:
/=[mybutty].kcals(1000000)
+ [mybutty].kcals(1000000) returned true
A healing potion:
/+potion,healingPotion
+ created HealingPotion:console2
Make it maximum potency:
/=[console2].potency(1000)
A new weapon:
/+weapon,broadSword
Make some male clothes:
/+clothing,underpants
/+clothing,trousers
/+clothing,stringVest
/+clothing,flatCap
/+clothing,boots
/+clothing,shirt
Clothing created this way will always fit you when you first wear it.
Once you do it auto-fits to your current size.
Yaffaif 0.09a
General | Posted 12 years agoI've been quietly getting on with the game, putting updates onto the website, and editing the info from the original post. As I'm not sure if this is particularly obvious, I'll try and remember to fire off a journal entry too.
One new problem is the latest Java update changes the default security settings, so there's an even more ominous pop-up before the game runs. Rather than have the sirens and alarms go off as soon as you land on the page, I've moved the in-browser version to a second page. That way at least you can read about the pop-ups and what to expect before they happen (and hide the text explaining the pop-ups...). It does mean the game isn't on the landing page any more, but one click away.
One new problem is the latest Java update changes the default security settings, so there's an even more ominous pop-up before the game runs. Rather than have the sirens and alarms go off as soon as you land on the page, I've moved the in-browser version to a second page. That way at least you can read about the pop-ups and what to expect before they happen (and hide the text explaining the pop-ups...). It does mean the game isn't on the landing page any more, but one click away.
Ego surfing of a fashion
General | Posted 13 years agoIn one of those staring-at-firefox moments I searched on ebay for some of the products the hardware company I used to work for made. I was quite surprised to find a few on offer, even the last one I'd designed:
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=150920789433
When I saw it I thought I might pick one up a a souvenir, that was until I saw the price!
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=150920789433
When I saw it I thought I might pick one up a a souvenir, that was until I saw the price!
Yaffaif 0.06
General | Posted 13 years agoFinally built and uploaded a new version. Huge internal changes, but probably the things you'll notice are that the descriptions are less broken, and the quest system is working. There's only one quest that can be completed: the first weapon quest.
Yaffaif progress
General | Posted 13 years agoI'm currently digging up (refactoring -right) the code that builds the player and NPC descriptions. The one-shot approach of going from model to text in the current version is too complex to maintain and regularly outputs strange things. The new one takes many small steps to get from the model to the text, and has the advantage that I can see how it can work, and can test each step. That's the good news. The bad news is that it needs to be finished before things can move forward, and it is taking some time. The next update will probably be when it's surpassed with the existing code.
I'm not going to be setting myself deadlines, or making promises, my life is too erratic to meet either. Don't hold your breath, but equally it isn't (another) abandoned game.
I'm not going to be setting myself deadlines, or making promises, my life is too erratic to meet either. Don't hold your breath, but equally it isn't (another) abandoned game.
Faves without comments
General | Posted 18 years agoNo, not another rant on the subject, just an apology; I'm 1700++ images behind, and I'm faving things so I _might_ stand a chance of commenting later. Things have been mad, I haven't put pen to paper (or tablet) in over a year. Bad, bad, bad...
One step forwards, two steps back
General | Posted 19 years agoSo, I got around to the whole account setup, uploaded some stuff, and then ... my laptop gets stolen. Then, partway through re-installing an old desktop, we get a lightning that breaks some of the networking kit.That's why I've been so quiet. Kinda back online, but still dealing with the aftermath.
Getting up to speed
General | Posted 19 years agoBeen putting off re-instating my account here, but have taken the plunge and will be getting started by trying to find all the folks I used to watch.
25 journals skipped
FA+
