Dream & Sugar Dev Diary 11/28/23


Howdy howdy all the cool cats of the world, and welcome to another update from your friends over at Couch Lion. The seasons are changing for many of us this time of year, which means goodbye summer and hello winter! As the weather gets colder for some of you, we hope you can curl up with a warm cup of your fall beverage of choice and continue to enjoy the Dream & Sugar demo as we creep ever closer to our winter 2023 release window. With the holiday season on the wind, we wanted to give you guys an insight into perhaps one of the brightest parts of our game development team: the coders!

We reached out to one of our coding supervisors, Tom, to ask him some questions about the process and practices that went into the building blocks of Dream & Sugar. So sit back, relax, and enjoy peering behind the curtain with us!


Q: Before Dream & Sugar, what was your coding experience like?

A: “I began studying coding and software engineering in 2011 and have been making full stack applications and games and projects ever since, mainly C#/Unity and TypeScript/React and things like that. Some Python projects and computer-vision / AR projects too.”


Q: What did the development cycle of the game look like? How did you go from idea to product?

A: “Software projects can be run very asynchronously. By using source control systems like Git, we can work on things whenever we individually have time, and we can track what's changing in the project over time, and can rollback and recover when things go wrong.

There are two main things that drive the cycle; either we have things we know we want which are not in the game, or we find things in testing that are wrong or unexpected. Whatever we know about, we do our best to try to address each week, time-permitting. It's a lot different than the sorts of cycles that exist in a more traditional studio.”


Q: Why did you decide to include a mechanically distinct minigame (the painting game), in an otherwise fully narrative experience?

A: “Ren'Py* takes care of so much of the scripting/coding work needed to build the game. It turns it into more like a formal screenwriting process. There isn't actually that much need for coders, except for when something non-standard is needed. Times like the painting minigame are in a sort of 'alternate dimension', but once the game is there, we have full freedom to code whatever we want.

We liked the idea of the painting minigame as a fun random toy the player could mess with (or ignore/skip) and we were also lucky enough to find some pretty good PyGame based examples to follow by just googling "PyGame paint" and learning how to handle Displayables. We thought of cool ways to expand it, but we liked the comedic touch of implying that the main character is forced to use a pretty low-quality painting program that lacks layers and things.”

* As a note dear readers, “Ren’Py” is an open source game engine, usually used for visual novels, that runs Dream & Sugar. 


Q: What were your experiences adjusting to changes in scope or direction during the project?

A: “We've stuck pretty close to the "critical path" of making sure that the written script is expressed in Ren'Py. Some of the ambitious extra features we've thought about have had to get left behind, but that's ok. They exist in our project repository / history if we ever want to dig them up, or start fresh in the future with some problems already partially solved!”


Tom’s even shared an example of what some of the comments (the notes that coders can insert into code that won’t affect the functionality) on our painting minigame script looks like! 

Here's a good comment block from the Paint Minigame base script

# As of this writing all the drawable stuff is separate Displayables

## TODO Ideally in final game we will be maintaining more of a pixelmap

# and recording a list of changes to that pixelmap

# This will enable both undo/redo and bucket-tool type operations without us

# losing all semblance of sanity

# Further reading about custom displayables

# https://videlais.com/2018/07/25/renpy-python-part-3-user-created-displayables/

# "paint game" resources

#https://stackoverflow.com/questions/597369/how-to-create-ms-paint-clone-with-python-and-pygame

Q: What have you enjoyed the most about working on Dream & Sugar? What’s been the most challenging part?

A: “I've mostly stayed at a higher-level advising role, helping maintain the Git repo and solving the occasional technical hurdle here and there. I love seeing technical systems take shape and enabling other people to express themselves creatively!”


Q: If you could give advice to your past self or other aspiring coders, what would it be?

A: “It's important to connect to the humanity and human stories behind programming languages and software. Everything works the way it does for a reason; computers are unambiguous and can't be random, but humans are chaotic! Coding is the act of drawing out all of the ambiguities so that the computer knows exactly what we want it to do. And so that it can convey our thoughts and stories to one another and maybe make a difference in the lives of other humans. Keep writing code and dreaming up new projects, and always assume that you have more to learn about even the most trivial-seeming concepts.”


Thank you Tom! As always if you’re interested in more of the technical information about our games, Tom puts together a Development Log that goes into further detail about how Dream & Sugar is made on the mechanical level. We hope everyone has a great holiday season as we look forward to adding Dream & Sugar’s release to everyone’s end-of-year celebrations! That’s all from the desk this week, stay on the lookout for more information soon about our official date!

Ta ta for now!

  • Couch Lion Team

Get Dream & Sugar

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.