Projects

aether

General purpose game framework

game
lib
  • c++

Framework derived from alligator but this time it has been designed with portability in mind so that it is not tied to any backend and is easily ported to any other platform or backend.


alligator

General purpose game framework

game
lib
  • c++
  • allegro

Framework made to help myself on building games quickly. Because of my love for LibGDX, I built this framework highly based on it on some parts. I have been using this in jam games as in long-term unfinished projects. It is using only allegro right now, and it provides helper classes to build spritesheets, animations, sounds, music, input and game screens, nothing too fancy.


AStarCPP

Classical AI algorithm

game
ai
  • c++
  • metaprogramming

Generic implementation of A-Star algorithm heavily based on templates for C++.


SECS

Game logic framework

game
lib
  • c++
  • stl

Acronym for Simple Entity Component System. After studying and working on the data oriented ECS approach through the time, I started working on SECS in order to have an usable ECS framework. Before starting this project I have started others like artecshpp or ecscpp just to fiddle with the ins and outs of this approach. Also I have used the ECS approach in some jams, which let me prototype faster and have much more variety of game object kinds by combining different components.


jsearchgen

Map generation

game
ai
  • java

Search based tilemap generator with multiple constraints. This project was built for my final university project, and you can find all the documentation related to this here (it’s in spanish though).


PlatGEN

Map generation

game
ai
  • java

Platformer map generator used in Asroth. This generator uses several techniques fetched from the computer vision field, and it’s very experimental but did its work very well.


TroidGEN

Map generation

game
ai
  • java

Metroidvania-like map generator with constraints used in Demux.


xstf

Framework

lib
  • c++

eXtremely Simple Test Framework. The purpose of this project is not to have to build testing tools for every project and also not having to use a bloated testing library when it is not needed, so this is why it is very simple.


rztl

General purpose library

lib
  • c++
  • stl

Small template library with a few common data structures I use in some of my projects.


id3.hs

Decision tree learning AI algorithm

ai
  • haskell

ID3 learning algorithm implementation using Haskell. The ID3 algorithm is one of many algorithms designed to generate a decision tree from a dataset. This was built in a university subject, and the purpose of chosing Haskell as the programming language was to learn how to properly use it.


DungenASP

AI & Map generation

game
ai
  • answer set programming
  • clingo
  • python

Answer Set Programming is a form of declarative programming oriented toward difficult (NP-hard) search problems. In this project I sketched the few first steps of my final university project of building a map generator with a search based method and several difficult constraints. The investigation using this method ended in order to build a more practical approach using Java and common procedural programming.


GLSkelView

Tool

cg
editor
  • c++
  • fltk
  • opengl

Old OpenGL animation viewer using fixed pipeline for educational purposes only. I made this simple viewer for a class subject and it uses a very simple format to define animations and geometry.


GLRayFW

Specific game framework

game
lib
  • c++
  • box2d
  • opengl3

Framework to build Wolfenstein3D-like games using OpenGL 3+ and Box2D. This is currently being used in Miniray, and has been used to learn modern OpenGL techniques. The status of this project is quite advanced, but still needs work on game logic, which is being done using a simple Entity/Controller approach.


boxtool.js

Tool

game
editor
  • js

Utility to define named boxes and points on spritesheets. This tool was quickly built during the development of Ufofrog’s final boss, which is huge and had an irregular shape which was different for each frame. The utility accomplishes this neatly.


GBSpriteD

Tools

game
editor
  • c++
  • qt

Simple and featureless sprite editor for GameBoy. The purpose of this editor was to have a way to export sprites to GB-understandable format. There are other better apps to do this, but I wanted one that could run natively on Linux.


cg
editor
  • javascript

Spline drawing tool using JS. This tool’s purpose was to build a few spline files to be used in other applications for a university course and it’s definitely not polished.


tmxmob

Tilemap editing tool

game
editor
  • java
  • libgdx
  • android

Oversimplified Tiled map editor for Android. The purpose of tmxmob is to have a quick tilemap editor for mobile. It features just one layer, but it’s nice for prototyping maps.