I am a hobby programmer, my profession is mechanical engineering. I graduated as a certificated mechanical engineer with Master of Science degree in 2009.
I am proficient with the C language, we started with it in the University in 2004. I coded on DOS platform and now I code on Windows. I also tried some other languages like Assembly, C++, and I am proficient with Matlab's programming language.

I have five years of OpenGL programming experience and about seven years of 3D graphics programming experience. I used to reinvent everything in graphics when programming for DOS, the University gave me a very strong background in mathematics for that.

The projects presented here are finished or work in progress projects. They are all outside-of-the-class and are made using the C language. I made a lot of other programs like small tools, learning projects, mainly 2D and 3D graphical applications in C and other languages.
Small programs were made for speeding up monotonous design tasks in the University, many of them were used by my classmates too.

You can find out more about my learning projects in this Journal.

The Kraken

2012   |   Win32 and OpenGL   |   2000 Lines of code   |   Download latest version
The winner entry for the contest of "Let Loose the Kraken!" on
The contest was a 72 hour programming marathon where the theme was only announced at the beginning of the 72 hour period.
All the textures/art and programming were made by me, as well as the game-play.

In this game, the goal is to reach all the ships with the Kraken's arms by sliding the rows or columns of the game field containing pieces to route the arms.
I plan to continue the project and make a polished, releasable game.
You can read more about the development for the contest here.

Download the submitted version.

Paper Modeller

2010 -   |   Win32 and OpenGL   |   3500 Lines of code
This is a modelling software for making paper models from 3D data. Paper modelling is one of my hobbies and this program is to aid it. I plan to release this program, because I found that most programs are either very expensive or aren't suitable for serious paper model makers.
The project is in progress. You can read more about the features, implementation, thoughts, etc. in this blog or this journal.

Graphical CNC Editor

2011   |   Win32 and OpenGL   |   6500 Lines of code
For my job (machine constructor at Phobextools Ltd., 2010-2011), I needed a Graphical CNC editor program. It's highly specialized for the machine I worked with (CNC foam cutter with a configurable table designed by me) and has special features to aid the development and troubleshooting of the machine. It also has the common and additional special editing features, all in a graphical, user friendly environment. I also made the user manual and a tutorial for it. I used that program in a daily basis and other employees still use that program for work.
You can read more about it here.
I didn't update the Journal about the project, the picture on the left is an earlier version: it has debugging info displayed, win32 status bar and lots of new editing features were added later.

Tank Simulator Prototype

2008 -   |   Win32 and OpenGL   |   7300 Lines of code
This work in progress tank simulator focuses more on physics than graphics. It uses the Fixed Function Pipeline for rendering, but I implemented some advanced stuff with it, like cascade shadow mapping.
The physics mainly focuses on the behaviour of the vehicle: simple collisions with static objects; complex, realistic simulation of the suspension on the terrain; realistic motion of the tank and its tracks (like skid steering). Shooting, hitting targets, kicking-back of the muzzle, particle effects, aiming optics, zoomable minimap and many more are also implemented.
The settings GUI was programmed from scratch.
All the models and textures (except for the tree, sky, and ground-detail textures) were made by me.
More about the features in these videos:
video 1, video 2, video 3

Poly-line Outline and Contour Detection

2010   |   Win32 and OpenGL   |   1300 Lines of code   |   Download with source code
This is a small, proof-of-concept program that calculates the contour (as closed line-loops) of the shape, that derives form the "outline" of a poly-line. This "outline" is often referred as "thick lines". The contour line-loops can be used for simple triangulation of the outline feature, or to generate walls in a map-editor, and so on.
The program is a small editor itself, the user can move/insert/remove vertices and line-segments of the poly-line, change the outline width and so on. The outline contour is dynamically recalculated but the application remains quick and responsive even with many (over 100) control-vertices. Help text is hard-coded into the application.
You can read more about the algorithm here.



2010   |   Win32 and OpenGL   |   4500 Lines of code   |   Download game
This is a small, polished minesweeper where you can scroll and zoom the large field. It has hexagonal, square or triangular field. Because of the large field (up to 250×250 tiles) and long playing times, the game can be saved at exit and loaded at launching the application. It has an autosave feature too, but it saves the game rarely, at random times to make exploiting this feature too tedious. The program has in-game help.
The windowed user interface was programmed from scratch.


Rubik's Cube Game

2008   |   Win32 and OpenGL   |   360 Lines of code   |   Download game
My first OpenGL program outside of the class was a Rubik's cube game. The user can rotate the view and manipulate the cube (turn the faces). It has a small pop-up menu, 2x2x2 and 3x3x3 modes, shuffling, planar shadow, mouse input. Simple, but finished (uses GLUT).

Tank Wars

2005 - 2007   |   DOS   |   3000+400 Lines of code   |   Download game or code sample
It is a Scorched Earth clone, a 2D turn-based artillery game for DOS (256 color palette graphics) with complex AI ("bot" type), graphical menus, color themes, team play and free-for-all mode, mouse and keyboard input, in-game console, save/load game, popup windows, multiple weapons and shopping, cellular automata, effects, complex scoring and money management, and so on. The terrain is generated with random Bézier-curves.
I had to make two tools for the development: a graphical 16x16 bitmap sprite editor and a color palette editor.
I worked on this project (with pauses and along with other, learning projects) for almost two years. It's polished, finished and its language is Hungarian.

Máté Lipkovics
+36 30 874-9046
Budapest, Hungary