Renderistically
-
A learning Experience 112
Now that I have covered how the game eXperience 112 is storing its levels and that we have a new shiny renderer to visualize them, let's dive in and see what interesting things we can find. First, meet eXplorer112, our viewer. It can display…
-
Running another Experience 112
In a previous post, I have explored how the game eXperience 112 stores its resources, describes its levels, and renders frames. Rich with this information, I wanted to attempt to display the game levels in a custom renderer. Hopefully we should now…
-
Experimenting with Experience 112
eXperience 112 was a puzzle/adventure game released in 2008 by Lexis Numerique. As the player, you were given access to a surveillance system connected to an abandonned ship-turned-laboratory where weird experiments were conducted in the 1960s.…
-
Upscaling Myst III
I have already described at length how much the Myst video games are important to me. The first game I bought in the series, at random in a store, was Myst III. It managed to capture my imagination as soon as I pored over the box and the fascinating…
-
3D rendering on the Vectrex
For a few years now, I've maintained a side project called Here be Dragons, where I attempt to display a given 3D scene in real-time on as many platforms as possible. This has been a funny way to experiment and discover various rendering…
-
Coming back to Uru, part 4
Last week, I mentioned some improvements that could be brought to my Uru/Myst V assets viewer. I'm glad to say that I've implemented most of them! I think that this project is now mature enough to be usable. Even if the recent re-release of…
-
Coming back to Uru, part 3
Six months ago, I decided to implement an asset viewer for Uru, a game in the Myst series. The goal was to be able to load and visualize levels from the game in real-time, with a rendering as close to the in-game appearance as possible. Last time,…
-
Coming back to Uru, part 2
Last week, I decided to implement a 3D viewer for Uru, a game in the Myst series. The goal is to load and visualize assets from the game: images, objects,... I have succeeded into loading meshes and textures from the.prp assets files to RAM and then…
-
Coming back to Uru
I have been a long-time fan of the Myst game series. Their fascinating worlds and convoluted lore has always captured my imagination. Most of the games of the series were 360° panoramic point-&-click, but two of them, Uru and Myst V, made the…
-
Writing a small software renderer
In computer graphics there exist many rendering algorithms, i.e. methods to display a virtual scene onto a screen, with various approaches and refinements. But only two main classes of those are currently used at a large scale. After starting to…
-
MIDI visualization, a case study
Recently, inspired by my partner starting to practice piano again and showing me this video, I challenged myself to build a small MIDI visualizer. I wanted to be able to display a MIDI track as an animated score, with moving notes, similar to the…
-
Implementing FXAA
When rendering 3D scenes on a computer screen, aliasing can occur. As each pixel can only belong to the specific object covering its area of the screen, and receives a unique color from it, jagged and saw-toothed effects can appear at the edges of…
-
Lantern, part 4
During the winter break and in the last few weeks, I've had a bit of time to continue working on the Lantern. The project is by no way finished, but I have designed almost all the lantern parts (basis, columns, and some of the tops). Each…
-
Playing Evidence: the Last Ritual
I recently wanted to replay a game named In Memoriam (also known as Missing: Since January). It was an interactive thriller game created by Lexis Numerique, where the player was tracking a serial killer based on the clues he hid in weird pictures…
-
Quick updates
At last, an update on this blog! I am currently following a double cursus that takes most of my time, and in my spare time I try to focus as much as possible on my personal projects, leaving me literally no time to update this blog. But as the…
-
NSFileWrapper serializedRepresentation
With the last update of Aquarii, I published online a small utility app, allowing people to extract data from their backups archives. The reason is that backups are generated using the NSFileWrapper class, and its serializedRepresentation method :…
-
Lantern, part 3
After a few silent weeks, some news about my Lantern project! I spent some time polishing the 3.4 Aquarii update, but also had the time to add many features to this project. Many general improvements have been made, and things like sounds, effects…
-
A few SCNTechnique examples
Introduction SCNTechnique is an interesting class of the SceneKit library that allows a developer to easily setup a multiple-passes rendering, without having to implement her own framebuffer management code. A technique is assigned to a SCNRenderer…
-
GL_EXTENSIONS and Swift
It can be useful during the development and debug of graphical code to check the OpenGL version or which extensions are available. Swift being more type-sensitive than Objective-C, one sometimes needs to fiddle when combining it with OpenGL.…
-
GarageBand missing loops
If you used to make podcasts or sound effects with old versions of GarageBand, you might remember the Podcasts category of sound loops. It contained a lot of funny jingles, nice ambient sounds and numerous sound effects that were quite useful.…
-
Lantern, part 2
This week, I worked on lighting and improving general quality. Lighting Lighting is an important part of creating the mood of the scene. I needed to recreate the warm moving light of a lantern's flame at night. Lights After much…
-
Lantern : a devlog
With this article, I'm going to start a new adventure! I want to begin a new personal project revolving around SceneKit (3D scenes on iOS), Blender and visual effects. The initial idea is to create a small realtime-3D scene with a carefully…
-
Un ciel dans le shader.
J'ai eu l'occasion durant ce semestre de commencer à apprendre à programmer pour OpenGL. Il s'agit d'une interface de programmation graphique implémentée par la plupart des fabricants de cartes graphiques, et qui permet…
-
Le manoir récursif
Je me suis mis récemment en tête d’explorer un peu le domaine de la génération procédurale. Cet ensemble de techniques est revenu à la mode dans le monde du jeu vidéo ces dernières années. On pensera par exemple à Minecraft, Dwarf…
-
Thoth, un générateur de blog.
Cela fait bien longtemps que ce blog n'a pas été mis à jour (et ce n'est pas la première fois que j'écris cette phrase). {#Thoth} Ce site est passé par pas mal d'étapes. Son ancêtre a été commencé sur la plateforme…
-
Aquarii, l'idée
Tout a commencé l'été dernier. Un ami (appelons-le Nichola) et moi-même discutions devant son aquarium. Depuis plusieurs années il s'en occupe patiemment, jour après jour, veillant scrupuleusement au bien-être de ses petits…
-
The Bookshelf.
The Bookshelf. Le nom veut tout dire : une bibliothèque. Des livres, des journaux, des carnets, soigneusement alignés sur une étagère. Quel meilleur endroit pour raconter une histoire ? Ou bien des histoires, qui s'entrelacent et se croisent…
-
Duo/Era.
Juste quelques informations sur les dernières avancées de mon projet de visual novel, Duo. Ou Era. Ou les deux. Le nom n'est pas fixé. Une fois les premières idées arrivées, il a fallu apprendre à maitriser le logiciel, ce qui s'est…
-
En un ailleurs.
Pris d'un soudain élan de nostalgie, j'ai décidé la semaine dernière de réinstaller Myst III : Exile, le jeu grâce auquel j'avais découvert la série de Cyan Worlds il y a plusieurs années. Je me souviens, après l'avoir…
-
Nouvelles.
Cela fait bientôt un an que rien ne s'est passé sur ce blog. Oui, c'est long. Et c'est parce qu'il s'est passé une infinité de choses en réalité. La prépa, ça occupe (le jour et la nuit). Mais c'est aussi une…
-
Une occasion.
Depuis un ou deux ans, j'en cherchais un. Récemment, je m'étais lancé plus assidûment à sa recherche sur Internet. Quoi de mieux pour dégoter un vieil ordinateur, que les annonces en ligne ? Après une ou deux déconvenues sur eBay et…
-
Immersion.
Lexis Numérique est aujourd'hui l'un des plus importants studios européens qui s'implique dans la réalisation vidéo-ludique indépendante, loin des grandes franchises. Fondé dans les années quatre-vingt dix par Éric Viennot, le…
-
Quelques notes
Malgré les différences fondamentales qui séparent les oeuvres vidéo-ludiques des productions cinématographiques, celles-ci partagent un point commun : la bande-son. Dans les deux cas, la musique permet de construire l'ambiance de…
-
Indépendance.
Dans l'univers des jeux vidéo, à côté des grandes licences à succès, on trouve de petits studios indépendants. Moins soumis aux règles du marché et des franchises, ces créateurs sont peut-être ceux qui osent le plus, poussant le…
-
A contrario.
Il est une catégorie d'applications que je n'ai pas abordé dans mon dernier article : les jeux vidéo. Vaste domaine, à propos duquel on pourrait développer pendant plusieurs pages. Mais, pour en venir à l'élément qui…
-
Interfaces
Lorsque l'on s'intéresse à l'informatique et au graphisme, il existe un élément où ces deux thèmes se réunissent. L'interface. Mais qu'est ce qu'une interface ? De manière générale, il s'agit d'une zone,…
-
Auberge japonaise.
Le projet du studio HybridWorks était au départ une série d'icônes qui reprenait l'ambiance et les objets caractéristiques des auberges traditionnelles japonaises. Nommé Yoritsuki (du nom d'une auberge fictive), ce pack se…
-
Genèse et pomme
Le projet a commencé sur une idée toute simple, une constatation plutôt. Etant étudiant, lycéen en filière scientifique, j'utilise fréquemment un appareil nommé calculatrice scientifique. Ces machines forment une catégorie à part :…