Category Archives: Portfolio

“Bunduru” Chess AI

For Marist Artificial Intelligence, my buddy Phil and I had to make a Chess AI. The professor hosted a server that would manage teams and a 2D display of games. AIs had to manage gamestates and submit moves to the server, as well as receive new moves when it wasn’t the AI’s turn. The server managed whether moves were valid or not and would update the 2D display when the AIs submitted their turn. After several weeks of development, all the teams competed their AIs against each other.

And we won!

Read on to learn about our AI.

Continue reading

Operating System

ctOS – 6502 TypeScript Operating System

For my Operating Systems class, I was tasked with making an Operating System simulation using basic OS architecture and 6502 operations.

Using TypeScript, I implemented a CPU, CPU scheduler with 3 scheduling methods, memory manager for RAM, kernel interrupt and ready/resident queue, hard drive and hard drive driver with swap virtual memory. I also added neat features like achievements, boot video, step mode, and tons of little special commands.

It was one of my favorite projects of all time in my education. It was a lot of fun to implement new achievements into something like an Operating System and the design for ready queues/CPU scheduling was really interesting. I also found a new language to love. TypeScript is a JavaScript transpiler that gives type checking and more to JS, made by none other than Microsoft. I’m a strict type kind of guy, and it has been my biggest pet peeve of JS for a long time. TypeScript was a god send, and will be what I use whenever I have to write JS now. Combined with native debugging in Visual Studio, it can be extremely powerful and helpful. It makes Object Orientated programming in JS to be a breeze.

There are a bunch of built in programs to ctOS you can find in the sidebar, but feel free to make your own. There was discussion on how it would easily be possible to read/write executable programs to the hard drive, and with a few more op codes, you could have the simplified 6502 CPU do some pretty legit algorithms like merge sort and stuff. Its a fun Operating System.

Feel free to check it out here:
http://anthonyb28.github.io/ctOS/

Source & Readme:
http://github.com/anthonyb28/ctOS/

Rubiks Cube AI Part 1 – Parity

Rubiks Cubes! I cant solve them to completetion for the life of me. But now I can just solve them using an AI.

But before jumping into heuristics, A* algorithms, and all kinds of solving. First, let us consider a random Rubiks Cube itself. Is the cube actually solveable in the first place? Can we go from the random state pictured above to a solved cube?

The answer is no. The Rubiks Cube parity has been altered!

Continue reading

Programming a Boggle Algorithm

Recently had to figure out how to program a Boggle algorithm. Boggle is a simple board game I never had the pleasure of playing by itself, but have played plenty of related variations of. These kinds of algorithms are pretty interesting and I had a lot of fun programming different solutions. I’ll share 2 solutions.

Boggle is relatively simple. I never had the pleasure of playing by itself, but have played plenty of related variations of.

You have a square game board with dice of various letters that is n x n. The board gets shaken/randomized and a timer starts. The player scores points by finding valid words on the board that are longer than 3 characters, with longer words scoring more points. The rules are that letters have to be adjacent or diagonal to the last letter in the word to continue. And you can never repeat a letter you’ve already used, so while you can have multiple of the same letter, its the die itself you can’t return to.

I decided to tackle it in C++.

Continue reading

Ubisoft Internship Post Mortem

For years I’ve been adamant about getting a job in the gaming industry for many reasons that can take up a whole essay on it’s own about why I find it so fascinating and important in media today. As a student, I became very acquainted with the recruitment process of being met with blank stares and non-responses when applying for internships at gaming companies or inquiring about them. Many for some reason are totally opposed to the idea, but others have intern systems even if they say they don’t.

From my high school senior year onward, I was on the hunt for an internship in games. As I approached my senior year of college, I felt my rope was getting really short because an internship would have been incredibly vital to my career decision in games. I wasn’t sure if I wanted to be a designer, programmer, IT technician or something else entirely. I wanted to use the internship opportunity to experience it first hand and base my decision off that. When all my efforts failed, I decided to go all-in on programming. It was a risk, believe it or not, for a Computer Science major like me because I still wasn’t decidedly convinced I wanted to be in this field.

After Ubisoft reached out to me, I finally got to experience some professional hands on programming with languages I truly enjoy and learn about the industry first hand. I’m not only sold on programming now, but more than ever before, games as a career too.

Prepare for a long blog. There’s over 8 months of experiences summed up.

Continue reading

Ubisoft Montreal GameJam 2014 – “You & I”

Team Omega’s Ubisoft GameJam project – “You, Me, Pigs In A Forest”

A spooky co-op game that features the theme of “You & I”.
One player controls a lantern and the other a sword. Enemies cannot be hit with the sword unless they are vulnerable from the lantern light. The lantern player is powerless to defend himself and the sword player has no light source. They must stick together to survive but are sometimes forced to separate.

Using Unity Pro, we employed depth of field and noise filters to create a cinematic quality to the darkness.
A custom shader I made gives maps a “fog of war” where shadows envelop the player, and only the lantern has the ability to shine through. If the sword player moves out of the lantern, the darkness completely covers him.
Enemies employ the Unity nav mesh system to follow and hunt the player down in swarms.

jpeg

Holy Double GameJam Batman!

Wow! Just participated in 2 game jams in back-to-back weekends.

I finished hosting Marist Game Society’s student GameJam last week and this weekend, Carrot Island decided to participate in a MiniLudum Dare. We’re all over the place!
As they say, To the moon!!! ┗(°0°)┛

Read on to see what our games are about!

Continue reading

Clockwork Featured @ Come Out & Play

Hey everyone! Sorry I haven’t updated in awhile. It has been a very busy summer and I am back at Marist College now for a new semester.

I had a small role in a game called Clockwork which was designed by Michael Ren and we were featured at the New York Come Out & Play Festival this year with Grasshopper Games. I have pictures and videos inside for your viewing pleasure, and more about the game.

Continue reading

The Carrot and the Stick [Concept Art]

Sorry for not posting in awhile! I’ve been hard at work at my internship, a programming sidejob, working on Thomas Edison, as well as a project of my own when I can.

Checkout three amazing pieces of concept art that our fine artist Stephan Park has made for Thomas Edison!

Continue reading