Diego Penha


Web Developer - Game Developer - Computing Scientist

Portfolio


Games

Web

Misc

About


Graduated in Computing Science at Instituto Federal do Sul de Minas (IFSULMG), currently working as a Full Stack Web Developer (.NET) and part-time Game Developer (Unity) as home office for the same company.

My stack consists basically of C#, Python, JavaScript, Typescript, AngularJs, Vue (with Vuex), CSS, SASS (7-1), and a few others, you can check a detailed list of my stack here. I'm always curious and willing to learn more.

Contact Me


diego.penha95@gmail.com


Adventures of Dude in the Top Down World


A game developed in Python

Using the PyGame lib, this game was part of my final paper, wich can be read here.

The game consists on a top-down shooter experience and its main feature is the use of a Genetic Algorithm as artificial intelligence for the NPCs. The project is now open source available here.

Technologies used

PythonPyGame.

Download. Close.

Store Manager


A CRUD with related entities

This SPA's (Single-Page Application) purpose is basically to manage sales and stock of a store, the project's source code can be found here.The system is a SPA developed with ASP.NET Boilerplate using ASP.NET MVC 5 (C#, Linq and Entity Framework on the back-end and AngularJs, HTML and CSS on the front-end).

Technologies used

C#.NETABPEntity FrameworkHTML 5AngularJs.

Close.

Star's histogram analysis


A simple histograms generation and analysis from de "Acrab" star.

In physics, the "Redshift" is an astronomical phenomenon wich concept is similar to the Doppler Effect: when a sound is approaching you, its pitch sounds sharper, when it is distancing away from you, its pitch becomes heavier. The same happens with light, when some celestial body move away from your point of view, its Redshift increases. Thats basically how hubble researchers found out that the universe is expanding, by analysing an increase in the Redshift of galaxies. More about it here.

In this project I gattered images of a star, with a camera and an amateur telescope and then, analysed the histogram of the star to get the red percentage of the Acrab star using Python and OpenCV. This project was a hobby and has no scientific pourpose, but to study and explore our galaxy.

Technologies used

PythonOpenCVMatplotLib.

Close.

SISCAPE


Desktop App for school management.

Built as an university project, SISCAPE is a system developed in Java, using the Swing lib and MySQL. Its main pourpose is to facilitate the teacher-student interaction, serving as a sort of "files server" in wich the teacher can select his classes to send files, and the students can access and download these files through a login system.

Technologies used

JavaSwingMySQL.

Close.

RPG Sheet Application


An RPG sheet application.

Most RPGs (Role Playing Games) demand paper sheets to be played. This can get very annoying when there's no pencil or even when a group wants to play via Skype or Discord (remotely).
To solve this issue, while playing with friends I decided to convert the paper sheet into a simple desktop application made with Python and Tkinter. The result came out pretty simple looking, yet very useful and easy to use.

Technologies used

PythonTKinterPAGE.

Close.

Fast Thinking
(Pensa Rapido)


A simple mobile game.

The game consists of basic mathematical expressions, randomly wrong or right. The player has to mark if they are wrong or right, but must do it before a timer runs out.
Has main menu with timer speeds (easy, medium, hard) and background color, you can also share you score with friends.

Technologies used

AppInventor 2

Download APK. Close.

LittleJs World


A simple JavaScript game.

This game was created as a self teaching method to learn more about JavaScript and HTML5 canvas.
You play it as a green square and your goal is to reach a blue square without touching any red or grey squares. Through your journey you will find cool mechanics like the "key blocks", golden squares that are required to get before reaching the blue square, and other new mechanics will be implemented since the game is in continuous development.

Technologies used

JavaScriptHTML5 Canvas

 Play now.  Close.

Simple tile-based game


An Unity tile-based game.

This game is simply a base for a tile-based game, implementing: tile walking, tile axis info, tilemap, collision, sprite changing and main menu.
Project available here.

Technologies used

C#Unity3D

Close.

Race Game


An Unity3D race game

The game implements many important concepts for a full race game, such as: acceleration, gear shift, sound, camera, collision, turning, torque, break, and others.
Project available here.

Technologies used

C#BlenderUnity3D

Close.

Little ASP.NET Core App


Implementation of the Little ASP.NET Core Book

This project is an implementation of an ASP.NET Core 2.1 simple tasks application using the best practices and methods presented on the Little ASP.NET Core Book.
It features: To-dos list, new to-do task creation, checkbox to complete a task and will feature security measures automated testing and deploy.
Project available here.

Technologies used

C#ASP.NET Core 2.1

Close.

Racing Car


A game developed for Soitic Games

This game was developed for the company Soitic Games as part of the Elfutec teaching metodology (gamification).
The game is an answering test, where you have to drive a car to the correct answer, as shown on the images. If you hit a right answer you earn a point, if you miss it, you lose a point. Your goal is to reach a certain amount of points and by doing so, the student gets to master a topic in a fun way.

Technologies used

C#BlenderUnity3D

Close.

Shopping list


A simple example of Vuex usage

This example implements some core features of Vuex state management for a Vue application, such as states, mutations, actions and getters
It acts as a simple shopping list with two components that consume data and methods from the Vuex environment.

Technologies used

TypescriptVueVuex

 Live. Close.

Dude's Quest


A fun platformer game

Ratings: loading...

Total voters: 0

A platformer game made with Phaser in Typescript, starring that character: Dude.
Your goal is to pass various level, facing many threats, dangers and puzzles,while seeking on each level a gem. Gathering all of the gems you will be able to forge the ultimate weapon that might get you to destroy the terrible dictator of the side scrolling land!

Technologies used

TypescriptPhaserTiled

 Play. Close.

Pique-Catch

by Game-Devs


The eletronic version of the game 'Tag'

Still in early development, this game follows the basic ruleset of Tag, the game that involves two or more players chasing other players in an attempt to "tag" or touch them.
Can be played by 2 players (with intent to make it online in the future) and each one has to catch the other on the respective turns, following some extra rules, like a timer to switch turns and some items to spice things up!

Technologies used

WebpackTypescriptPhaserTiled

 Play. Close.

The Great Eight


A tribute to the Event Horizon Telescope project

A quick game where you meet each of the eight telescopes used to spot the very first black hole that human kind has ever been able to "see".

Technologies used

Bitsy

 Play. Close.