Word Serpent Devlog


How I made Word Serpent

A somewhat step-by-step process

By Elan Rubin

The word checker:
  • A crucial part of the game is the ability to tell if something is a word or not.
  • I used this word list and separated out all of the words with this tool, making them into a C# array to be used in Unity.
  • I separated out each of the words by letter into separate arrays, making the word checker less laggy.
  • Using a switch-case, I set up a function to determine if any given string is a word.
Letter generator:
  • I made a prefab of the circles and set up a script to put them in a 10x10 grid at the beginning.
  • Much like my Minesweeper game, the letters have an animation to make them grow after being instantiated.
  • The letter generator script doesn't assign letters randomly, it actually picks from the official bag of Scrabble letters, which I implemented easily with an array of chars.
The line creator:
  • A new line renderer is made each time a letter is added, using an array of transforms to draw between letters the player
  • The main line creator checks if the word is valid each time a letter is added, using the word checker function. It sets all of the line renderer colors to red or green corresponding to if the word is valid or not.
  • When the player lets go of the mouse, all of the separate line renderers are deleted, but the main one stays.
  • You can only draw a line to a letter that is marked as available. This is done using a simple circle collider with a trigger, turning the letters blue.
Art:
  • With help from my friend Will, I made a color scheme that I thought fit the game. Although I originally wanted to use this tool, or this one, I eventually decided on making the colors myself.
  • All art was done in Google Drawings. I focused on using simple and visually appealing colors, and a light font.
  • Music and sounds are from freesound.org, but I made sure to edit them, making them unique to my game. For example, using some of the principles of sound design, I made the pop sound gets higher pitched based on how many letters are in your current word. This makes it especially satisfying to get a long word, as the tension from the pop sounds is built up and released.
  • The background is an unlit texture with tiling. The offset is increased on a scale of Time.deltaTime, making the movement smooth. The actual art for the background is actually quite small.
Point system:
  • I debated whether or not to make the game scored. Eventually, I decided that a score made it more interesting, and allowed players to set goals.
  • Going hand and hand with this, I added a timer to let the player set challenges for themselves. Keeping the relaxed nature of the game, I wanted to have the timer off by default.
  • When you get a word correct, an invisible circle is formed. Any letters touched by the circle disappear and give points. The radius is based on the number of letters in a word, making longer words better. Along with this, each letter that disappears gives points equal to10 times the number of letters.
  • I added a counter on the left side to keep track of what words the player had gotten correct, making them hopefully feel rewarded, as their correct words pile up into the sky.
Other things:
  • Even though the game was made in only 3 days, I placed a high focus on polish, so the amount of bugs is very low. I feel it's important to set a reasonable scope so that the small amount of content can be high-quality.
  • I used SpellTower to guide a lot of my design choices, and I give a lot of credit to Zach Gage for inspiring me to make this game.
  • Because I built the game for WebGL, I had to keep in mind my target resolution from the beginning.

Thanks for reading, I hope you enjoyed it!

Files

Build1.zip Play in browser
Jan 23, 2021

Leave a comment

Log in with itch.io to leave a comment.