lisp

Update: All the patches1​, 2​ has been merged into main branch of Fennel language, so expect to see improved fennelview in next stable release! Some semantics have been altered, so I’ve updated the post a bit to reflect the changes. Pretty-printing in Lisp is a way to represent data structures that we operate in our program in a human-readable way.
Programming languages come in all shapes and sizes. There are pretty simple languages, and a really complex ones. But what unites most of these languages is the syntax. There are many languages so called C-like, as they share many syntax ideas with C language, which includes consistent indentation, grouping, scoping, infix notation.

Previously I’ve decided to implement a rather basic raycasting engine in ClojureScript. It was a lot of fun, an interesting experience, and ClojureScript was awesome. I’ve implemented small labyrinth game, and thought about adding more features to the engine, such as camera shake, and wall height change. But when I’ve started working on these, I quickly understood, that I’d like to move on to something more interesting, like real 3D rendering engine, that also uses rays.

Ray casting is quite old technique, that was heavily used in the early days of game development in a lot of games to create illusion of 3D space. Most known example, and perhaps first widely successful game that used this technique, was Wolfenstein 3D, made by ID Software in 1992.