Projects
aether
General purpose game framework
- 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
- 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
- c++
- metaprogramming
Generic implementation of A-Star algorithm heavily based on templates for C++.
SECS
Game logic framework
- 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
- 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
- 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
- java
Metroidvania-like map generator with constraints used in Demux.
xstf
Framework
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.
splinedesigner.js
Tool
- 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
- 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.