top of page

RPG Dice: Heroes of Whitestone

WIMO Games

At WIMO Games, I worked as an Associate Software Engineer on the game RPG Dice: Heroes of Whitestone. While I was there, I helped develop the UI for many different systems including the Hunting Parties system, guild mechanics, and the Christmas event.

Flocking Algorithm Written

in x64 masm

This is a flocking demo I wrote in assembly. I used SFML and C++ for window creation and graphics, but all the logic is done in assembly.

I started by writing the algorithm in C++, then piece by piece replacing different behaviors and equations with assembly implementations.

It was fun to figure out how to solve the different issues that arose due to programming in assembly instead of C++. I also loved finding out about how a lot of the seemingly simple operations done in C++ work "behind the scenes" once they are converted into assembly.

This was a fun project.

Code: https://github.com/NicholasEckstein/Flocking_x64Masm

A Blip in Time

Made with Unity + Chronos plugin

Credits:
Producer:  Robert Mitchell
Designers:  Robert Mitchell, Tobiah Rosenblum, Natalie Frost
Artists: Michael Andreula, Natalie Frost
Programmer: Nicholas Eckstein

 
A Blip in Time is a puzzle platformer where the goal is to manipulate time to collect gear parts.
You play as Blip. A robot with the ability to rewind time, deploy "paradox clones" and launch time bubbles.
Blip has the ability to record up to 10 seconds, then time is rewound to the beginning of those 10 seconds. Then a "Paradox Clone" will go and do everything Blip did during that timeframe while Blip can go solve another puzzle. This can be useful for solving a puzzle and then quickly rewinding so as to not have to walk all the way back. Or walk off a ledge to solve a puzzle, then rewind to get back on and have your clone solve the puzzle the way you did. It can also be useful for situations that need two or more people like pressing 2 buttons at once. (Blip can create an unlimited amount of clones but they only last the 10 seconds)
Blip's second ability is the "Time Bubble". The Time Bubble has its own time scale. Anything that enters the Time Bubble that isn't Blip or a Clone, will have their personal time scale slowed. This is especially useful for slowing down incoming projectiles or slowing down the descent of a falling platform.

Reconnected

Made with Unity

Credits:
Producer: Aaron Millet
Designers: Ian Cotner, Joseph Zika, Tobiah Rosenblum
Artists: Natalie Frost, Rachelle Bish, Timothy Chartier
Programmers: Alan Meehan, Nicholas Eckstein, Zachary Miller

 

​Reconnected is an atmospheric exploration puzzle game. In Reconnected, you wake up in an abandoned city as a robotic sphere called a Core with no other attachments. You can find different legs and arms which fulfill different jobs. The Core's job when the city was alive was to keep things running and fix anything in the city that breaks. But after an unknown amount of time being turned off, the core is turned on to find that the city is abandoned. But the core has a job. It was programmed to fix what is broken. With or without people living there. So your job as the core is to restore power to the city and bring it back to it's former glory.

Box Voyage

Made with Unity

Credits:

Producers: David Carlos, Mitch Zasa, Brett Schwartz

Designers: Josh Forchheimer, Dakota Williams, Tim Carbone, Garret Harriman

Artists: Isaac Mills, Michelle Lee, Celina Tong

Programmers: Walter Hill, Vedant Chaudhari, Alexander Hubble, Nicholas Eckstein

I was tasked with adding the giftshop, and the salon room. custom input system wrapping the new unity input system to allow for more tactile controls to create a more immersive feel.

Lymantria Dispar

Made with Unity

Credits:

Producer: Ryan Murphy

Designer: Genevieve Guimond, Stephen Vowles

Sound: Karl Lewis

Artist: Max Laudenslager

Programmer: Nicholas Eckstein

Lymantria Dispar, is an atmospheric exploration game, where the player starts in a dark forest. They can chop down trees for wood, which they can use to make camp fires, arrows, and torches. During the night, giant moths and larva come out. The moths are attracted to the campfires and the torchlight. Their giant wings are capable of blowing out the fires. The giant larva, are attracted to the player. 

The player has to defend themselves from the attacking moths and larva all while, trying to find missing items in the randomly generated forest. When an item is picked up, the player's inner dialogue will appear on screen. Depending on the order of which the items are found, the dialogue will be different.

This was very fun to make, it involved me making a lot of tools, for the designers, like customizing the random generator, customizing the spawn patterns, and pathfinding for the enemies, editing how fires go out, and customizing the alternate dialogues based on the order of which the items are found.

If you are interested in looking more into the programming of this game, I created a slideshow detailing a lot of the technical design here: Lymantria Dispar.

Astral Boxing

Made with Unreal

Credits:

Producer: Ryan Murphy

Designer: Genevieve Guimond, Stephen Vowles

Artist: Jona Vita

Programmer: Nicholas Eckstein

Astral Boxing is a third person exploration game, where the player has to explore a haunted house finding clues to the location of  a ghost. These clues will give hints as to where the ghost is, in addition to how certain weakness the ghost might have. The fighting mechanics include multiple different offensive and defensive moves, each with their own counters.

In the beginning, I scripted most of the game using C++, because I was under the assumption that it would be faster. But since we were under strict time constraints, the designers, and artist needed to be able to go in and edit certain things. In the second week, I learned blueprint scripting (or at least as much as I needed), then rewrote all the code in blueprints. Since the game was relatively simple codewise, it really didn't need the speed of C++. Especially since in this case, the speed difference would have been negligible anyway. 

This was my first project in the Unreal Engine. I ended up learning a lot working in the engine and I look forward to working in Unreal in the future.

bottom of page