Hello

Personal

My name is Gábor, but you may also know me as Razzie from the internets. I'm pretty much comfortable with both names.

My friends know me as a calm and rather observing kind of person unless someone hits one of my favorite topics as then I'm not afraid to stand for my ideas. I enjoy having philosophical and professional discussions. Sharing my knowledge or having greater insight into a certain topic always cheers me up.

Since my childhood I'm passionate about programming, especially about computer games and networks. I strive to combine the two.

I love developing ideas over time and then throwing them away later. One always finds me tinkering with my latest and greatest pet project. You may find a few of them below.

Psychological and emotional well-being along with self-education are crucial to me and I always find time to include them in my life. I've also took part in a 6 month Mastermind program.

I value freedom and creativity over anything else in life, but comfort comes close.

Professional

For most of my career I've been working for large companies and my duties ranged from working on embedded system and desktop application to web frontend and backend development.

There is also a significant amount of time I've spent working on private projects at home that was worthy of my time and savings.

Based on nearly 11 years of autodidact and professional experience I consider myself an expert of modern C++. I'm fluent in template metaprogramming too.

Other languages and technologies like C, C# (for both desktop apps and web), OpenGL and GLSL, PHP, HTML + CSS and Git are not new to me either. I have a newfound interest in Go language.

I prefer using Windows as a primary development platform, but I'm comfortable with Linux distributions (Red Hat too) even if restricted to console access. In fact this website is running on a Linux VM managed by me.

I have a Bachelor degree in Computer Science and specialization in Computer Networks.

Public work

(randomly selected)
[razzie] prepi
2D rage game platformer with puzzle elements. Abandoned in an early stage.
  • [1e7236e] Added copyright - Razzie (8/9/2018 8:45:21 PM +00:00)
  • [2c39b0e] New levels - hbarna55 (12/17/2014 7:15:24 PM +00:00)
  • [57bc365] Remove blocked check before creating new element, new leaf effect with bugs - hbarna55 (12/16/2014 12:19:03 PM +00:00)
  • [ba6b821] Better explosions - Gábor Görzsöny (12/15/2014 8:05:48 PM +00:00)
  • [6005604] Fix for explosion freeze - Gábor Görzsöny (12/15/2014 5:02:20 PM +00:00)
[razzie] raztalk
A simple lobby/channel based registration-free webchat
  • [1d3bcb6] Added raztools as submodule - Razzie (10/21/2018 2:41:47 AM +00:00)
  • [c6e8c4f] Using API connections per bot session - Razzie (9/16/2018 2:40:28 PM +00:00)
  • [70db80f] Infinite lifetime for marshaled bots - Razzie (9/16/2018 1:54:10 PM +00:00)
  • [ec96db8] Fixed bot instantiation on mono - Razzie (9/15/2018 10:44:49 PM +00:00)
  • [086dbf3] Taking care of assembly resolves in raztools.dll - Razzie (9/15/2018 12:35:59 AM +00:00)
[razzie] librazzie
A header-only multi-purpose library designed to help me get started with my projects
  • [c5be67a] Added more dynamism to deserialization type hashing - Razzie (11/26/2018 3:59:07 AM +00:00)
  • [8db7da3] Fixed Deserializer with multiple T types - Razzie (11/26/2018 1:48:19 AM +00:00)
  • [fa4ec8a] Minor logger improvements - Razzie (11/25/2018 5:48:28 PM +00:00)
  • [00f9cd4] Logger now uses format string and % placeholders for args - Razzie (11/25/2018 5:40:49 PM +00:00)
  • [f0679c2] Added variadic version of lexical_cast - Razzie (11/25/2018 5:30:13 PM +00:00)
[razzie] razzgravitas
A simple multiplayer game about gravity
  • [b3184c9] Minor changes - Razzie (10/8/2017 1:11:59 AM +00:00)
  • [5182dbb] Improved gameplay - Razzie (10/7/2017 7:04:11 PM +00:00)
  • [1ab5a16] Better syncing of black game objects - Razzie (10/6/2017 5:17:07 PM +00:00)
  • [b654160] Improved game object merging - Razzie (10/6/2017 5:08:29 PM +00:00)
  • [9da7745] Finished highscore implementation - Razzie (10/4/2017 10:15:27 PM +00:00)
[razzie] raztools
A collection of reusable helper classes
  • [2f4b4d2] Added locks to FileSystem.Container - Razzie (9/16/2018 6:16:20 PM +00:00)
  • [baf707e] Concurrency related refactoring of FileSystem - Razzie (9/16/2018 6:12:05 PM +00:00)
  • [2420500] Added XmlReader - Razzie (9/16/2018 6:00:36 PM +00:00)
  • [093c302] Infinite lifetime for marshaled RemoteLoader - Razzie (9/16/2018 1:52:36 PM +00:00)
  • [b4cb8cb] Implemented directory search in FileSystem.Container - Razzie (9/16/2018 12:14:22 AM +00:00)
