Sam Nielson’s Portfolio
Download my resume!
Ever since I discovered an early version of GameMaker in my childhood, I’ve been obsessed with game design. I’ve made games of all different genres from action to puzzle, digital to physical.
As a business owner, I’ve taken on many different roles and fully released games, now live on marketplaces like Amazon and the App Store.
Click any of the buttons below to jump to any section of this page.
Design
All of the games in this section I’ve designed and brought to fruition completely on my own. After creating the initial concepts, I did all the art, coding, music, marketing, etc.

Super Battle Pets
Board game: successfully funded on Kickstarter, fulfilled, now selling on Amazon, with 2 expansion packs.
I designed Super Battle Pets (perhaps best described as a deck builder) to be utterly simple to learn, but with complex interactions that lead to an experience that feels new every time you play.
There are 77 unique cards, and those cards are unique in both art and mechanic. (The art requirement was doubled to create the “Full Art Edition,” which gives players a rich, full redesign of each base game card). This required extremely thorough playtesting with 100’s of people, countless passionate art sessions, and a robust system to hold it all together.
For instance, multiple times I completely redesigned the card layouts for clarity, and I was able to quickly apply the redesigns to the entire deck using homemade python scripts.

Don’t Get Stranded
Puzzle game currently on the iOS App Store, with 144 levels.
Don’t Get Stranded is a puzzle game I created with a unique concept I invented. Your goal is to build a path between Newton the monkey and his bananas.
Each level is filled with rafts of various shapes. When you step off a raft, it skims across the water in the opposite direction (following Newton’s 3rd law of physics) until it collides with a wall or another raft.
New obstacles are introduced along the way, resulting in puzzles that require vast amounts of brainpower, despite their simple appearances.

Ghost Pong
A web game designed to run fluidly on any device.
As humans, most of us have a rich inner world, in addition to the external world we experience together. To me, art is about sharing our inner worlds with each other. With that in mind, I wanted to create a framework that allows me to share my inner world with others as fluidly as possible. Ghost Pong was an experiment in this area with the following goals :
1. Take a game from concept to complete execution as quickly as possible.
2. Create a web game that loads quickly, without using pixel art (which would make this task easier).
3. Create a game that works on all devices.
4. Make the game easily shareable (via share buttons in the main menu).
I made it over the course of a week in the evenings, in time for a release before Halloween.

Educational Practice Games
I made several web games to aid students of mine in a few different subjects.
I owned a private lessons business (see below). One of the classes I taught was piano. In person, I had many enriching activities to keep students engaged and excited. But when the pandemic hit, pushing classes into the online world, it was hard to provide that same value.
As one of many adaptations, I designed a few web games to help students practice their skills.
Usually, when I see “educational games,” I find them to be glorified flash card apps, with little understanding of what makes a game engaging.
Even though Ferret Race is dead simple in its execution, students used it to practice for the sheer fun of it, and quickly gained an intuitive understanding of notes on the staff. Some key ideas I implemented here:
1. Each correct answer causes the game to move more quickly and frantically. The endorphin rush of keeping the ferret on-screen keeps it fun, AND as you improve, you’ll need to begin relying on reflex rather than calculation of note positions, which is important for actual piano performance.
2. Though the graphics are simple, juicy screen shakes, flashes, and explosions reward the player for each correct answer.
3. Because it’s an endless runner-style game, the sense of “winning” becomes beating the competition. The desire to one-up other students (especially siblings) drove the students to continue playing. This was presented with care and nuance, of course.

CandyBot Nim
A web game designed to spread the joy of mathematical combinatorial games.
As a kid I took up an interest in impartial games. If you don’t know, those are games where:
- both players have perfect information (see everything)
- there is no difference between the players, except for whose turn it is.
The ancient game of Nim is the quintessential example of this genre, which is why I made this web version to share.

In this section I focused on my most complete solo projects, but you’ll find many more examples of my design work below as well.
Programming
With these examples, I hope I can demonstrate to you that I can adapt to a wide variety of environments, systems, engines, and languages. I’ve been writing code since I learned HTML in the 5th grade. Programming has come second nature to me ever since then.

