Tuesday, 31 December 2019

2019 review post


I was planning to write a review of what I've done this year in the vague realm of game dev, but then I glanced at my last post, which summed up what I'd been doing from around september 18 to may 19 sort of time.

So, I'll talk about the other project I've worked on that I didn't mention last time around!

https://atpprojects.itch.io/miseriarpg

I made the soundtrack for Miseria by atpprojects. It was a lot of fun to work on, the settings and pacing of the game offered a lot of inspiration for the type of audio that I made. There's a mix of ambient and quite abrasive textures in the soundtrack, and I think sounds much better when experienced as part of the visual novel! So check it out if you like the sound of the game, it is free on itch.io

Also I did put the OST on my bandcamp, which can be found from my site http://sleepyagents.co.uk
Or just go straight there if you like - https://sleepyagents.bandcamp.com/

Since the last post I have also added 2 new classes to skillshare, here is one of those links that get you 2 months free and also gives me 10usd - https://skl.sh/2HkV5X2
They are also music production related.

That's it for this post. I hope to have some more game dev stuff to share in early 2020! Best place to find out is my twitter!

Friday, 31 May 2019

What has happened since my last blog post!?

OK, It's been a while since I posted here (like about a year). But that's not because I've done nothing!
It's just I tend to use twitter instead when I have some news to share.
Anyway, I wanted to do a quick update!

So, Departure Lounge, isn't really any further along, I struggled a bit getting the art style down. I haven't abandoned the project, I just haven't done much work on it :'D

I have however done a nanoreno game this year - https://sleepyagents.itch.io/seven-seasonings called Seven Seasonings. It's got a bit of trading and some dice rolls in it!

Recording the Predestined Time (by myself and amorphous) was released in Feb - https://amorphous.itch.io/recording - we spent some time fixing up the little things that needed fixing! (and I put the OST onto my bandcamp.)

Back in September '18 I made this https://sleepyagents.itch.io/sleepy-rhythm-machine - Sleepy Rhythm Machine, which is more of a toy than I game I guess.

So, that's the main Sleepy Agents news! I'm also doing lots of audio stuff, so I'll try to remember to post here a bit more frequently.




Finally, today I posted my first ever online course, which is on Skillshare, it's about programming drums for electronic music, and it's aimed at beginners, you can check it out here -  - if that sounds interesting to you! <3

Monday, 4 June 2018

Development Blog - Music All Month May - Departure Lounge

I didn't post a blog at all in May! Oh no.

Well, I did work on music pretty much all month. ♪ I thought about doing a more technical 'how-to' type blog post (related to music), but I think that can wait until after I've finished this game!

I have recently uploaded a couple of WiP pieces of music to my soundcloud: https://soundcloud.com/sleepyagents check em out! ♪

But they might be gone when you read this - if they are gone they've likely been replaced with more music for Departure Lounge, so either way you'll get to hear some music ^^

At the moment I am sort of feeling my way towards creating actually usable assets. I have some art concepts, scene sketches, lots of music in various states of completion, so during the next couple of months I'll very likely begin putting stuff in engine!

Perhaps I'll have some art or something more visual ready for my next blog post.

Till then :)

Sunday, 22 April 2018

Development Blog #9 - Continuing with concept art - Departure Lounge

I thought it'd be fun to put my early character concept alongside my most recent.

Early concept:

October 2017

To now, recent concept:

April 2018
The main things that I've noticed changing over the months are the eyebrows and piercings. The current design, although still pretty similar, fits the character better. There were some things about the character that I didn't know back in September.

As a bonus here is my very first sketch of this character! (from around September 2017)

XD

till next time!

Tuesday, 3 April 2018

Development Blog #8 - Random concept art - Departure Lounge

Hey!
Here is some random concept art presented without comment (or nearly without comment!)



I got some watercolours about a month ago, so I've been combining playing with those at the same time as making concept art. Wow so efficient >.<

Thursday, 22 March 2018

Development Blog #7 - Departure Lounge - Finding fonts and deciding!

I used to sometimes look for fonts on a site called dafont. But I much rather use Google Fonts these days. I saw on a couple of occasions licenses on dafont which were different to licenses on other websites for the same font, which made me a little wary. Also, Google Fonts has a pretty good user interface. https://fonts.google.com/

