Nicolas Bloom

Character & Game Designer

Lucy NPC Mod for Stardew Valley

How I taught myself the mechanics behind a highly successful game and used that knowledge to add my own assets.

Duration: 2019, 2020 – Present
Team Size: Solo
Engine: n/a
Roles: Lead programmer, lead writer, artist
Skills Used/Obtained: Coding (C#), Pixel Art Creation, Tile Set Map Design
Art: Conceptualized and created various portrait and sprite sheets for the new character – the latest of which was drawn entirely from scratch.
Programming: Used Stardew Valley’s pre-existing language based on C# and file formatting to edit the code and add my own files to the game, allowing me to program interactions and events that scale with the new character’s affection.
Writing: Wrote every line of dialogue for the new character and added new dialogue to pre-existing game characters that match their demeanor and character. Additionally, wrote dialogue specifically so that it would evolve and become friendlier as affection increases.
Project Management: Set up a GitHub repository and project in order to keep track of overall progression towards project completion. Split the project up into a series of tasks and kept track of those tasks as they were completed.
Level Design: Used Stardew Valley’s pre-existing tile sets to create new maps for the game to host this new character and story.
 

An example of one of the dialogue files I wrote up.

Image 4 of 4

 
After playing the game Stardew Valley by Eric “ConcernedApe” Barone, I decided to spice it up a bit by downloading a few gameplay modifications. However, I saw a few things I wanted to change in those mods – such as spelling and grammar errors in dialogue – so I taught myself how to fix them by going into the mod folders and learning how the code worked. Eventually, in 2019, I decided to use this newfound knowledge to make my own mod as a test of my character and game design capabilities, as well as to familiarize myself with working inside a game. Going in, my only worry was that I wouldn’t be able to write intriguing dialogue to do my character justice – and looking back, that was the easy part. The game was written in a coding language I wasn’t familiar with – C# – so I had to teach myself parts of the language based on what I knew about C and C++. I also had to learn how to edit the game’s asset files, which were in a format unfamiliar to me. In addition, I quickly realized I would need artwork for my character, and I didn’t know the first thing about the pixel art the game requires. Thankfully, using some pre-existing art assets as a base, I managed to teach myself how to use programs like Paint.NET to make pixel art that met the game’s requirements, so I went ahead and heavily edited an art asset I found online. And so, after more than a month of self-teaching, coding, and quite a bit of pixel art, my first character mod was created – a character I named “Lucy.”
After making version 1.0.0 of the mod, I was happy with it for the time being. However, as time went on, I began to look back at it and thought “there are so many things I could have done better.” And so, in 2021, I decided to revisit the mod and give it a major overhaul using the skills I acquired in the time since the mod was wrapped up. Version 2.0.0 features completely revamped and wholly original portrait art, improved sprite work, additional dialogue and events, and a brand-new map area to explore. It also fixed a few notable bugs from the original version – namely compatibility issues with Mac computers. While version 2.0.0 is currently still in testing, it is a vast improvement over the original, and I feel I will be proud of this version for years to come.
Developing the mod came with several challenges I needed to overcome. With version 2.0.0, I wished to develop it in a manner similar to actual game development – and that meant scheduling it around my education and prior commitments, making a project planner to track progress and keep track of tasks, conducting alpha and beta testing, and eventual publication on the internet for review and download. Scheduling it around my other commitments came to be surprisingly easy, despite my initial worries – I simply set a weekly progress goal and allocated time each week to work towards that goal. I set a goal to start testing by May of that year – and in that goal, I was successful. For the project planning part of the process, I decided to utilize GitHub in order to track my tasks, keep tabs on my overall progress, and allow me to easily work on it across many devices, ensuring maximum possible production. In order to test the mod for bugs and suggestions, I had the assistance of friends and family for both long-distance and in-person testing. And while publication will not occur until testing has reached a satisfactory conclusion, I am confident that the feedback I will receive will help me prepare the mod for public viewing.
 
Gameplay video:

Previous Post

© 2024 Nicolas Bloom

Theme by Anders Norén