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

Thursday, 31 December 2015

A Little Look Back at 2015!

My first (and second and third!) game came out this year! Here is a little run down of the games I finished this year.

# First one

Back in March my game for NaNoRenO was released, the game was New Pisces.

New Pisces

I learned a lot about deciding on a realistic scope and working to a deadline to finish a game! Skills which have been incredibly useful. I am still yet to complete a game which isn't for a game jam, but I feel like I stand a chance next year!

New Pisces was quite ambitious, I wanted to write about horoscopes (I find mystical things fascinating for a number or reasons) and the technological singularity from the point of view of a (questionably) unreliable narrator. I wanted the visual aesthetic to be strong and of course an interesting mechanic around the audio. While there was a lot of room for improvement, mostly in the areas of the story and how it ties into the music and player choices, I am incredibly happy with what I achieved given my lack of experience and time restrictions! A few months after the release I noticed this write up which I am still so happy about http://gamerant.com/visual-novel-jam-nanoreno-2015/

A background image from New Pisces
I remember looking up all sorts of things about astrology while in a car dealership one day in March, the research part of game development is always a lot of fun for me.
I would consider making an updated version of the game one day!

# Second one

Next up was a fantasy game which had a much more traditional visual novel presentation this was for SuNoFes in July/August, that was For Ambergris.

For Ambergris


I wanted to make a game set in something like my ultimate fantasy universe! Full of enigmatic characters and strange goings on. When I approached it I had in my mind that this would be issue 0 of a 'motion comic' hybrid kind of story. I love that visual novels can be very different from traditional games and traditional films or book and I just wanted to get stuck in making something weird, that appeals to me. The game ended up being a bit of a mess as the story didn't really get going, so it's like half of a chapter one of a book, but with enough elements in the story for a trilogy of novels probably. Following this I really resolved to learn more about the craft of writing!

Background in For Ambergris
I think the assets in the game were the best bits about it, the music by Urban Fox https://soundcloud.com/urbanfox and the art which I did and had a lot of fun making. For one of the scenes I took a photo of loads of playing cards and Magic the gathering cards in a stack which I then embellished in photoshop using the games colour palette - something that New Pisces didn't really have! I also tried to push my ren'py skills further with this game, by changing the text box appearance based on what type of text was on screen and introducing a click-to-continue indicator in the top right hand corner.

I released this game on the Android play store - it has about a 2 star rating https://play.google.com/store/apps/details?id=uk.co.sleepyagents.forambergris - which is probably about right! It's motivating me to make a better game. I don't feel like I'll ever really chase ratings, as I want to make games that I'd enjoy playing first and foremost! But I do want others to enjoy them as well if at all possible!

# Third one

Lastly is my most recent game made for the NoBrainerIFJam in November, Void Id.

Void Id


Another fantasy VN set in the same universe as For Ambergris and featuring many of the same characters although a different protagonist. The jam had the rule of not exceeding 24 hours of development! I totally spent 48 hours on it though and even then I felt a lot of it was rushed! But it was a lot of fun writing this story which was inspired by what was going through my head when I couldn't sleep when I had a cold in late October. I really wanted a cookie person with a vape. Oh I didn't mention in the For Ambergris write up that gender hardly exists in this universe, something that I've been thinking a lot about over the year and as such made it's way into my games even though not into the stories themselves, which was pretty much a conscious decision.

Cookie and Kelp from Void Id
I think the writing was much better in this than For Ambergris. It's a weird game, which is what I was aiming for. So in that respect it was a success. It's only had about 29 downloads for PC and Mac since it's release, I think I could've done more to spread the word about the game, but due to it's lack of polish I couldn't quite bring myself to do that!

# OK next

So next year I'm planning to make a game that's not for a jam at all. The game I'm currently working on is a chill sim with, at least, a musical mechanic. I will announce more about that when I'm a little further along with it!

Happy New Year everyone!

Tuesday, 1 December 2015

Void Id out now - NoBrainerIFJam

Another game jam game!

Here it is: http://sleepyagents.itch.io/void-id

Void Id
It's an odd visual novel. The idea with this jam was to make an interactive fiction in 24 hours (but at your own pace over a month).

I actually spent about 48 hours on it in total, but to be fair half of that was creating art and sound assets, so I'm pretending that I am 2 people with the same name in hopes that counts as a team effort...

Thanks to qualifiedbadger for animations, I love how the vapours and breaths turned out.

Today is exactly a year since my first post here! I'm going to spend a little time planning my next project, which, in theory, won't be for a game jam. But chances are it will take so long to make that I'll release something for a jam before it's done!

Sunday, 18 October 2015

d20 post updated, inktober and playing other VNs

Well I'll try to do a monthly post even if I don't have anything of interest to report!

I've been keeping myself fairly busy in October so far with #inktober - all of my inked drawings are getting posted on my personal twitter which is @paradigmshifty

Here's one for fun:

Inktober drawing
Also I've been playing at least 10mins of a new visual novel every day this month (a challenge suggested by @renpytom), some games have been amazing and some have randomly crashed part way through! It's great soaking up the decisions other developers have made in such an industrious way, it helps me question my own decisions.

Attention RPG fans! Hehe, just a quick note to say I have updated my popular (over one hundred page views!!) d20 in Ren'Py post : http://sleepyagents.blogspot.co.uk/2014/12/day-9-variables-in-renpy-dice-roll-d20.html 

It actually has some examples now, which some may find useful.

Still doing concept work for a couple of games, I'm not going to rush into full development mode until I decide what I really want to work on! It's something I've learned from participating in a couple of game jams this year (NaNoRenO and SuNoFes) - once you start to feel a bit fatigued by the project you need something to pull you through to the end, for me that's been both the themes I wanted to explore and the impending jam deadlines!

Friday, 11 September 2015

Ren'py game filesize tips, how do you make your game smaller and Sleepy Agents Update

I've been meaning to write on this topic, and I'm sure I have, but only messily until now.

So you know a lot of people have poor internet connections, or not much hard drive space, and when they see a game available for download that's over 100mb they may stop to think twice. Also if you'd like to upload a game to the android play store that is easier when it's under 50mb as you don't need to worry about creating an expansion file (which isn't too bad, but can be an extra hurdle to some I'm sure). Edit: Google Play store now allows files up to 100mb without the need for an expansion file.

So these situations aren't exactly the only reason you'd want to make your games filesize smaller. It's generally considered good practice to trim unnecessary bloat (though on the subject of webdesign this article makes good points about keeping filesizes down http://www.html5rocks.com/en/tutorials/speed/img-compression/ which it's easy to draw parallels with in terms of games which are distributed over the internet - pretty much all games!).

First thing to consider is the engine will already need some megabytes before you start adding assets, in the case of Ren'Py we're talking around 25-30mb. (once compressed in a zip file or similar this gets reduced to aroun 10mb) Is it possible to build a long game in ren'py in under 50mb? Well yes, but if you want to include decent quality (resolution/bitrate) music and art then it would be pretty tight. Instead just aim to trim down files that are unnecessary to the finished product.

A very quick win is to remove the files from the game directory that you don't even use! Yes these will go into the build if they are in the folder, so if they aren't in the game then remove them! There is probably a handy tool for checking for these type of files... I'll see if I can find anything. But I just check manually myself.

Now onto filetypes. You will probably want to use OGG files for audio assets, as these are smaller than MP3s for pretty much the same result. I've listened to OGG files at 320kbps and 192kbps against the WAV originals and found the quality perfectly acceptable for my games, I'd urge you to do a A/B split test to see if your ears can tell the difference if you are concerned about reducing the quality of your audio assets. There are many places you can do further reading on audio filetypes and quality (here is one example: http://www.makeuseof.com/tag/a-look-at-the-different-file-formats-available-part-1-audio/ ) To convert to OGG I use an online converter - http://media.io/

For images I like to use gif with 8 or 16 colours if I'm really trying to get a small file. Obviously this only works for certain assets and aesthetics. I use the Photoshop "Save to Web" export to play with my filetypes, I don't know if this is the best way but I find it has what I need. I also try to save photo's as Jpegs (sliding the compression down to find a good balance between the quality and the filesize - often around 75-85 for me). If you can get your full size images down from around 1mb to around 300kb then you'll be able to have over 3 times the assets for the same filesize at a quality that looks fine to the eye (something I should do is split tests on images using different monitors to see how they compare).

That's about it.

1. Remove unnecessary files from the game directory
2. Use Ogg for audio
3. Compress your images to find a a balance between quality and filesize

I'm sure for longer VNs and games with lots of poses, expressions, etc. there would be much more to say about being logical and not making 10 medium size files when 1 medium size and 10 small ones would accomplish the same job, but that's not something I've got much experience with.

Let me know if you have any thoughts of useful links that I can add to this post :)

Edit: This site is for reducing png filesizes: https://tinypng.com/ - I'm yet to try it out. But thanks very much to @baiyu_dev on twitter for the tip :)

And a quick update on Sleepy Agents:
Thanks for all the downloads and plays of For Ambergris. I've seen a couple of lets plays on youtube which is really amazing, I didn't think that would happen! The game now has an accessible build for anyone wanting to use the ren'py self-voicing feature or the auto-advance feature you can grab that from itch.io - http://sleepyagents.itch.io/for-ambergris
And it is on the Google play store! My first game officially released on Android, which is something I've wanted to do for years now, it feels good to have done that. (the link can be found from the itch.io page too).

What's next? Well I'm re-scripting the pizza game and hopefully will make a drive to finish that over the next few months. I'm also doing some outlines for future games (I have 3 in my mind which are all very different to each other and may or may not be released as sleepy agents games!) So I will share more information about whichever project is going to be next once I have decided!