[razzie] dummyserver
A simple TCP/UDP IPv4/IPv6 capable server that relays all incoming packets to other connections. It is designed to be a plug-in solution in early stages of client game code development.
  • [0ee1370] Bugfixes - Razzie (8/27/2017 10:07:42 AM +00:00)
  • [d089f03] Deleted unnecessary librazzie headers - Razzie (8/26/2017 11:06:16 PM +00:00)
  • [1940a0c] Restructured code - Razzie (8/26/2017 11:03:11 AM +00:00)
  • [e7de74e] Initial commit - Razzie (8/26/2017 10:27:37 AM +00:00)

Awesome projects I follow

(randomly selected)
[TechnicPack] TechnicSolder
  • [66e7891] Release v0.7.4.2 - Pedro Cunha (2/9/2019 11:03:10 PM +00:00)
  • [55318ad] Remove random variable declaration - Pedro Cunha (2/9/2019 10:57:00 PM +00:00)
  • [58bde9a] Update metismenu - Pedro Cunha (2/9/2019 10:56:32 PM +00:00)
[asticode] go-astilectron
Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron)
  • [df875a0] Allow go-astilectron to be started from astilectron. (#198) * feat(astilectron.go): Added "Astilect... - Spencer Brower (8/13/2019 12:17:36 PM +00:00)
  • [5d5f143] add dot between 'set' and 'bounds' - fregie (4/15/2019 9:08:56 AM +00:00)
  • [fda4447] update astilectron version - fregie (4/13/2019 1:35:07 PM +00:00)
[SpaceVim] SpaceVim
A community-driven modular vim distribution - The ultimate vim configuration
  • [e0f01b2] Fix: fugitive blame (#3006) The existing command doesn't work, I tested that this does and git blam... - Mattia Gheda (8/18/2019 8:13:12 AM +00:00)
  • [0aaf88b] Website: Add git-plugin documentation to git layer (#3005) - Mattia Gheda (8/18/2019 8:12:42 AM +00:00)
  • [eb9db06] fix shortcuts/docs about marking spelling (#3003) - Yanick Fratantonio (8/18/2019 8:06:18 AM +00:00)
[patriciogonzalezvivo] ofxVoro
OpenFrameworks wrapper of Voro++ that do 3D Voronoi Tessellation
  • [da8965b] Merge pull request #4 from mrbichel/master Added texture coordinates - Patricio Gonzalez Vivo (2/12/2016 1:51:50 PM +00:00)
  • [fea4c1e] Added texture coordinates Added really simple normalized texture coordinates. Works fine for wrappi... - Johan Bichel Lindegaard (2/10/2016 8:31:51 PM +00:00)
  • [0c31da8] Merge pull request #2 from micuat/wireframe Thanks! Add wireframe mesh option - Patricio Gonzalez Vivo (8/17/2014 11:51:50 AM +00:00)
[Alan-FGR] MonoCraft
Block building game in less than 300 lines using only MonoGame https://gfycat.com/gifs/detail/BadVacantLeech
  • [4d44581] bored waiting software update :P - Alan (11/15/2017 2:28:44 PM +00:00)
  • [cfb77c8] bug - Alan (11/15/2017 3:37:53 AM +00:00)
  • [e13ea34] test - Alan Q (11/14/2017 9:47:48 PM +00:00)
[mlivesu] cinolib
A generic programming header only C++ library for processing polygonal and polyhedral meshes
  • [f92a6c9] added facilities to apply labels to mesh elements - marco.livesu@ge.imati.cnr.it (8/16/2019 10:28:06 AM +00:00)
  • [d21fe68] non const adj_x2y, to allow external edits to the connectivity - marco.livesu@ge.imati.cnr.it (7/27/2019 12:07:48 PM +00:00)
  • [dcc6549] make a unique pair from a standard pair - marco.livesu@ge.imati.cnr.it (7/27/2019 12:06:58 PM +00:00)

Favorite projects

GTA Online videos

I have way more playtime in Grand Theft Auto V (or GTA Online to be specific) than I would like to admit and most of that I've spent with friends I've met in the game. It became our little tradition to record funny, exciting or any memorable moments and later create videos of it. At this point there is quite a collection of those videos and I've uploaded the ones I made to my youtube channel. Most of the content is only meaningful to us, but I still hope viewers will find them entertaining

librazzie

A header-only multi-purpose library designed to help me get started with my projects. It includes frameworks for logging, events, input, memory, thread and network+serialization and has some additional stuff like: a bitset class with iterators for true and false position, stream manipulators and parsers and an easy to use random number generator.

Source code: github.com/razzie/librazzie

Minecraft clone

Minecraft clone is a graphics project I worked on during the final year of the university. Contrary to its name it is not a real clone, it features no game elements. My primary motivation was the recreation of a Minecraft-like rendering in C++.

Logic Circuit Simulator

Logic Circuit Simulator was a university project I had to finish in a semester. It offers a variety of logic gates and a lot of visual customization options. Some special elements are also available, like seven-segment display, matrix display, JK flip-flop, adjustable timer and module. A selected part of a logic circuit can be converted to a module, where the circuit's input elements (buttons, switches) become the input pins and output elements (LEDs) become the output pins of the module. Modules also support recursion.

Source code: github.com/razzie/LogicCircuitSimulator

Flyff fansite

Flyff.extra.hu was a hungarian fan site of Flyff (Fly For Fun) online game. During the 3-4 years of its existence I developed more and more new features to make it a fully functional web portal. It was very interesting to see it slowly getting attention. Members started generating content in the forms of forum entries, polls, screenshots and news for the home page. The site even had a few moderators and admins. In 2010 extra.hu decided to close its free hosting service and the site went offline. I could have moved it to a different(even paid) hosting service, but most members and I have already lost interest in the game. I still have a backup copy of the site and all of its content.

RazzieCraft Vanilla

RazzieCraft Vanilla is Minecraft version 1.12.2 on steroids! This pack contains a ton of strictly curated mods that enhance the visuals and gameplay of vanilla Minecraft, but without breaking its charm. There are a lot of recipes for uncraftable existing items (like chain armor, slime ball, spawn eggs, etc) and a very few brand new stuff.

Download TechnicLauncher.
Find and download RazzieCraft Vanilla in the launcher.
Profit.

RazTalk

A simple lobby/channel based registration-free webchat.

Try it here: talk.gorzsony.com
Source code: github.com/razzie/raztalk

Razzie Messenger

Razzie Messenger is a messenger client and server I started working on during a one-week vacation at lake Balaton (Hungary). It uses a very simple plain text based protocol for network communication, look at the picture to see it in details. (Since then I prefer binary protocols due to the ineffeciency of string parsing and large packet sizes in case of text protocols.) The user can chose a nickname and pick colors for the name and the text messages. There is no registration and password authentication, however the server rejects the connection if a nickname is already taken in the current session. It is possible to send a file to an other user: in this case the server opens a random port which receives and forwards the file. Both users have to connect to this port, but it is done automatically. This solution was necessary due to the limitations of the text based protocol.

Process Manager

Process Manager is a replacement application for the built-in Windows Task Manager with a lot of additional features. It keeps running in the background after closing the main window and can be brought back from the tray icon or by pressing Ctrl+F12.

Ground Tool

The idea behind the demo was a game with floating islands. Though this game never made it to the reality, Ground Tool was born as a result of experimenting with the rendering of these islands. The user can draw a polygon border to the island and when all points are connected, the program generates an island which can be inspected by zooming and moving the camera around.

gglib

GGlib was a library I used to develop between 2014 and 2016. It served as a sandbox to help me to learn about the new features of the C++11 standard. I also found a great use of it while working on other side projects. Due to some early design choices(including the heavy use of virtual function calls) I finally decided to send it into retirement and started working on its successor: librazzie.

RazzGravitas

RazzGravitas is a simple multiplayer game about gravity. At the time of making it I just gave up on a somewhat larger project and I needed to give myself a smaller task that I can prove to be able to finish. The sole objective was to experiment with something simple with no regrets about design decisions and no promises about the outcome. After about a month of development it ended up having multiplayer support with competitive game rules I'm satisfied with. I consider the game finished.

Source code: github.com/razzie/razzgravitas

Potato Game

PotatoGame is a procedural generated game about little potatoes with customizable AI (which was only done on paper). The goal is to have them win the game for you by gaining world domination. This was my second large game project (in terms of time and effort spent on it), but eventually I lost interest and motivation after forcing myself to work on it and focusing too much on the future outcome. I'm very proud of this project, but I gave up on ever finishing it.

Source code: github.com/razzie/PotatoGame

Floating Islands

Floating Islands is yet another example of my experiments with procedurally generated terrains. I developed an algorithm that takes island positions and island connections as input parameters and generates a 3D grid world using a Perlin noise internally. I also focused on the cartoonish design with edge outlining and also had an A* pathfinder algorithm set up for the little red cube.

Windows Manager

Windows Manager is a reworked and extended edition of Process Manager. Besides the improved visual appearance it introduces new window tweaking options which you can see in the picture. One can for example change a sticky (always on top) window to act as a normal one.

Server - client application

Server - client application is a small tool which helps creating and debugging text based network protocols. I developed it while working on Razzie Messenger and it had a great use. On the server tab the user can select one of the connected clients as a message target or just close the connection to them.

Prepi

Prepi is an indie game project I was working on together with a friend. It was intended to be a rage game with puzzle elements. We took it so seriously we both quitted our jobs to be able to work on it full-time. After several month of development we reached a point where we wanted to introduce our game to the public via an Indiegogo campaign. Unfortunately the campaign failed, mostly because the lack of media attention (neither of us were expert on the topic). Also the game was probably in too early phase to show it to the public. Due to the failure of the campaign and smaller disagreements regarding the game design we decided not to continue the development.

Source code: github.com/razzie/prepi

Hexagon

Hexagon is very similar to the Minecraft clone, but I wanted to try rendering hexagon blocks (hexagonal prisms to be correct) instead of cubes. The underlying datastructure is still a 3D grid of Perlin noise. One of the main differences is that this demo does not use textures, but has a custom shader that draws grass or rock detail based on the normal vectors.