Tuesday, 23 December 2014

Day 23 - Progress report

A quick update before christmas - and yes I'll be doing a weekly blog rather than daily now I think.

I've been working on asset creation over the last week, I've got a textbox and some effects done, as well as a character design and even a sprite!
character sprite
Character sprite
I'm a little undecided whether I'll use a pixelated version or a cleaner one, I think I'll decide when I'm testing later down the line.

I will do a blog on my process from sketch to sprite once I have a process!

Friday, 12 December 2014

Day 12 - Work on the project every day

I'll be doing some work on my game project every day, I might have to start doing a weekly blog as time goes on and I have more work to do on weekdays, but I'm making a real conscious effort to always do something to further my game even if I only have a small window of time.

This is one of those days where time hasn't allowed for much work on the project. I would technically class taking a few minutes to think about any aspect of the game development as working, but I'm committing to producing something tangible every day even if it doesn't make it to the final game.


So I made a new sound effect.

It was a sample of my voice which I timestretched, pitched down a semitone, duplicated and offset by a very small amount, running through delay and bitcrusher. It may be a fair bit quieter than the other FX I've made, but that could work well in the game possibly, if not and I still want to use it i'll re-import and boost the gain.

Thursday, 11 December 2014

Day 11 - A font, a new resolution and typewriter effect for Ren'Py

