First game release!


Creating my first game, a visual novel

This is the first game I worked on, which I sort of "finished," and released as a solo game developer!

My goals and motivations in joining this game jam (Otome game jam) consists of a few things:

  • To finish a game
  • To learn the skills involved in creating a visual novel
  • To execute an idea to completion

To be honest, I wanted to just make a game. Whatever it may be. I just wanted to make something! I watch PirateSoftware's reels on YouTube and it encouraged me to just crank out a lot of shitty games. 

Obviously, there are a lot of improvements I still want to make for this game as my initial idea isn't executed yet. But, I want to reflect on my journey so far and list out what I would like to implement in the future updates for Entanglement. I will write out the rest of this devlog as if I am giving my younger self advice.

The Learning Journey

Organizing a Project

One of the first things I learned was the importance of organization. Starting with a clear plan helped me stay focused and avoid feeling overwhelmed. Here are some tips on project organization:

  • Story Mapping: Create a detailed outline of your story, including major plot points, character arcs, and key scenes.
  • Task Lists: Break down the development process into smaller tasks. I used just a basic notepad in my project directory in which I took notes with using VSCode, and an actual physical notebook which I would keep with me whenever I go to cafes for productive work. I made sure my writings and my digital to-do lists were in sync.
  • Milestones: Set realistic milestones to keep yourself on track and motivated. For this jam, the 30 day was a good timeline for me to work on it and take breaks when needed.

Programming with Ren'Py

Ren'Py, the visual novel engine, was a new experience for me. Here’s what I found helpful:

  • Community: Forums like Lemmasoft is full of many helpful resources. One of the helpful resources I used is LezCave's Website, Zeil Learning's Youtube videos, and arty's Google Doc. YouTube s also really great for tutorials!
  • Github: I looked up samples of code using Ren'Py on Github and sort of "reverse engineered" how to make a VN through that.
  • Documentation: The Ren'Py documentation is extensive and very user-friendly. It’s a great place to start when looking for specific syntax such as how to play music, where to put the image assets for the title or menu screen, etc.

Inputting Assets

Creating and inputting assets was another significant part of the process. Here’s what I learned:

  • Consistency: Ensure all assets (characters, backgrounds) follow a cohesive style to maintain visual consistency. For this game, since I chose a resolution of 1920 x 1080, all my assets somehow have to relate to that resolution. For example, character sprites can't be taller than the height of the canvas, etc.
  • Optimization: Optimize your assets to ensure the game runs smoothly. This means keeping file sizes reasonable without compromising quality. In the future, I would like to use .webp files for backgrounds to keep the game size small.
  • Free Resources: Utilize free resources and asset packs available online, even for placeholders. Websites like OpenGameArt.org or itch.io are helpful. I wish I have brainstormed the locations that I would like to use for the game and collected assets for them in one go. In the future, I would like to use my art (maybe for this project or for another). SketchUp is also a popular tool that people use for making backgrounds, which I might look into  in the future. I delve into this because I am interested in making background art, but there is totally nothing wrong with sourcing assets online or hiring others to commission.
  • Credits and Usages: Make sure to check the terms of use for the assets you do use! It's very important to keep track of the source of your assets in order to credit the creators properly.

Utilizing Switches and Variables

Switches and variables became essential in managing game states and player choices. Here are some tips:

  • Tracking Progress: Use variables to track player choices and progress. This allows for dynamic story paths and multiple endings through conditional statements (e.g. if-else statements). It could look something like below:

  • Debugging: Keep track of all variables and their states. In Ren'Py, while playtesting, you could press Shift+D to open the developer's menu where you could check the variables through Variable Viewer.


  • File organization: I placed most of my variables in the beginning of the script.rpy file where I have them initiated so I may change them later on.


Challenges and Solutions

Time Management

Balancing the different aspects of game development within a limited timeframe was challenging. Here’s how I managed my time:

  • Prioritization: Prioritize tasks based on their importance and deadlines. Focus on core gameplay elements first. Beware of scope creep!
  • Time Blocking: Allocate specific times of the day for different tasks (e.g., mornings for coding, afternoons for asset creation).
  • Breaks: Take regular breaks to avoid burnout and maintain productivity.

What’s Next?

This is just the beginning. I plan to continue improving the game based on feedback and perhaps even expand the story. I'm also eager to start new projects, armed with the knowledge and experience gained from this one. Thank you for following my journey, and I hope you enjoy playing my game!

  • Add CG's that players can collect after going through events from different branches of the story.
  • Add CG's for endings depending on what skills and storylines the player choose to follow and focus on.
  • Polish the art.
  • Add cutscenes depending on the storyline.
  • Implement more actions in the date scenes.
  • Add inventory and shopping features with the phone UI.
  • Add more locations and actions.
  • Deepen the story for each character for a richer experience.
  • In the future, explore the possibility of adding another language.

Tips I would share with myself from a month ago

  • Start Small: Begin with manageable projects before tackling more complex games. It's okay to make shitty games.
  • Learn Continuously: Keep learning new skills and techniques. Online courses, tutorials, and books can be very helpful.
  • Engage with the Community: Join game development communities to share your work, get feedback, and learn from others.
  • Have Fun: Enjoy the process of creating games. Passion and enthusiasm are your best tools.

Files

Entanglement.zip Play in browser
4 days ago

Leave a comment

Log in with itch.io to leave a comment.