Hi all,
My last post went over defining the first part of the blackmail scene's actions. At that point the actual text in the .vm file was mostly just todo comments. The next stage is to actually fill that in.
This also involved a few adjustments to the yaml file, so you should download both of the new ones before running the scene: the yaml and the velocity.
It's important to run tests as you go. I found issues in almost every single action while testing, although these have all been corrected in the above files - let me know if you spot any undetected bugs.
In my next few posts I'll be putting the spotlight on certain specific parts of the text and discussing them. Let me know in the comments if there are any you want to focus on.
The development blog for Newlife, a free female-perspective erotic lifesim game.
Showing posts with label Custom Scene Example. Show all posts
Showing posts with label Custom Scene Example. Show all posts
Monday, 18 September 2017
Thursday, 14 September 2017
Custom scene example part 3: Starting with the YAML for the first part of the scene
Hi
all!
This
is the 4th post in this series about making new scenes for
Newlife. For the earlier posts see: Intro, Overview &Preconditions, Planning.
A
quick warning: there are some changes to things like method names
coming in 0.4.12. As such, the examples given here will not work
properly in older versions.
After
planning a scene, the next step to actually making content. There are
a number of ways to do this, and you might find your process is
different from mine – that's fine.
One
approach I sometimes use is to simply write out a key path from the
scene in a text document and then convert it into actions.
For
this scene though, I'm taking the opposite approach: I'm going to
define the actions first and then I'll fill them in with actual text
later. This has the advantage of letting me run tests early on while
the files are quite simple.
I'm
also splitting the scene up into sections. To start with, I'm just
doing the parts in the Part1 diagram from the planning stage. This
makes sense for this scene because part1 covers the path where the PC
complies with blackmail while all the other paths split off from a
single action: the one where her partner finds out about her
cheating.
You'll
see some slight changes from the planning stage such as the new
"agree meekly" action and in later posts you'll see that I
end up making some changes to the yaml files as well.
That's
normal. Scenes usually get refined as I work through them and come up
with new ideas. The plan is supposed to help organise my thoughts and
understand how the scene will flow: it shouldn't be an inflexible
commitment.
I've uploaded these first-step files: YAML and VM. You can run them the normal way, by copying them into the newlife/additional_scenes/user_custom_scenes folder, enabling custom scene testing in the game options and then choosing the test custom scene weekday-evening action.
You'll need to use 0.4.12 or later for this to work - that isn't possible at the time of writing, but I'll try to get a dev version out with these custom-scene changes soon.
Saturday, 9 September 2017
Custom scene example part 2: Planning the scene
Hi
all!
Once
you've decided on your scene's overview and preconditions, it's time
for detailed planning.
This
isn't something you need to share on discord, although of course it's
fine to do so if you want feedback. Instead, it's a final step to
make sure you yourself have a good idea of how your scene will be
structured.
This
can also help notice any issues where your scene might not be
supported by the custom-scene framework. In this case you can raise
the issue on discord, patreon or another site I read. I might be able
to make addtions to support your scene. If not, you may have to work
around limitations or maybe take a different approach to a certain
path. This will vary on a case-by-case basis, and it's good to know
early on before you start serious writing.
In
my design stage I came across a number of issues. For example,
version 0.4.11 did not allow custom scenes to un-friend an NPC. So, I
ask the dev to add a method on discord. Fortunately they were willing
to do so:
How
you plan your scene will depend a bit on its overall structure.
Turn-based scenes, despite usually being larger, have a simpler plan:
just lists of key actions for each character.
Flowchart
style scenes such as this example one can be sketched out as graphs
of nodes representing the PC and NPCs actions.
Usually
flowchart scenes don't use the NPC-action system. Instead, the NPC's
actions will be rolled into the PC ones. For example, the PC action
"answer the door" will automatically be followed by the
jerk NPC making his blackmail demand.
For
this example I've used software to make a proper flowchart, with
circles representing PC actions and rectangles for everything else.
This
isn't what I always do. I usually take a less formal approach to
planning – I'll sketch out the design in pen on the back of an
envelope.
You
don't need to spend this much time on your scenes. Your plan doesn't
need to be an example on a blog – it just has to help you
understand how your scene will work.
It's
also fine for your scene to vary from the plan as you work – in
fact it usually will, as you come up with new ideas while writing.
Still, I think having that initial overview is very helpful.
Here's
the plan for the jerk blackmail scene. It's split into 4 files. I'll
also use these to work in stages, making the scene in chunks that can
be tested before the whole thing is completed.
Wednesday, 6 September 2017
Custom scene example part 1: Overview and Preconditions
Hi
all,
Step
1: Overview
The
first step when making a new scene is to write an outline. It's a
good idea to post this to get early feedback from me or from other
writers.
A
good place to do this is on discord. Use the general-scene-creation
channel and tag me to draw it to my attention.
This
is important because it might let you catch issues early on before
you start dedicating much time to the scene - for example if someone
else is already working on something very similar.
The
outline itself should be short: just a few sentences.
It'll
also be helpful to follow it with a summary of key paths through the
scene – those that are likely to be most interesting to players.
Here's
a screenshot of how you might report a scene idea on Discord:
Step
2: Preconditions
The
next step is to decide on the preconditions. You don't necessarily
need to report these to me, unless you're unsure if they can be
implemented in the game.
It's
helpful to decide on them early though because they'll affect your
writing.
For
example, this example scene requires that the jerk has the "jerk"
personality, which means there's no need to write content for other
ones. Choosing your preconditions before you start work might help
avoid wasting time writing content that'll never be seen by players.
You
can also write comments about scene frequency in your precondtions.
This isn't important for your writing, but it'll be helpful when I
connect the scene up to existing Newlife content.
My
preconditions for the blackmail scene are as follows:
The
PC has a partner.
A
male NPC exists for whom all the following are true:
-
Is not the PC's partner.
-
Is not a restricted special NPC (i.e. does not have the
no_random-appearance trait).
-
Has the Jerk personality.
-
Does not have max liking (close level) towards the PC
-
Has not been TROUNCED by the PC, and has not had a negative outcome
from previous blackmail attempts.
-
The PC has cheated on her partner with this NPC, and that cheating
has not been discovered or timed out.
Any
severity of cheating is valid (other than NONE, obviously), but the
scene should perhaps be more common at higher severities.
The
overview and preconditions should be added to the top of your YML
file, in a comment. You should also add the username you want to be
credited as in the changelog, unless you want your submission to be
treated as completely anonymous.
Tuesday, 5 September 2017
Custom scene example: Introduction
Hi
all!
For
the next release I'm going to work through a new scene for the game
using Velocity & Yaml as an example for scene-writers. I'll be
showing the full process, including non-writing steps.
This
will probably take longer than adding content in the Java, especially
as I'll be documenting the process, but I think it'll prove valuable
for getting other people's work into the game in the future.
Unlike
the existing example scene, this one will be a proper in-game scene
that'll be fully included for everyone to play through as a random
event.
This
will be the only major change in 0.4.12, so it'll be a smaller
release than usual: hopefully this means it'll also be quicker,
although it's hard to be sure how much overhead doing this as an
example will add.
There's
a few things writers should know about this new scene:
It's
a narrative scene structured
in a flowchart-style. As such I don't expect to make any use of NPC
actions or the default PC action functionality. These are primarily
used for turn-based
scenes, which are often larger and more complicated than the scene
I'll be adding.
It's
difficult to be certain of the scene's size, as I have a tendency to
go off on writing tangents and make things bigger than they need to
be. However, the intention is for it to be a mid-sized
scene. Not so big that it's
confusing to read, but not so small that it's trivial as an example.
The
writing process will involve new functionality being
added to the custom scene system. For example, I've added a new
method to retrieve cheating severity.
This
isn't ideal, but it's necessary because it's quite a new system and
because I'll be working with some new game mechanics that haven't
been fully fleshed out yet for custom scenes.
You
might find yourself in a similar situation if you're a writer. If
you're making a scene and find that you need a certain transition or
method that exists in the main game but isn't available for custom
content then you should just make a post, comment or discord message
(flagging me to get my attention) and ask me to make the change. I
expect to be refining the custom scene system over several releases
before it reaches its final state.
In
the long-run, once the system gets more mature I expect it should
reach a point where changes only need to be made when new game
mechanics get added. That'll make things a lot easier, and it's a
place I want to get to before I start comissioning paid writers to
work on the game.
Subscribe to:
Posts (Atom)