I was reading a blog post by a game developer ( https://cindysimeti.wordpress.com/2014/03/05/vn-screencaps-and-another-project/ ) which mentioned a nice font and provided a link to dafont - http://www.dafont.com/ - I took a look to see if I could find something I liked.

After a little browse I came across a beautiful font that fits my games aesthetic.

http://www.dafont.com/kolquatfunkybitm.font?l[]=10&l[]=1

Kolquat Funky Bitm by http://www.koltastik.de/ I asked for permission to use the font and the creator, Kolja, said that was fine and asked me to credit it if possible, which I will of course do.

Loading the font as the default font for the game wasn't quite right, the buttons are to small for it to be nicely legible. So I've opted to add the font for each character - this doesn't feel like a very efficient method, I'll look into a better way to do this.

   define m = Character('Me', color="#808080", what_slow_cps=38, what_font="KolquatFunkyBitm.ttf")

Looks good for testing purposes. Here is a little example of the font which may become the credits screen later down the line:

The beautiful Kolquat Funky Bitm font
The beautiful Kolquat Funky Bitm font
Typewriter effect:
You can see in the small code snippet above "what_slow_cps=38" which I added as I couldn't get it to default to this in options.rpy - I had this problem last project, but not sure what the resolution was. I'm sure I'll find it again at some point, though this will work fine and as the cast is small won't get repeated lots.

From 1024x768 to 1280x720:
Started working on resizing my assets - I'm really glad I did the mobile test yesterday and I only have a few images to resize! If I'd have waited several weeks before testing the chances are I'd either not bother changing the resolution or I'd have a lot more work to do to resize everything.

Wednesday, 10 December 2014

Day 10 - Ren'py to android via windows 8

Wanting the game to look nice on mobile and knowing I'd have some time today I decided to test my game on my android phone and tablet today.

It's a good job I had some time, as it took a good few attempts. I was expecting teething issues as I've done a little work with eclipse on windows and android before, which had complications. I ran into problems pretty much immediately:

Ren'py to android attempt
Ren'py to android attempt
I have a lot of screenshots and photos of errors, here is a sample of some of the other attempts:

Ren'py to android attempts

Ren'py to android attempts

Ren'py to android attempts

Ren'py to android attempts
Looking for android.bat

I spent a while on the Lemmasoft forums: lemmasoft.renai.us and the official docs http://www.renpy.org/doc/html/android.html

The first thing I changed was my project name as it had numbers in, which I wanted to eliminate as a potential problem. I then realised I had the wrong java dev kit (JDK) installed - 32bit version is required at the moment. I moved the Ren'Py directory to C:\ rather than in my user folder. Well none of these things has helped all that much in Windows 8, I'm still getting a Access is Denied error even with new shorter path and re-installs and running ren'py as administrator.

Luckily I have a Windows 7 system to hand (I hear this whole process is much smoother on linux, so that is probably the way to go!) and with a little bit of manual intervention - running the sneaky android.bat! - I got a successful build!

Once I had my apk file I dropped it into Google drive and downloaded it onto my phone and tablet. It was all worth it, as I think I've now made the decision to change my screen resolution to 1280 x 720.

Bugs 20 Tech 3 Design 0

Tuesday, 9 December 2014

Day 9 - Variables in Ren'Py - dice roll d20

The plan is to have some stats which is a more RPG-like thing, and I love the idea of having these decided by a dice roll as with pen and paper games like d&d.

I had to read a little of the Ren'Py documentation:

At the bottom of that page I spotted:
# return a random integer between 1 and 20
$ d20roll = renpy.random.randint(1, 20)
Which is just what I needed. My code now includes:

    $ vitality = renpy.random.randint(1, 20)
    $ skill = renpy.random.randint(1, 20)
    $ luck = renpy.random.randint(1, 20)    
    
    "Your vitality is [vitality]"
    "Your skill is [skill]"
    "Your luck is [luck]"

Which I have tested and that seems to work as desired. When the skill checks come a bit later on in the game I'll need to add some logic, so I'll be consulting the documentation again at that point to make sure I get my syntax correct.

--

Update 18/10/2015:

I should've updated this post a long time ago! So here is how you would do a skill check in Ren'Py, using an example from my (ever) unfinished pizza game:

    $ skill += renpy.random.randint(1, 20)

#The above line takes the variable named skill and adds another random d20 number to it and saves that as the new value for skill
 
    "[skill]"

#Displays that new number to the player

    if skill >= 30:
        jump wall
    else:
        jump walk

#That last bit here is an else/if statement that checks if the skill roll is equal to or above above 30. If it is above 30 then the scene jumps to "wall" or if it's below then the scene will be "walk"

This example is quite specific in that the game only checks against skill once, so I didn't bother saving the additional "skill check" roll as a new variable, but the logic and syntax should be pretty similar.

In fact I just tried a quick tester and it seems to work!

    $ skill = renpy.random.randint(1, 20)
    "Your skill is [skill]"
 
    $ skillRollOne = renpy.random.randint(1, 20)
 
    $ skillRollOne = skill + skillRollOne
 
    "[skillRollOne]"
 
    if skillRollOne >= 30:
        jump wall
    else:
        jump walk

That is similar to the above, only your original skill value isn't overwritten when you do the skill check.

I hope this is helpful to some people out there and yes I am quite a novice at programming, so if any programmers out there read this and notice bad practice please let me know so that I can update the post!






Monday, 8 December 2014

Day 8 - Drawing Shoulders

I just realised I don't know how to draw shoulders!

If I'm doing the character art for this game I really ought to practice pretty quickly. Which is what I did today:
Drawings shoulders
Drawing Shoulders
I used some reference and a little reading ( http://www.howtodrawmanga.com/pages/tutorial_bodies ) to get the concept, now I'll need to repeat this a bit to hone it in. Which is good as I need to experiment with my character design too, so I can do both at the same time.

I also had a quick play with the mosaic filter in photoshop elements for backgrounds:

Mosaic filter on background
Mosaic filter on background
This filter looks like it will fit in well with my planned aesthetic.

Sunday, 7 December 2014

Day 7 - Making backgrounds for Ren'Py game. Choosing a screen resolution.

Here is a background made by manipulating a photograph I did a while ago as a test, it didn't turn out as I wanted it to:
First background attempt
First background attempt
I like the colour, but not the filter. Also this image is in a widescreen resolution (1920x1080) and I'm probably going to make the game in 1024x768, for the smaller filesize and compatibility with older computers. I'll have to see how it looks on phones before I go too much further with creating backgrounds, as I might change my mind on the resolution after that.

Experimenting with different filters, mostly 'cut out' I have created a few more potential backgrounds, I'll test some out in the game to see if I think they'll work.

Background made with cut out filter
Background made with cut out filter

Background made with cut out filter
Background made with cut out filter - saved as limited colour gif

As the photos I'd taken were all in the widescreen resolution and I didn't really want to crop them I added a 50% transparent layer at the bottom, which is where the game text box will be.