Eric Marcarelli

Software Developer, Writer, Painter

Chess AI in JS

January 01, 2017 by Eric Marcarelli in Projects, Technology 0 comments
I’ve been working on a new Chess AI project recently, and I’ve now gotten to the point that a full game can be played. The only rules it’s still lacking are castling and en passant captures. You can play the chess game here and the source is available here.


September 19, 2015 by Eric Marcarelli in Projects, Technology 0 comments
Printalytics is a small web service I developed primarily to learn Laravel. It lets you track the number of times a web page is printed.

Xovos: Web Design through Evolution

August 08, 2010 by Eric Marcarelli in Projects, Technology 0 comments
Xovos is the senior project I completed last May. It is a program that develops web designs in an evolutionary environment with user interactions and preferences as the selection criteria. The project consists of five basic parts. The user interface allows the user to interact with the program. A set of genes makes up a chromosome that describes a design. An offspring generator mates the designs from the current generation to form the next generation. The design generator parses the design chromosomes to create the visual representations of the design. Finally, environmental preferences (also called monsters) allow users to set basic criteria for designs that will be automatically selected against. In my research I have not been able to find anyone else who has tried to apply evolutionary programming to web design in this way. The closest related work is on evolving programs that are designed for specific tasks and are not visually oriented.

A Fair Game of Blackjack between Two Players

August 08, 2010 by Eric Marcarelli in Projects, Technology 0 comments
It is possible for two players to use cryptographic techniques to play a fair game of Blackjack without having to trust the other player or use a trusted intermediary. The cards a player receives are random and at the end of the game both players are able to confirm that the other player’s score accurately reflects the other player’s cards. I will begin with a general discussion of the technique, then move into an examination of the program that implements it. Logs from an example game and the code for the project are included at the end.

Chess AI Project

August 08, 2010 by Eric Marcarelli in Projects, Technology 0 comments
The Chess AI program I wrote is capable of playing through a full game of chess. The human player takes the side of white, and the computer will respond with black’s moves. The game can look an arbitrary number of moves (plies) into the future to select the best move. It uses four plies by default and takes between 10 and 90 seconds to make a move depending on the complexity of the current position. The game is written in C++ using SDL for graphics.