Unity / C#
Think Fast
I built a physics engine from scratch to optimize for speed and unlock creative possibilities.
After deciding on exactly what I need in the gameplay for Think Fast, I built a new physics engine to cut out unnecessary fat and allow myself to shape it exactly how I need.
For example, this particular game doesn’t need slopes. All collisions are based on rectangles, so I could eliminate raycasts entirely and use (relatively) simple math to detect collisions.
On the other hand, pushing opponents and other objects around is extremely important in this game, so I invested time into making it as clean as possible, allowing, for instance, to push a pile of a dozen boxes without the usual “jank.” Objects on top of other objects naturally follow their movement, allowing for players to hitch rides on other players, etc.
Handbell Havoc
Guitar hero-like game, but with REAL handbells.
You may know of a classic winter holiday activity for large groups. Each person is assigned a a single chime or bell with a number, and by reading a chart with numbers, each person plays in time to make a song.
I made this game as an enhancement to this activity by providing a Guitar Hero-style UI. This allows for intuitive timing and multiple notes to be played at once.
– The song can accept any MIDI file and turn it into a playable track. The app, using whatever handbells the user has on hand, transposes the notes into a key that best fits the available bells and then converts the MIDI notes into a playable track.
– After each performance, the game reassigns bells to make sure each player gets an even amount of bell ringing opportunities. But also, it does so with as few trades as possible. For instance, if each player has 2 handbells rather than saying, “Give the star bell to player A, give the sun bell to player B, take the ice bell from player C, and take the fire bell from player D,” it would say, “Trade bells with player A.” Keeping it simple for the players means employing complex logic in the background.
Pipe Dream
A too-hard battle of wits.
Pipe Dream was made to be a simple but deep territorial strategy game. Players turn pipes to fill the board with their own color. But you can connect your color to an opponent’s color, stealing all of the connected pipes that belong to them.
The trickiest aspect in this demo was programming a CPU smart enough to keep up with human players. Brute force search algorithms required way too much computation in this case, due to the number of choices per turn, and the complexity of calculating the board state after each turn.
The CPU instead analyzes the board in its current state, grouping pipes together and identifying “weak” pipes, and either fixing them in its own structure or exploiting them in opponent structures.
In the end, the CPU demolishes almost all human players at its highest level of play.

Godot / GDScript
I enjoy working in Godot and use it to quickly prototype new game ideas.
Boom Bananas
Toying with a new game idea, I wanted to see how much life I could get out of using simple scripts.
This happy banana uses bezier curves as arms. No matter where his hands or feet are, the limbs accomodate. The curve straightens out and the line width decreases as the hands reach further out, creating the appearance that his arms stretch like taffy.

Xcode / Swift
See also: Don’t Get Stranded, above
I’ve used Xcode and Swift since its infancy (and Swift’s predecessor, Objective C). Don’t Get Stranded was coded entirely in Xcode and Swift.
Labyrinth
A Pac-Man style game, made to encourage more a strategic play style.
The game is inspired Pac-Man (but based on the Minotaur’s labyrinth). The two key differences from Pac-Man are:
1. Each of the 7 enemies moves even more predictably than their Pac-Man counterparts. For example, the Minotaur takes the path closest to facing your direction. The dragon circles the nearest treasure. The phoenix actively avoids you. No enemy ever turns directly around.
2. The whole game operates at a slower pace, allowing players to perfectly predict their enemies’ paths (after much practice), and play a game that’s more about improvisation than memorization and reflexes.
Each level is randomly generated, and:
– can be set to various sizes
– can include dead-ends or not
– and can be set to a certain level of “open-ness” (how many intersections are present).
Creating this led me down a rabbit hole about the nature of mazes. I used a homemade variation of A* search algorithm.
Shifty Shapes
Puzzle game concept. This game operates like Rummy-O, but for one player. The goal is to sort every shape in sets of 3 or more where:
1. Every shape is the same and every color is different, or…
2. Every color is the same and every shape is different.
Every puzzle has only one solution.
The puzzles are procedurally generated. This is difficult since every puzzle must have only one solution. First, a random assortment of pieces is chosen. Then, the puzzle is solved. A simple brute force tree search takes much too long, so the puzzle is solved logically to the extent possible, only resorting to a tree search when no other way is possible. Every possible solution is found. Pieces are added or removed until the number of solutions is exactly one.

