Rafael Castro e Silva's Portfolio

A gradute videogame programmer from Almada, Portugal. Check out my projects down bellow and don't hesitate to contact if you're interested in working with me.

Games Portfolio

Here are showcased game projects, videogame or otherwise. Under each card are a series of links related to the games.

The Sixth Sun

A retro action FPS set in the Aztec empire under siege from invaders from the stars.

Developed in the Unity Engine. I was one of the programmers for this project, as well as the VFX artist.
Besides gameplay features I also developed a system to allow the designer to design combat encounters in the editor, an IndieDb article detailing it was written here. I was also responsible for the trailer.

Devlog | Game Trailer | Podcast[PT] | Itch.io Page

Obidos - Sliding Puzzle Prototype

An Haxe/HaxeFlixel implementation of a Sliding Puzzle game.

Part of my current internship.
Initially programmed in Haxe and then compiled to JS. All code by me and available on github

Source Code | Play the game!

Orbiter

A 2 button frogger like game made to be accessible to people with cognitive impairments.

A joint project with CICANT made in Unity/C# with the purpose of being used with a custom built 2 button arduino interface that the team also programmed. The game has the player jump trough orbits while dodging comets and alien ships in order to reach the wormhole at the center. The project was done with the goal of making a game that can be stimulating and fun for people with physical and mental limitations.

Gameplay Video

Breakout Beatdown Infinite

A pygame implementation of Breakdout.

Made as a class project. The classic game of Breakdown, with infinite randomly generated levels and a rudimentary "combo" feature.

Source Code on Github |

Tools & Software

Here are showcased software projects that are not games. These include tools to aid in game design in the engine or personal experiments interesting to share publicly. Clicking the images of each one will take you to the source code.

Snappable Meshes PCG

A Procedural Content Generation algorithm and technique to create game levels by joinning hand made pieces of geometry.

The Snappable Meshes PCG technique consists of a system of connectors with pins and colors which constrains how any two map pieces can snap together. Through the visual design and specification of these connection constraints, and an easy-to-follow generation procedure, the method is accessible to game designers and/or other non-experts in PCG, AI or programming.
Snappable Meshes was initially developed by me as part of a game project but was afterwards expanded and made standalone with the help from my professors. Two peer reviewed papers were written about this algorithm, one being currently reviewed for publication and the other already accepted, presented, and is awaiting publication.

Source Code on Github | Published Conference Paper

Sixth Sun Unity Database

A Unity Engine scriptable object based database solution.

This framework was used in the Sixth Sun project. It is a method of storing runtime game variables in a scene and component agnostic way by utilizing the engine's scriptable objects. This also allows the game designer to tweak and track variables without having to interact with prefabs, game code, or objects in the scene. This solution was based from one presented in the conference Unite Austin 2017.

Source Code on Github

Research & Presentations

Here are showcased academic research works where I was a significant participant. This includes Papers, articles, conference appearences etc. Clicking the images will take you to the location where you can read the research, if applicable for that item.

Procedural Game Level Generation by Joining Geometry with Hand-Placed Connectors

Published Conference Paper and Presentation on a Procedural Content Generation technique

Paper written about the original version of the Snappable Meshes PCG technique. I presented this paper in Videojogos 2020, the 12th Internacional Conference on Videogame Sciences and Arts with the Co-Authors Nuno Fachada, Nélio Codices, and Diogo Andrade.

e Silva, R. C., Fachada, N. Códices, N. & de Andrade, D. (2020). Procedural Game Level Generation by Joining Geometry with Hand-Placed Connectors. In Proceedings of Videojogos 2020 - 12th International Videogame Sciences and Arts Conference, VJ '20 (pp. 80-93), Mirandela, Portugal. SPCV.

Learning Engagement in a Pre-Alpha Version of an Educational Game: Evaluation and Proposed Solutions

Conference Research Presentation

I, along with Lília Marcelino, Pedro M. A. Fernandes, Pedro Inácio, João Cerqueira, and Inácio Amerio, presented our research on the engagement of children in a pre-alpha version of a game aimed at teaching math to hearing-impaired children. The presentation was at the 8th International Congress of Audiovisual Researchers

Procedural Generation of 3D Maps with Snappable Meshes

(Preprint) Paper on a PCG technique

This paper is an evolution of the Procedural Game Level Generation by Joining Geometry with Hand-Placed Connectors and similarly discusses an evolved version of the same PCG technique: The Snappable Meshes PCG shown in the Tools & Software section. This paper and further development of the Unity implementation were made by me and co-authors Nuno Fachada, Nélio Codices, and Diogo Andrade.