Lucas Vieira's Portfolio


Lisp hacker, Rustacean, Bit Twiddler, Game Programmer.

GitLab -- GitHub -- Contact

Archived Projects

The following are project I am not currently maintaining, but still have their value as nice projects.


abnTeX2unifei is both the project of an extension for famous class abnTeX2, which implements Brazillian Association for Technical Norms’ (ABNT) rules for creating course completion assignments (called Trabalho Final de Graduação on the related college, UNIFEI), and a complete template with some examples for this kind of paper.

The idea to create this came from the thought that many people were having a big time with such a small, meaningless thing such as document formatting and, while there are several applications online and for desktop that do the job perfectly, they’re not as powerful as the LaTeX language.

So this was created, with opensource code, distributed under the MIT License, for community use.

Needless to say, both the code and the repository is targeted at Brazillian Portuguese speakers.

(Repository)       (Mirror)

Processing Sketches and its Ports

Back when I was in college, the principles of computer graphics were taught to me by using the Processing API, version 2.x to be more exact. Even though it had a Java backend, the fact that it seemed a lot like the OpenGL 2.x fixed pipeline, but was even easier to use, influenced a lot the way I make games, and made me passionate about Processing, even though I never used it again. Instead, I kept a backup of my best Processing sketches from that day, and also dared to port a small subset of Processing’s features to OficinaFramework v1.x. I lost the breakout clone I once built in it, but it ended up being ported to Oficina as well, and ended up as the early versions of Super BrickBreak.

Those are the sources for two of my sketches. You’ll need Processing 2.x to execute them. I never even tried to update it to a more recent version of this great tool, unfortunately.

(Repository - original sketches)       (Mirror - original sketches)

(Repository - Oficina v1.x ports)       (Mirror - Oficina v1.x ports)


This is pretty much the embryo for OficinaFramework, and one of my first attempts at a multi-purpose game engine. This engine was originally built using C# and XNA Game Studio, then later ported to C++ and refactored into the first version of OficinaFramework.

(Mirror - C++ version)       (Mirror - C#/XNA Version)

Gongly Script “Compiler”

Back when I was still building the C++ version of EnzoEngine, I realized I didn’t want to use XML to describe my levels (nor any other type of metadata, actually). So, I created my own level data storage format, which included a few loop instructions so I could more easily populate tiles with a single instruction, and it then byte-compiled to a format which could be read as a byte stream.

It has many issues and the code itself is one true mess, but the byte-compiled file worked very well with OficinaFramework; it even let me build a Super Mario World clone, which I unfortunately seem to have lost, so only its videos on YouTube remain as proof of early OficinaFramework’s power.



A Sonic Worlds port to C/C++ wannabe. Never really left the initial stages. Maybe I’ll refactor it someday?



This is an old project of an .epub format reader, which was only developed partially, and for a college essay. This project was specifically developed with other colleagues, and is no model for a GitHub project, nor is really usable.



One of my first repositories, containing object-oriented, generic implementations for common data structures, in C++. It might need a lot of review, but I keep it around in order to remind me of how much I evolved as a programmer.


Back to Main Page