Thursday, November 23, 2023

 

People ask me what I think about the "rise" of A(G)I. Look at your every day job as a coder. It is literally the digital analog of crap shoveling and has been for many, many years now. Still no AI in sight there -- no AI code generation, no magical AI bug detection and fixing, not even proper AI assisted automated testing. So I guess the AI revolution is coming, but just not for us -- the engineers that presumably drive it...

Saturday, April 03, 2021

Ingame console with embedded graphics

I implemented an in-game debug console, but I was obsessing over the idea that images and even GUI elements should be naturally embedded in the console "log" and scroll with it. I found a trivial way to implement it by adding a callback to every character in the "log" buffer. Turns out this "hybrid" approach to UI is really neat. Try the live demo here: https://zloedi.github.io/qonche_gui

Saturday, March 20, 2021

Compiling a MinGW application without the C standard library (and minimizing it's size)

 I often wondered if I could build an app without using the C runtime at all. It turns out it is pretty easy to achieve with MinGW. SDL2 doesn't depend on the C standard library too, so you could build tiny useful executables (only 9K in this case) using only SDL. Just ignore the SDL in the example below if you only need the Windows part:

 

Wednesday, April 06, 2011

Monday, October 25, 2010

Final planet

Some people tell me that it looks like a stone pad :) What do you think?

Saturday, October 23, 2010

Sunday, October 10, 2010

Sunday, October 03, 2010

Color picker

Added a color picker control. IMGUI is the way to go. Moved to Geany.

Saturday, October 02, 2010

Friday, October 01, 2010

Video of a tiny demo

Use ffmpeg to screencast in ubuntu. Here is a command to capture lossless mkv:
ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1024x768 -i :0.0+4,400 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mkv

Wednesday, September 15, 2010

Final with weapons and engines. And some thoughts on creating 2d/3d assets.

Its amazing how easy it is to create 2d assets opposing to the 3d stuff. The steps from the "concept" to the thing you see on screen in 2d are really trivial compared to the 3d. Here's how i do it.

1. Do a nice sketch with a pen on paper
2. Cleanup the sketch a bit by copy it on the window :)
3. Shoot it with a webcam/camera
4. Trace it by hand in inkscape
5. Cleanup the traced splines and actually generate the final vector graphic.
6. Export to raster
7. Do diffuse
8. Do cel shading
9. Do Decals like text marks etc.
Here are some funny "concepts" :):
The final result:

Entirely done with a pen, paper and a mouse. Kudos to the people behind the amazing Inkscape program.

Sunday, August 29, 2010

?Better? Ship

all similarities to certain male reproductive organs are unintentional :)

Sunday, July 25, 2010

A ship with engines and weapons

A ship with engines and weapons

Wednesday, July 21, 2010

A ship

A ship

Tuesday, September 08, 2009

Monday, April 13, 2009

More GIMP fun

Spread the GIMP love:

Saturday, March 21, 2009

Toying around with Gimp and my tablet

Sunday, February 08, 2009

Some inkscape/gimp experience

I have drawn this image using a pencil. Then I took a picture using a cheap webcam. I have imported the shot in Inkscape and traced it with splines:
From martyr
Then I have stored the vector image as .svg file and reopened it in Gimp:
From martyr
Stroke the path with line 1 pixel tick, added some blur and masked the silhouette with modulating black and white mask:
From martyr
Final:
From martyr

Sunday, February 01, 2009

Its official: martyr is dead

WHAT WE WANTED IT TO BE:
The game is a tactical shooter in a 2.5d isometric view. The game objectives vary on different maps and could be some of the well known from the rts and fps genres "capture the flag", "free for all", "destroy all enemy structures" or some custom modes like "take control of point X and remain in control for N minutes". A game continues about 20 minutes.

The maps are made of tiles and "brushes". Each tile is about 2 meters wide. A brush takes exactly one tile. There are only walls and passages but no bridges on top of the terrain and no high grounds a-la starcraft. The largest map is 256x256 tiles. The camera is with a fixed height and angle (less confusion for the players). All lighting and shadows in the game are dynamic.

Every player has 1 PC and up to 2 NPCs under his control. NPC can only take simple orders like "guard me", "guard X", "build structure X", etc. There are many "ambient" NPCs runing on the map, occasionally engaging in fights not controlled by the players. The structures placed on the map by the players are "turrets", "radars" etc. The PC (atleast for one of the fractions) is a cyborg. His body parts (legs, torso, left arm, right arm, head) are replaced during the game with visually different ones. The player starts with a completely "humanoid" body and gradually mutates into a machine with visually distinctive silhouette information about the PC stats are easily visible.

WHERE WE ARE:
Implemented are the structure of the world, the lighting, cel shaded animated models, static decors, a primitive editor, UI system, particle systems, a primitive art pipeline of exporters from blender to the game, a bit of network code and NO GAMEPLAY :). The demo runs on 32/64bit windows and linux. There is some minimal art assets done by me.

Im no longer working on this project. I just dont have the time anymore. Thanks to everyone involved! Im still checking this blog and I'll continue to post here. Any questions posted here will be answered.

The source code and the art is free for download atleast until assembla.com cuts me off of their service :).

Monday, July 21, 2008

Roboarm update

I have decided to paint the AO this time, instead of bake it in blender. And im pleased with the result:


I paint the steel and modulate it with the "AO":


Some color:


The finished piece:

Saturday, July 19, 2008

Saturday, July 12, 2008

Martyr video

I have added some hack for demo recording. Here is a video of a demo.

Wednesday, July 02, 2008

Tile decals

I have added support for decal texture over the tiles. bumped up the FOV a bit:

Tuesday, June 24, 2008

Windows binary available

I have uploaded the latest windows binary here

Saturday, June 21, 2008

Screenshots, volume lights and more.

the resources and code for the volume light fx are under version control now. added support for fx on each brush declaration. added support for screenshots inside the game. fixed a bunch of crashes in the console code. refactored the code for sprites/brushes/tiles. windows users have to wait until next week for a working source tree and binary. heres the disco screen for the day taken inside martyr for the first time

Wednesday, June 18, 2008

Volumetric light effect

art:
- Im trying to implement volumetric light effects. Heres the result so far:



there is some problem in gnome when capturing opengl screenshots. the artifact on the leg of the character is gnome/glx fault. im going to implement screen capture support inside martyr anyway.

Monday, June 16, 2008

New tiles

art:
- im trying a new method for creating tiles inspired by this game: http://www.rocksolidarcade.com/games/robokill/
here's how im doing it:
in blender: im making a contour, extrude/bevel it, render with an ortho camera and sun for a light
in gimp: fix the colors, make some detail/dirt, add some hilight and thats it. all made with the mouse. still look a bit sterile but it could pass for stylishness

Sunday, June 15, 2008

code:
- added support for self illumination on brushes
- the lights color can be scripted outside the renderer
- game split into client and server parts
- network code started

Sunday, May 11, 2008

Just created this explosion. The game engine supports sprites/billboards now. r_temp switches between blending modes for sprites.