The only thing I struggled with initially was finding a download button!
BTW you have to add your font to a selection and then open the selection which is where you find the download button, like this:


There are probably other ways to download fonts from Google Fonts, maybe!?

Anyway, what I tend to do is use the preview tools and the filters (for my title I wanted a font with serifs).

I ended up downloading way too many! Here are some I tried:


I just deleted the ones which I didn't think were quite what I was looking for.


Then I cut them down to the final four candidates!


In the end I went for the font that I liked the most before I even hit the download button. I have no idea if that is down to intuition or some kind of bias!

I'll reveal the font I decided on when I have a decent title screen ready to share!

Till next time!



Thursday, 15 March 2018

Development Blog #6 - Departure Lounge - Progress so far month by month

I'm going to do shorter posts for the next couple of months, as I begin to plan out assets and all that exciting stuff!

Today I wanted to highlight what has been happening on the project since around last September:

September - I had a weird dream that formed a couple of ideas for the story! Also started to scribble notes in a notebook, some about plot and setting and more on characters.

October / Inktober - I drew some character concepts.


November / Nanowrimo - Wrote the first draft of the story which came out at around 13k words.

December - Refined the first draft. Some music work.

January - Started the second draft. More music work. (I started using FL Studio as my main music production software, so I had to adjust to the new workflow).

February - Lots more music. (Also I watched loads of the winter olympics which meant I had less time than usual!)

March - Oh, we're here, in the present. I still haven't finalised the second draft. But I have begun work on the visual concept. Trying out some GUI ideas and starting to make decisions on the art style. And more music!

That's all for now.
Till next time!

Sunday, 18 February 2018

Development Blog #5 - Thinking about walking sims

Progress on the rewriting has been steady. Around a third of the scenes have been rewritten, so there is still a bit to go.
Concept art and music is starting to come together, which is going to be helpful when asset creation starts.
The next dev log post will probably be about music, as I have a piece that I'm working on that I'm planning on developing into a piece for the VN.

My current thinking is that I'm quite likely to present the game as a kinetic novel - but I am still considering whether choices may be included, so that is not at all final yet.

It's one of those things that I think about when playing a game. The whole player agency and authored experience spectrum. It's quite tricky deciding when and where the player has control, it can easily be jarring. For example, you might be controlling the protagonist walking around an environment, say in a 'walking sim' type game, which is really nice for a feeling of immersion. Then because the game isn't a massive open roleplay type of game, you inevitably at some point lose that agency because you have to get back on track with the authored story of the game to progress. In times like this you can feel fluctuations in the resonance between player and protagonist, where, from some points of view, it would be more elegant for there to be greater consistency.

Every experience requires careful thought from the designers side. Knowing what you want to achieve is important, but there's also concerns over things like audience expectations and desire, especially if the game is intended for commercial release.

Accessibility is something that can come into this decision also. Is control over timing of button presses important to the experience you are trying to create? I feel like there are games I'd like to experience the story of, but wouldn't want to spend lots of time (and probably frustration) on trying to hit buttons at the right time, failing, and trying again and again until I succeed.

For my game I'm expecting to keep working on it as a kinetic novel, and if at some point I decide that interaction would add something, then I may very well decide that it will no longer be a kinetic novel. It sounds quite easy when I say it like that, but I know from past experience that it will be something that I worry about quite a lot during development!

Till next time!

Sunday, 28 January 2018

Development Blog #4 - The rewrite, iterate, and influence

I am in the process of rewriting my script for the game (that is getting closer to being called Departure Lounge, but is still without a definite title!). It's something I wish I had more practice with, but I feel like my relaxed pace is helpful. I'm giving myself enough time to sit back and really think about scenes and whether they should be cut or reworked drastically.
Saying that, I would like to have a finished second draft before spring so that I can make some decisions about assets!

'Iterate, iterate, iterate' is advice I've heard a lot, but with all of my game jam games I had an inner voice reply 'no time to iterate!'. Of course, certain assets I created using processes of iteration, but when it came to things like plot and writing it was something I found difficult. I'm making a conscious effort to iterate my writing more and learn about editing.

