Desromech

Desarrollo de Software Ronie Salgado Faila E.I.R.L.

A software consulting company dedicated to the development of new software development mechanisms for low-level system programming, real-time 3D graphics and videogames.

Our main company products are the WODEN Engine®, and the Sysmel Programming Language, along with associated tools for supporting these products. In addition to focus in the development of these two products, we also develop additional supporting tools to facilitate the software development experience with the WODEN Engine® and Sysmel. Our company does also provide consulting services to other companies in the Pharo and Squeak ecosystem related to the maintenance of the OpenSmalltalk Virtual Machine, low-level 3D graphics, and software development support tools.


WODEN Engine Logo

An open source 3D graphics engine designed for developing videogames, data visualizations and virtual reality applications.

The focus of the design of the WODEN Engine® is in supporting live programming for providing quick feedback on code changes to developers, and consequently reducing application development times. This project is currently undergoing a full rewrite in order to improve stability and modularity.

The following video contains the WODEN Engine® demo titled "Voyage in the WODANIC" that was presented at ESUG 2019:

WODEN Engine ESUG 2019 Demo

WODEN Engine® and its logo is a trademark registered in Chile at INAPI by Desarrollo de Software Ronie Salgado Faila E.I.R.L.

Hunting & Camping: in a singularity

A short first-person shooter videogame that is inspired by classics like Quake and Half-Life.

Hunting & Camping: in a singularity is a short videogame for the Nintendo 3DS™ and PC whose game logic is implemented by using the Sysmel language (Beta variant).

Hunting & Camping: in a Singularity (Trailer)


Sysmel Programming language

The SYStem MEtaprogramming Language, an experimental low-level programming language.

Sysmel is a static typed language with a syntax which is a hybrid between C++ and Smalltalk. The focus on the design of Sysmel is on having a minimalistic programming language that provides metaprogramming capabilities that facilitates multiple domain specific constructs that are designed by the programmer to satisfy his or her needs, instead of being designed by the language designer. Videogames and low-level software developers wants freedom on how they use their language, and they are willing to pay the price for performance or other needs instead of being tied by "best practices" dictated by the academia or an industry that is completely unrelated with performant software development. For this reason, the philosophy behind sysmel is on exposing most of the compiler as yet another library that can be extended by the programmer at will. This extendable compiler is realized through the definition Meta-Object Protocol (MOP), a concept that comes the Lisp world, which is realized by a Smalltalk inspired meta-circular hierarchy with a static type systems. In Sysmel, types are objects, and they define how the different language constructs are analyzed and how they are translated down to different intermediate representations (IR) that can be optimized and translated into machine code.

Due to the meta-stability issues that rise from this kind of unusual approach for compiler development, we have three different successive iterations and variants from this language and compiler system: 1. The original alpha variant is implemented in Pharo, and it suffers of compiler performance reasons. 2. The beta variant is implemented in C++, it uses the LLVM for the backend. This compiler variant sacrifices compiler extensibility for getting better compilation performance, and having low-level language that works a bit better than C. The game logic of the Hunting & Camping: in a singularity videogame is implemented with this language and compiler version. 3. The gamma variant is designed for self-bootstrapping. This variant starts with a minimalistic untyped version of the language implemented in Python and it used for defining a complete self-bootstrapping version of the language. This implementation is still ongoing.

The following video contains an initial demonstration of the usage of Sysmel for developing a simplistic 2D videogame without GC, and debugging it through GDB bindings in Pharo written in the Sysmel alpha variant:

Sysmel Short Native Game Demo


Contact Email: contact at desromech.cl (alias: contact at ronie.cl)