Misc

About

A place for experiments and projects which are unfinished or use obsolete tools / technology, most were made before 2010.

Stargate based FPS

Prototype of an open world FPS game made with Shiva 3D (a less known alternative to Unity 3D in ~2010), stopped after multiplayer was implemented due to potential copyright issues. Stargate was kinda an obsession back then. :)

The game idea was an arena style shooter with small worlds and simple strategic elements.

I had many fun working on this and learning Shiva 3D which was a very capable tool with excellent features, i especially liked the LUA scripting engine and the fact all was integrated.

The videos below are missing some stuff due to some missing textures.

SG Project SG Project

Multiplayer 2D A-RPG

I had a quasi obsessive period when i was young and inexperienced (~15 years old) to build an online 2D A-RPG, this obsession was motivated by my childhood games such as Secret of Mana and Slayers Online.

The obsession was on the technical aspect, i was not interested in the gameplay per se but by how it worked especially the net code.

I struggled to do anything much at first because the task was too daunting for someone with zero experience and not within a tech environment but with perseverance i eventually had some working prototypes, it was my first foray into games / computer graphics / web technologies.

The first version (~2007) was made in C++ with a custom hybrid 2d engine (opengl and sdl) and featured a self-updating Java launcher / character creator, a 2d map editor with four layers tiles, simple TCP/IP client / server model with network code for players, MySQL persistent storage with administration backend, a very limited API for frontend features and a chatbox.

2D Online A-RPG map editor 2D Online A-RPG map editor 2D Online A-RPG prototype

The second iteration swaped tiles for bitmap layers, layers were composited in a tool to add weather effects, lighting effects etc.

The last iteration ended up as a nearly complete HTML5 A-RPG engine (JavaScript, Crafty and Ruby) on which a game could be made, it featured an advanced multi layers map with day / night cycle, flexible collision detection (polygons), NPC, sectors, simple fighting system, interactions (doors, dialogs), maps were streamed progressively by the server with all the logic handled on the server.

Looking back i had alot of fun making all those prototypes and basically learning all kind of things in the process.

Web wargame engine

2D Wargame engine prototyped in JavaScript (ES5) with Canvas API. This supported fast rendering of two types of hexagonals maps with point and zoom support, this also supported huge amount of objects (not bounded by tiles) eventually handled by a quadtree data structure.

The base motivation was a remake of The Great Battles series computer wargames by Erudite Software which i am fond of. As always i was more interested in the technical aspect though :) and it is still a mystery to me how they rendered their maps since it was made of non uniform tiles to produce heights.

JS 2D Wargame engine

CSP

Prototype of a HTML5 (WebAudio) additive synthesizer which use bitmap data. This is basically a web version of Virtual ANS / MetaSynth software and also an offshoot of fsynth.

Audio chunks are generated on the fly using web workers, it is fast and support realtime playback.

The editor is custom and support point to zoom, multiple canvas selection with cut / copy / paste, brushes import, undo, scriptable selection fx. here is a video

CSP

Mammoth 3D / M3D

M3D (last screenshot) was an OpenGL ES 1.1 C framework used to bypass the boring stuff. I made it for the Wiz gaming device in two weeks to make some demos but the driver was awful (blending didn't work correctly) so i just stopped. Of interest there is a custom generic storage hash table and a OBJ/MTL loader i later exported as standalone.

Mammoth3D was a simple C++ 3d framework to make demos and stuff (opengl 3.3+), it has a generic purpose resources loader, functions to load textures and shaders with easy uniforms / tbo update, bitmap text class implemented as a shader, gamepad controlled synctracker to build audio / visual synchronizations and basic instancing.

Mammoth 3D Mammoth 3D M3D

Irrlich spherical terrain scene node

Irrlicht 3D engine class to support spherical terrains (inspired by Mario Galaxy planetoids) with a fun demo showing off objects aligned to the terrain surface, ring lighting and alpha cut (the tube) with pixels shader alpha discard.

Looking back the major limitation was the geometry poles distorsion (i didn't know quad sphere at the time) which did not allow great height variations on poles, the texture distorsion on poles was solved with triplanar mapping which also enhanced overall terrain quality. There was also some terrain resolution limitations due to usage of a single Irrlicht 16 bits geometry buffer.

Irrlicht spherical terrain scene node demo Irrlicht spherical terrain scene node demo

Irrlich Tron 2.0 glow

Irrlicht 3D engine class to support Tron 2.0 like glow according to a NVidia paper.

Irrlicht 3D Run Rabbit Run! for gp2x

Irrlich gp2x game port

Port of Run Rabbit Run! for gp2x with Irrlicht 3D port. A jump'n'run game. It was playable but unreleased because of poor performance of the software rasterizer, the game assets had to be redone.

Irrlicht Tron 2.0 demo

Sega Master System

First steps into Z80 programming for the Sega Master System with some rasters effect and 64 colors displayed on screens using the HBlank interrupt.

The first video is an unfinished JetPac remake.

Sega Master System 64 colours rasters

BowlOde

One of my first 3D game prototype. Control a ball in a physics enabled world and make it to the end of the level without falling. The game lacked polish like levels, UI, tweaks.

This prototype used the Irrlicht 3D engine with Ode physics integration, levels were built within Blender and linked together via a XML, additional level logic / effects were handled within IrrEdit.

Pure Sprite 3D demo

First steps into making demo effects and probably first completed project. This was a PureBasic demo done in 6 days when i was a teenager, it used accelerated sprites with additive blending, music were ripped, most effects are just sin / cos modulations with moving in / out and fading in / out bitmap texts. There was a retro part with 'scanline' based effects and layered shapes.

The effects i still like is the galaxy part and the DNA screen (for some reasons the lines which were part of the wheel doesn't show up in the video). The greets part with the bird like moves is also fun. The text is awful but this is what you get for being young and way too enthusiastic about your newfound passion. :)

The demo still work but i didn't use timers / FPS limit at the time so everything is too fast. Funnily enough all the events (switching parts etc.) were synched to the music playback position so it doesn't mess much with the overall structure.

PureSprite3D demo

1k Windows demo

1k Windows demo with OpenGL and MIDI sound done in C mainly as an experiment / first foray into sizecoding, the scene featured a rotating star / pentagram. Looking back it could have been way better with a bit more design by using darker colors but i wasn't too serious about it anyway.

1kmstar 1k Windows demo

Misc

Some miscellaneous projects and experiments.

The first screenshot is an unreleased Opera 9 widget of a JS Chip 8 emulator which was also ported to GP2X. The second screenshot was a first foray with ThreeJS and particles to extrude 2d bitmaps and make 3d fake voxels models for lowfi game worlds (front + side lowres bitmap = fake voxels). The pool game was made in Irrlicht with ODE physics library around the same time as BowlOde. The pseudo 3d floors screenshot is an AS3 plane deformation tool.

JsChip8x emulator Pseudo voxels 3D ThreeJS prototype 8 Pool Irrlicht game prototype AS3 Plane deformation tool

HTML5 IFS tool which was built to make pseudo engraving artworks through the combination of multiple IFS fractals with affine transforms and JS / GLSL post processing, never used it as it was less flexible than code.

IFS fractals HTML5 tool

Here is a deflate plugin for Construct 2 software. I also made some Atom plugins for the Anubis programming language.


back

20/05/2021