I'd like to get very close to a finished script with my second draft. I really don't know at this stage whether that is going to happen. Regardless, if I can finalise the scenes I will be able to move onto the assets! There will also be some brainstorming of visual aesthetics and other things like that which I am looking forward to! (And I can have some blog posts which aren't walls of text!)

***

I forgot in my last post about music to mention something which I had intended to - influences. I find that things like tv, film, anime are often quite inspirational. (Soundtrack work is intriguing, how a scene could have a very different feel with just a small change in the audio.) I would like to play more games that have interesting music, music that I find unusual or noteworthy and that ties into the game either through setting or even mechanics. The games that come to mind, that I have had the pleasure of playing, are a couple of games by Cosmo D - https://cosmoddd.itch.io/ - Off-Peak and The Norwood Suite. I think both games had a great approach to audio, you can feel the creators passion for music in general as well as for the pieces that are in the games. They are quirky, but very listenable pieces that work well in the context of loopable background music, and the added mechanical aspects (such as walking from one area to another, or interacting with piano keys) made the audio that much more captivating.

Perhaps I will write about some of my other influences in future posts.

Till next time!

Friday, 5 January 2018

Development Blog #3 - Music for games, getting started.

I'll probably do a number of posts on the topics of music and audio. ^^

I've been making music with software for over ten years (although I did have a few years of hiatus in the middle of that), so it's something I've been doing for much longer than game dev.

This first post on music is about the initial stages, coming up with some concepts for the audio in the game.

With a visual novel you may decide that you'd like some pieces of loopable music to be the key pieces (perhaps based on the themes or tone of the story), then possibly a number of shorter sections either of music for dramatic scenes or even foley work (sound effects such as wind, rain, clock ticking, etc.). For long stories you'll probably want quite a lot of different pieces to reduce the need for lots of repetition (which can be annoying for the player).

But before creating an asset list or anything like that I like to jam in my DAW (music software), with the story in the back of my mind.

So for this game, which is still under the working title of Departure Lounge, I know that the setting is modern UK and the themes and tones revolve, in part, around technology and mystery. This is plenty to go on! I'll no doubt end up making some pieces that are fairly beatless and ambient (which usually works well with visual novels as the player will be reading a lot and shouldn't necessarily be distracted by the soundtrack), but for now I'm making essentially dance music loops.

There might be music jargon in the next few paragraphs - sorry >.<

I'll load some drum samples first usually, I've been feeling some 909 drums lately! Then either a pad or some bass (perhaps leaning slightly towards more trippy/psychedelic sounds for these - lots of delay and acid basslines!). Setting a tempo of around 124-130bpm usually works for me when I just want to jam with some ideas, but occasionally I'll do something at a wildly different bpm.
As a quick aside, I find it very useful to save the bpm as part of the filename - because at some point later in development I might want to time some animations to the beat!

Here is an example of a quick bare bones piece I made recently:


 

I quite like some of the sounds and the energy. But it's unlikely to be useful as it is. So now begins a process of refining or redeveloping ideas to get something that will be closer to a piece that could be potentially used in a visual novel.

Here is a stripped down and slightly edited version of the section I was feeling the most.




This will probably be on my hard drive (and backups of course!!! remember to back up. always always back up ahaha) for a few months while I work on refining the scenes in my story.

I'll then revisit the pieces that I really like, or that I think would work really well for particular scenes, but this time I will be in more of an asset creating mindset. Which is probably the subject of a future blog post.

Till next time!

Tuesday, 12 December 2017

Development Log #2 - Game that still hasn't got a name... the writing continues

Well, I still haven't got a title, so it's a bit strange writing a devlog XD

Anyway, I didn't say all that much about the story in my last post, so I'll take this post as an opportunity to get into that a bit.

I can't say toooooo much right now because I'm still writing. But things that almost definitely won't change - There is a small cast of characters, four main characters, who are aged between 21 and 29. And the geographical setting is modern-day (or near future) United Kingdom.

I want to get a few different locations in, currently there are scenes in 5 or 6 different places around the UK, I don't know if that will be the case in the final version, but I am excited to work on something that has a feel of a journey as part of the plot.

Everything else is spoilers :P

Well, not really, but it'll be a few months before I can write a synopsis that has a plot hook for people to read. I find writing difficult at times, but writing synopsis' for my own stories is much harder O.O

Writing for visual novels.

There are things that I'm doing which should make my life easier when I convert my script from a google doc into a ren'py script file. I have already given the characters tags, which I use for the dialogue, like so:

