Industry Practice - Programming the Game Using Ren'py (14/03/25)
Team Meeting
Date: 14/03/25
In Attendance: Me, Faye, Sam, Katie
Meeting Agenda and My Role: I had recently added the game to our joint onedrive to allow my teammates to access it. This allowed me to show them my current progress so far so we could discuss changes and future steps.
Decisions and/or Actions & Deadlines: We decided that it's easier to keep the character sprites in the middle of the screen rather then move them to the left. Bigger sprites like the hound and the jester look and fit better in the middle. This also helps us when it comes to the backgrounds as we won't have to overcomplicate them too much. I brought up the previous idea of having the backgrounds monochrome in the characters associated colour similar to a lot of backgrounds in Hollow Knight. This has led me to ask my team if they thought it would be a good idea for me to add Hollow Knight to out benchmark game and they said that sounded good! For character transitions, Sam suggested using a bounce transition could make it look nice and lively.
Other Reflections: We suggested a lot of design ideas that I'm not sure I know if it would possible to implement such as letting the player chose the icon they want to use for the therapist. I'm not sure if it's possible for me to figure it out in the time limit but I'm definitely going to deepen my knowledge of ren'py to the best of my ability.
Programming the game (Dev Log)
Unfortunately, I haven't kept a regular dev log on the coding process and issues I've faced when programming the game. To save time, I have decided to document everything I've done so far in the blog post and will regularly update my dev log from this point onwards.
Introduction
To start with, I did some research using the links provided in the now to figure out how to start coding in ren'py. I looked up some basic statements using the ren'py guide and the videos in the ren'py tutorial playlist (Elaine (Emp)). Once I'd gotten the hang of it, I created our project and set the theme to this purple and black one as I felt it suited the aesthetic of our game the best. I read through the comments in the coding that is already provided to further help me understand what everything did.
Starting to code
I started off by defining all the characters that will be included into our game.
On the therapist and the hound, I have written a piece of code to do with the image. This means that whenever an image has the name 'therapist' or 'hound' in it, the program will automatically associate it with that character. This means that when a sprite of the hound is used to replace another hound sprite, it will automatically override it without me having to clear it. This is incredibly helpful and saves time. For the hound, I have also written a line of code to do with the colour. This means that whenever the hound is speaking, the colour of their name will be changed to the colour in that code. This is how it looks in game.
The first issue I really faced, was when it came to the buttons. My team and I had decided that we wanted to make custom icons for our game to make it look nicer. I initially wasn't sure how to make this happen as the buttons already in place are text buttons and this required me to use an image. I watched a Youtube video called 'Custom Imagebuttons instead of Basic Textbutton in RenPy Main Menu Guide' (qubodupDev, 2022). This video detailed the code required to make an image button as well as including where abouts I should put the code. My teammate Sam made some practice icons for me to test out. Here is what the code looks like and how it looks in game. We plan to make it so the icons change colour when the player is hovering over them but we unfortunately have not made the hovered icons at the time of this blog. I haven't changed all the icons as we hadn't had them all done at this point. We have however discussed the design and what each icon will look like. We also discussed adding text next to the icon to make it clearer on what they do. We planned to do this for the in game menu and shortcuts under the text but the buttons looked a little awkward as there wasn't too much space. We decided to only use the custom icons for the menus.
The first character story I decided to code was the hound. This was due to Faye helpfully providing the hounds character script as well as some of their finished sprites. I started off by coding the story. I coded the questions first and tested to see if they worked before adding all of the responses.
It had worked successfully! I clicked on the options and they led me to the right places. I showed my group this in lesson and we all decided that the question box needed to be changed to something less transparent. It's hard to read the text without getting distracted by the ui box blending in with the hound. Here is a snippet of the code for the hounds story. I've included sprite changes to test if they worked and have made notes where I need to put in sprites I don't have access too.
Errors
Since I hadn't kept a regular log, I do not remember when these errors occurred but I do remember the mistakes I made and how I fixed them. I don't have a screenshot for the first 2 errors but the mistake that I made was forgetting a colon when I coding in the menu options for the hound above. I also faced an error when it came to changing the 'ending' variable as I didn't realise a '$' was needed at the start of the code. The most recent issue I faced was also to do with the menu. A line of code was indented incorrectly so I had to change how far across it was. This was a quick and easy fix.
References
Custom Imagebuttons instead of Basic Textbuttons in RenPy Main Menu Guide, 2021. [Youtube] qubodupDev, 31 May. Available at: https://youtu.be/q5svrv2KN8g?si=wlo_6qFUMGFW8Nt [Accessed 20 February 2025].
Ren'py tutorials Playlist, 2017. [Youtube]. Elaine (EMP), August. Available at: https://www.youtube.com/playlist?list=PLJgbnTkC4bkCj2_8ZUg1o4CafLcRH0rAX [Accessed 31 January].
Tom Rothamel, n.d. Ren'py Visual Novel Engine Documentation [online]. Ren'py. Available at: https://www.renpy.org/doc/html/credits.html [Accessed 31 January 2025].






Comments
Post a Comment