GameMaker / GML
See also: Ghost Pong, Ferret Race, and Nim, above.
I first started working with GameMaker in 2002 when I was in 6th grade. It kickstarted my obsession with game design, and I enjoy excuses to return to its environment.
Game Jame: Fruit Fly Frenzy
A web game I made for a local game jam:
In Fruit Fly Frenzy, you lead a swarm of flies with 10-second lifespans across the kitchen in an epic pilgrimage to the Light. I worked with a music composer and created this game during a fast-paced game jam.

More
In addition to the examples I’ve shown above, I also have experience with the following languages and environments:
CSS and Javascript: I built this website and other websites, often employing custom CSS and Javascript. In the case of this website, that includes the scrolling background, custom audio players (as seen in the music section), creating the perfect custom sticky header, creating a custom lazy load solution for videos, and more.
Flutter/Dart and SQL: To create custom CRM apps (Client Relationship Management) for real estate professionals. (as seen in the UI section)
Python: Used sporadically but several times for batch image processing. Used for instance when a transparent border needed to be added to every Super Battle Pets card at once.
Scratch: Used to teach young beginners how to code (as seen in the Collaboration section)
Art
I’ve always loved art, but there was a time I spent working with kids where my skills really took off. In childcare, when facing crying children, I found that one of the most effective ways to calm a crying child was to draw them a cute animal as they watched.



Super Battle Pets
For Super Battle Pets, I created 2 variants of 77 different cards for a total of 154 unique designs across the different versions of the game.
In order to make the game extra entertaining, apart from the mechanical design, I challenged myself to make each animal as expressive as possible, stuffing them to the brim with personality.

These cards are for the “Full Art” edition of the game, an add-on that expands the art into every edge of the card.

Commission Work
I’ve been hired several times for my bright, colorful artstyle. This family hired me to create images for their children’s bedroom, basing a “portrait” of each child on a Star Wars character.
(This was before the advent of “Baby Yoda”, or Grogu, from the Mandalorian. I simply drew Yoda as a baby.)
As part of a YMCA class display, I created portraits of each student with a cardstock-cutout style look. I integrated each child’s interest into their portrait, and made sure each image was one that made the student feel empowered and admired.


Rapid Art Production
I act on ideas quickly, with a mindset of “fail fast, win big.”
Boom Bananas
Often in indie game development, code comes first, visuals come next, audio comes much later, and so on, for reasons that make intuitive sense. However I’ve found it brings a huge advantage to have all the elements in play in at least some form, even when you’re still fiddling around with ideas.
Boom Bananas, a party game I’m developing, may undergo major visual changes as the game progresses, and that’s ok. But in 30 minutes I was able to create this concept image, with the goal of capturing the feel of the gameplay at a glance.
Since it uses vector art, breaking the elements into pieces for animation and code is simple. See above for the banana’s running animation.

The Alchemist’s Apprentice
For a particular game jam, I worked as the artist. Even as we were brainstorming ideas in the first few hours, I quickly drafted up concept art in order to reach a mutual understanding of what we wanted the game experience to be like.

I created about 2 dozen assets for this game in a timely manner.

Integrating with code
My understanding of programming allows me to easily understand what is required from an artist in a game design perspective.

I created the dance animations for these characters entirely in code, using custom tweening tools. No animator tool was used in this case. Here are the actual parts of the monkey character.

Putting the outlines on separate layer allows for the limbs to appear connected to the body, while contrasting the character from the background.
The platforms and blocks are also pieced together cell by cell in code, with several layers per cell. The sprites are also all white (requiring even more layers), allowing for season changes and night mode with simple code.

Other Art
Here is some of my other artwork.


UI & Graphic Design