B "I brought all the ones I have, help yourself."

H "Ah, thanks man"

Which should save some considerable amount of time! The other text (narration) I will have to do some further modifying of, including escaping out all of the characters that would otherwise break the script file. (it'll be time consuming, but not too bad). https://www.renpy.org/doc/html/text.html#escape-characters Documentation is very helpful for things like that! As is your fav text editors find and replace function! :D

Now that I am doing a first pass at editing, I'm also adding and bold and italics using the ren'py syntax {b}bold{/b} and {i}italic{/i}.

Another thing that comes to mind when writing for a visual novel is how often to describe sights and sounds. A lot of the time I'll choose to show things through the art or music rather than narration. For now, I'm putting in plenty of description of sights so that I can later make an art assets checklist! And with sound... that's something I'll get into probably in my next post! If I was planning to do a foley track I'd add sound descriptions at this drafting/first edit stage - but I doubt I'll be using sound effects like 'footsteps' or 'glass cracking' - I wouldn't attempt that unless I had some real recording experience or a really strong desire to make those things part of the experience - I have neither.

I'll end this post with my current word count because I don't have any art or music to share today, sorry! (I have been making music though, more than I've been writing or editing over the last 2 weeks for sure.)

13161

Ok. Till next time.

Tuesday, 28 November 2017

Development Log #1 - A game that might be called 'Departure Lounge' but maybe something else.

I haven't done a dev log for a long time, probably over 2 years.
I already know it's not going to be super regular, but I wanted to share stuff occasionally in a longer format than twitter posts.

The project I'm working on will take a fair few months before it's complete, maybe a year or even more, but I am expecting to be done with the bulk by summer 2018.

When I decide on a title I will make a WiP thread on Lemmasoft Forum, but I'll still add here on my blog when I have stuff to share.

So, I may as well talk about the title and some of the issues around naming projects, as I've already mentioned it!
I am toying with the name 'Departure Lounge' - it's thematic enough and doesn't lean too far into any particular genre, which works for the story I'm writing. But I like the idea of something a bit stranger, perhaps 'Avoid Conscious Thought', though that doesn't exactly match my story XD

Once I have settled on a title, in fact usually just before I settle on one, I research it with the search engine (Google, as well as itch.io and steam) to see if any other games or media has the same name that might make things difficult for visibility on release. Although I didn't find any with the same name, it's got the same problem as 'Apartment Complex' (one of my games from a jam in 2016) in that it's a generic term used a lot and doesn't have a unique element - maybe something like Departure Lounge 1 or something would help, but it can't just be an arbitrary number, so more thought is needed! Hence no WiP thread yet.
Though I can always make one with a working title if it comes to that O.O

I'll share a little about the concept of the story in my next post, by which time I should have a 15k word draft (it's already at over 12k).

So here are some character designs from last month (october aka inktober)


I plan to redraw the characters to further refine their designs once I am done with writing the draft. So I may also share some more art and maybe some music too in my next post, which will probably be in December!

I still don't know about that title...

I struggled titling 'Connection Pools' too, but I think it was worth the struggle in the end.

Ok. Til next time then!

Wednesday, 6 September 2017

Using layers in Ren'Py

Sometimes you might want some custom layers in Ren'Py.

There is some information over in the documentation here: https://www.renpy.org/doc/html/displaying_images.html#layer

It explains what the 4 default layers (master, transient, screens and overlay) are for and the order they are in.

To add some additional ones you'll want to add a line of code to the bottom of the options.rpy file, like this:

    config.layers = [ 'zero', 'master', 'transient', 'belowmid', 'midlayer', 'abovemid', 'screens', 'overlay']
 
That gives us another four layers to play with, of course you can have more or less and in any order, just remember to test things to make sure you have the layers in the order you want!

I put a new layer called zero right at the bottom, I typically fill this with a solid colour so that the player never accidentally sees the default transparent background. Then the others that I will use for art / displayables are between transient and screens, you might find it better to have some below transient, just experiment to see what happens where!

Here is a script.rpy file as an example of showing things on custom layers:

image nrblack = "#181818"

image skyani:
    "sky1.png" with Dissolve(1.5, alpha=True)
    pause 1.5
    "sky2.png" with Dissolve(1.5, alpha=True)
    pause 1.5
    "sky3.png" with Dissolve(1.5, alpha=True)
    pause 1.5
    "sky2.png" with Dissolve(1.5, alpha=True)
    pause 1.5
    repeat 20

label start:

    show nrblack onlayer zero

    show skyani onlayer belowmid with dissolve
    centered "A simple animated sky background."
    centered "Followed by some midground."
    show midground onlayer midlayer with dissolve
    centered "Finally the foreground."
    show foreground onlayer abovemid with dissolve

    pause

    centered "Now we should hide all of the relevent layers to get ready for the next scene..."

    hide skyani onlayer belowmid
    hide midground onlayer midlayer
    hide foreground onlayer abovemid with dissolve

    "That's it!"

    return


The main thing to note is the onlayer followed by the custom layer name which you'll need on both the show and hide statements.

The two images that aren't defined (midground and foreground) are files names midground.png and foreground.png which are in the images folder, Ren'Py picks these up automatically so they don't need to be manually defined!

This particular example could more easily be achieved just by using show and letting Ren'Py put them in the order they are declared onto the screen, but if you're reading this you probably have run into some case where the standard behaviour isn't enough for your needs and layers might be useful!

Don't forget to hide the images on the layers when you are done with them! XD

Gif:


As a quick aside you may have noticed that the sky animation is set to repeat 20 times, instead of infinitely (repeat). I have started doing this mainly because I noticed quite a lot of system resources being used when multiple infinite animations are displayed at once (as you can imagine!). I'm still trying to get my head around the best practices for being efficient with animations in terms of system resource, so I can't offer much advice in that area, but with only one animation running at a time you shouldn't have any problems!


Monday, 4 September 2017

Ren'py fade text in and out

As promised here is the Screens version of the fade in out text! I'll leave the below stuff using the (old!) ui.add on this blog post (below the "--- old post below ---") as it goes into a bit more detail with the custom transform!

So, the way I went about this is to create a new rpy file for my custom screen, I called it custom.rpy, but give it any name you'd like!

This is the entire contents of that file:

screen info_fade:

    text "Look. I'm fading about." at fade_inout_2s


Then in the script.rpy I have:

transform fade_inout_2s:
        xalign 0.5
        yalign 0.5
        alpha 0.08
        easeout_back 2 alpha 0.9
        pause 0
        ease 2 alpha 0.0

label start:

    scene bg room
    "Ok, here we go."
    show screen info_fade
    pause 6
    "That was nice."
    pause
    return

The main bits there being the transform which I declared at the very top of the script.rpy file and the show screen info_fade statement.

I used show screen rather than call screen because I think calling a screen then expects some kind of user interaction, which isn't what I wanted for this effect. I've not used this in a game, so depending on what you are trying to achieve you might need to make some changes, feel free to drop me a line on twitter if you are struggling with anything - I'll help if I can! - @sleepyagents

Here is a gif:



btw I use ScreenToGif to make gifs if anyone is interested - http://www.screentogif.com/ - thanks screentogif people!

And a big thanks to xela and Zetsubou for the lemmasoft thread where I found the basis of this stuff! (link below)

--- (old post below) ---

Here is one way you can fade in and out some text in Ren'Py!

I thought I would be able to do this without looking at the lemmasoft forum, but I failed in that :'D

here is the guide I found from xela https://lemmasoft.renai.us/forums/viewtopic.php?p=336645#p336645
(thanks xela!)

I just changed it a bit as I didn't need the text to move.

You might be thinking that this would be a lot easier with an image - and you'd be correct! but that wouldn't be as accessible, though you could add some text to describe the image, I think this way is better for filesize and flexibility (variables!) anyway.

Right at the top of the script.rpy file I have:

init python:
    def fade_inout_text(text, *args, **kwargs):
        ui.add(At(Text(text, *args, **kwargs), fade_inout_2s))
         
transform fade_inout_2s:
        xalign 0.5
        yalign 0.5
        alpha 0.08
        easeout_back 2 alpha 0.9
        pause 0
        ease 2 alpha 0.0


I don't know much about the def and ui.add bits, so I'll explain a bit about the transform instead!

The xalign and yalign make sure that the text is centered, the alpha 0.08 means that the text is just visible before the animation starts (0 would be invisible), easeout_back 2 alpha 0.9 uses the easing ( see https://www.renpy.org/doc/html/atl.html#warpers for the list of available warpers/easings ) called easeout_back which has a certain effect (see gif below!) which takes 2 seconds to change to 90% visibility (alpha 0.9), of course you could use 1.0 instead for 100% visibility.
Then I added a pause of 0 seconds... followed by ease 2 alpha 0.0 which takes 2 seconds to 'ease' the text to 0% visibility / transparent.
Play around with the numbers and the warpers / easings to get the effect you want!

And then when some text needs to fade in and out during the game you can add this:

    $ fade_inout_text("this is the text that fades in and out", color="#111111", size=30)
    pause 6


You can see I added a 6 second pause after the statement to give it time to do it's thing. You could use a normal pause without an amount of time defined to let the player click to continue.

If you want to display a variable you can replace the string, e.g.

    $ fade_inout_text(my_variable, color="#111111", size=30)

I hope this has been helpful!


I just realised the code to do this with screens is in the forum thread I linked! Which is what I originally intended to do! I'll update this post soon with the code for screens which will be a little nicer haha.

Saturday, 17 September 2016

BPM in Ren'Py - Timing animations to your musics tempo


I keep meaning to write this up as a blog post! I'm sure somebody will find it useful, either directly, or make them think about some other possibilities when making VNs!

I decided I wanted to have backgrounds flicker in time with my games music and went about it in quite a long-winded manner. Now I have worked out a better way to achieve this type of effect, so I thought I would share it!



Using your music tempo / BPM in Ren'Py


Say you have some music at 130bpm and it is in a 4/4 time signature, what you want for a timed animation is the amount of time in seconds for 1 beat. Really, once you have a beat you can easily find the length of a bar and of half a beat, etc. with some simple math!

To work this out within Ren'Py you can add:


init -1 python:

    the_bpm = 130 #change the number to your musics bpm

    one_beat = 60 / float(the_bpm)



To the top of your script.rpy file.






Now python has worked out our time in seconds for one beat to be something like 0.4615384615384615 for this example and saved it as a variable called "one_beat". I also went ahead and got some more timings based on that with the following:


    two_beat = one_beat * 2

    three_beat = one_beat * 3



    one_eighth = one_beat / 2

    one_sixteenth = one_beat / 4



    one_bar = one_beat * 4

    two_bar = one_bar * 2

    four_bar = one_bar * 4

    eight_bar = one_bar * 8



Which in my script I placed under the code further up where we declare the BPM and work out the length of one beat.

Now when I create an animation with ATL I can use any of these variables instead of typing in 0.4615384615384615 or whatever! E.g.


image bpm-ani:

    "bpm ex fr1.png" with Dissolve(one_beat, alpha=True)

    pause two_beat

    "bpm ex fr2.png" with Dissolve(one_beat, alpha=True)

    pause two_beat

    "bpm ex fr3.png" with Dissolve(one_beat, alpha=True)

    pause two_beat

    "bpm ex fr4.png" with Dissolve(one_beat, alpha=True)

    pause two_beat

    repeat






Now (for the first time in the history of this blog!) I'll add a video to show what this looks AND SOUNDS like! :D


Ren'py ATL to BPM / tempo animation example from sleepy agents on Vimeo.

Here is a link to view the full rpy script file: http://projects.sleepyagents.co.uk/example-script-for-bpm-tempo-in-renpy/
(note: the indent spaces would actually be 4 spaces, not 1, in the actual rpy file)



But what about different time signatures!? Can I just have what I need in a separate .py file which I can re-use in other projects!?

Oh yeah! LydianChord made this handy tool!
https://alexh.itch.io/music-timing-calculator

Which has the directions for use on the page. It's just a matter of pasting a .py file into your base game folder and adding this into your script:

init python:
    from music_timing_calculator import MusicTimingCalculator
    
    calc = MusicTimingCalculator(tempo=120, beats_per_measure=4, num_measures=16)
    
    # Now you can use calc.one_beat, calc.one_measure, calc.song_length
    # and calc.song_length_min in your code


remembering to change the numbers on this line:

calc = MusicTimingCalculator(tempo=120, beats_per_measure=4, num_measures=16)





So that they are correct for your music. I'm planning on using this tool for future projects!



OK that was quite a long post! Just keep in mind some things in ren'py will already have a default time in seconds attached to them, e.g. dissolve takes 0.5 seconds unless you specify it's time. So you may need to look at how to change those in certain scenarios.

Have fun and let me know if you make anything with this!

^^

@sleepyagents

Apartment Complex released for PC/Mac/Linux - android APK also available

Just a quick post to mention that my latest game, Apartment Complex, is now out. It has actually been for 2 weeks, but I've just got around to posting it here!



It's a short point-and-click / visual novel that takes place at about 5am after a heavy night.

I wanted to get a bit better at things like imagemaps/hotspots and animations, so it was good to have a project that focused on these a bit.

There is a bit more information about the game on the itch.io page, linked above.

And for discussions there is a Lemmasoft Forum thread here: https://lemmasoft.renai.us/forums/viewtopic.php?f=11&t=40125

Or feel free to send me a message on twitter @sleepyagents

Saturday, 16 July 2016

Apartment Complex in development for SuNoFes

Just a quick one!

I am taking part in SuNoFes again this year - more info on the jam here: sunofes.org

My game is going to be called Apartment Complex.

I've been working on BGs and I have nearly 2 finished, I think I'll need at least another 4 though! There's lots to do, but I'm quite busy with work this summer, so I might need to find a quicker approach to some of the assets to get it all done by the end of August.

I'll try to write another update in a week or two. At that stage I will probably also create a work in progress thread on the Lemmasoft Forum.

That's all for now!

Tuesday, 5 April 2016

Connection Pools - NaNoRenO 2016 - Out now

Yes the title says it all.

But here is a picture and a link!

Connection Pools

Link to download game: https://sleepyagents.itch.io/connection-pools

And a link to the Lemmasoft Forum thread: http://lemmasoft.renai.us/forums/viewtopic.php?f=11&t=37995

<3

Sunday, 6 March 2016

NaNoRenO project - Connection Pools

Oh I should post something on my blog to say I'm doing nano:

I'm doing NaNoRenO again this year!

The game is called Connection Pools, it's got a sci-fi vibe. I really don't want to say too much about it, because I think it might ruin the fun a bit!

Instead I'll post a little wip art and the link to the LSF wip thread and leave it at that for now.

Connection Pools WIP art
Connection Pools WIP art

WIP thread: http://lemmasoft.renai.us/forums/viewtopic.php?f=50&t=37463

Sunday, 7 February 2016

Easing / Warpers in Ren'Py

Version 6.99.8 of Ren'Py which was released in December 2015 includes these cool new warpers for making animations look smoother/more natural and/or more interesting!

You can see what sort of effect you get on this site:

http://easings.net/

And here is the Ren'Py documentation:
http://www.renpy.org/doc/html/atl.html#warpers

I thought I'd share a little bit of example code for using the cool new warpers in Ren'Py.

--

Here is my code using the easein_back movement:

I have this in my Script file, with the other images I am declaring:

image onion_ani:
    "onion.png"
    xpos 250
    ypos 750
    easein_back 2.5 xpos 550 ypos 500


And then in the game it's just a matter of showing the image:

    show onion_ani
    pause (4.0)
    hide onion_ani with dissolve


The code after the image declaration shows the image at the location provided by xpos and ypos (in this case 250 and 750) then using the nice easein_back movement it goes to the new xpos and ypos ( the 2.5 you see in my example is the amount of time in seconds this takes and the 550 and 500 are the new positions).

Later after "label start:" (i.e. somewhere in the main script of the game) it's shown with the show statement. In my example I also added a 4 second pause and the hide statement, they aren't needed at all for this, but I've included them just in case it helps anybody out at all.

---

It should have been fairly obvious to me that "easein_back" should go in place of "ease". But... I've never really used "ease" - all my old ATL code uses "linear", which is why I spent a while figuring out how to use these functions! I know I always get on better with code examples than I do with documentation (especially when I'm trying to do something quickly!).

Thanks to nyaatrap on lemmasoft forums for the original post http://lemmasoft.renai.us/forums/viewtopic.php?f=51&t=35749

And of course to renpytom (https://twitter.com/renpytom) for including them and Robert Penner (http://robertpenner.com/easing/) who, like, invented the original code :D