This Website
I created this website, dedicated to game design for families and to bring gamers and non-gamers together. I used a carefully crafted color palette to look bright and happy, despite using much fewer colors than one would think. Hopefully it stands as a testament to my design skills.

Don’t Get Stranded
My puzzle app is designed to be snappy, fluid, and intuitive.
Although the game loads levels quite quickly, I employed a few tricks to make it feel instantaneous. For instance, each piece of the puzzle pops in with a scale animation. However, the game in fact loads each sprite (which must be assembled by smaller sprites), and then animates it, giving the appearance that it happens right away.

Web Game Navigation
In my web games, I strive to create an experience that is fun, juicy, and consistent. With the UI I make everything as clear as possible. Animations clarify where the user is in the tree.

Real Estate App
Many CRM solutions have both too much and too little for real estate agents. I built custom apps that adapt to individual real estate agent’s needs, cutting the fluff and allowing the agent to follow up on leads without feeling like they’re fighting with their system.

Graphic Design: Super Battle Pets
Super Battle Pets underwent extensive playtesting, and a lot of those playtests informed how easy it was to understand what was happening at any point during gameplay. I had several rules about the design elements of the game itself:
– The different types of cards are immediately distinguishable. Not just a single icon, but the shapes and colors of the major elements on each card is type very different.
– The game is color blind-friendly. Colors can be used to distinguish, but are (a) colors that still contrast to major types of color blindness, and (b) use gradients with different brightness values, which causes them to look very different in even a grayscale context.
– Cards are readable from across the table.
– Rules are matched up with symbolism to make remembering rules easier (for instance, you don’t just flip cards over; rather, eggs “hatch).
The rulebook was very high effort. Since the game is made with kids in mind, I created a vibrant, entertaining rulebook that works for different learning styles.
Music
My journey with music began in band in 5th grade (trombone, baby!), which I stuck with through the end of high school. I pull my horn out every once in a while to this day.
It sits among a variety of instruments I’ve since collected from around the world. Each instrument, imbued with a unique sonic texture that shapes a culture’s sound, causes vibrations in my soul that are impossible to describe.
To meditate, I’ll play the Australian didgerido, or the African djembe, or the Japanese shakuachi, and in turn they inspire me to write music that I hope transports the listener to another world.
These particular compositions were all used in video game projects:

Princess Castle Quest
I composed the music for the Steam game Princess Castle Quest. I worked closely with the game designers and developers to create a music track that fit their style.

Don’t Get Stranded
For my own puzzle game, I created tracks to represent the four different seasons, setting the stage for the different puzzle packs. The four seasons share a main theme, unifying the game.

Other Music
Here are some of my other works:
Collaboration
I have extensive experience working on teams. I’m a great communicator leader, and supporter.

Networking Group Leader
I led a Meetup group for local indie game designers for 3.5 years. I hosted biweekly meetings online, as well as many in-person networking events.
I learned many leadership skills, and how to structure meetings and communications to the benefit of all attendees. I made sure new members were warmly welcomed and integrated into the group.




Game Design Classes
I taught private classes through my own company for 14 years. What started as piano lessons grew to include art classes and coding classes. I taught children, teens, and even some adults. I received extensive praise for working to fulfill the needs of each student, and making the classes fun and meaningful to them.
For instance, if a music student loved singing and pop music, we would dedicate class time to writing pop songs on my music studio.

These classes even continued through the entire pandemic. I quickly adapted to teaching online. I was able to teach students to design games by having them share their screen, and helping them build a real understanding of core concepts, enough to design on their own.
Here’s an example of one of my student’s games (which you can play here).

Real Estate Work
I’ve worked in the real estate industry for 4 years in multiple capacities, including representing home buyers as a real estate agent, selling homes, and originating loans for clients.



The real estate industry moves fast and is fraught with stressful situations for all parties involved. I learned to adapt on the fly, and provide comfort to clients when difficult situations arose. Timelines move quickly, and deadlines come very quickly. I learned to move fast, and communicate efficiently with others, being assertive when needed while maintaining a professional atmosphere.

See my creative socials here:

































