From Fedora Project Wiki

Laszlo Boros

Greetings!

I'm Laszlo Boros from Hungary, but just call me Semmu. Some basic information:

  • I'm 20 years old.
  • I'm studying at the Budapest University of Technology and Economics, currently the best IT and engineering university in Hungary.
  • I'm using Linux since 2008, currently Linux Mint with MATE desktop environment.
  • I like to build websites, design logos/sites/everything, program in C++, draw, play the guitar, learn new things, spend time with my girlfriend, listen to music, and so on. The list is infinite.
  • I would like to help improving MATE d.e., that's why I'm here!

Contact

Past projects worth mentioning

I grew up next to a computer, so I'm really committed to IT. Programming and web development has always been interesting me, that's why I would like to contribute in GSoC. I have learned many thing on my own, like HTML+CSS+JS trio and PHP backend, as well as programming languages for native development, like C and C++. The last 2 languages are taught here at my university too, so I have more deep and secure knowledge of them. I have written many things on my own for my own entertainment, but there are 2 project that really worth mentioning: a small and unusual strategic game and a half-finished (yet) software renderer. The first one in C, the last one in C++, both based on SDL.

S.U.M.S.U.M.

It's a small and unusual strategic game, where everybody has to control a single village (in the beginning). Every village has some "resource" (all-in-one resource), some peasants (who produce resource. The more they are the more they produce in a minute), and warriors. Warriors defend the city of course when an enemy troop approaches, and they can be sent to another village (to defend or attack). These are the basic mechanics. A color wins, if it occupies all the villages, and a color loses, if it doesn't have any villages or a marching troop. Troops are a bundle of warriors, currently 10. For developing and winning the player must create peasants to strengthen the economy, then create many warriors to occupy the enemy villages. There are 8 colors, player can choose any of them. The enemy villages get random colors, each a different. There are 3 different difficulties, they modify the A.I. algorithm a bit. (the algorithm itself is very-very dumb, but surprisingly hard to defeat.) Starting resources can be set as well. There are highscores stored in a single textfile, and the scores are calculated when the player wins. The number of enemies, the difficulty, the starting resources and the time matters when calculating the score.

Screenshots: Dropbox gallery

  1. The main menu with match options.
  2. Highscores screen.
  3. Start of a match. The player is with the blue village, the others are enemies controlled by the computer. Because of the high starting resources they send many troops almost instantly.
  4. Typical screen of the game with white and green occupying 2-2 villages.
  5. Another gameplay screen, green occupying 3 villages and black attacking almost everyone.
  6. The player (blue village) targeting a green village.
  7. Another match, just before victory.
  8. Victory!

SDL_Universe

This is my very own 3D software renderer based on pure SDL. I'm fairly interested in 3D graphics and computing mechanics, so I thought it would be fun to write my very own - I know SDL well and it's amazingly cross platform, so I thought I would write it in C++ with SDL. SDL_Universe consists of 2 different libraries, the SDL_Universe itself, which creates a 3D space with objects and does the rendering; and libTDM, which is my 3D math library. libTDM is used for the math part: it has 3D vector, line and plain classes and many methods, like operations with vectors, line/plain intersection, etc. SDL_Universe is based on this math library, and its mechanic is pretty simple: there is a camera somewhere in the space (its position is a 3D vector), pointing in a direction (3D vector as well), and there are object in the space (dots, segments, filled triangles). When everything is set, calling the render method renders the scene. It is pretty simple. Although the rendering algorithm (and the whole library itself) could be extremely optimized. In the screenshots you can see a basic space-shooter implemented with the help of my software renderer. There are many floating houses in the space and the player can shoot them. After shooting, the houses blow up, creating more projectiles which can blow up other houses (if going in the right direction). There isn't any particular space ship yet, the player is only controlling the camera position and view direction, and shoots from the camera. It's like the player was inside a space ship. There is a full camera movement support implemented: moving in any direction and rotating around any axis (roll, yaw, pitch).

Screenshots: Dropbox gallery

  1. Simple screen showing the axes in going through the point (0,0,0) and some floating houses.
  2. Many floating houses.
  3. Some houses blowing up and causing others to blow up as well.
  4. Floating houses from below.
  5. The yellow diamond in the center is part of the "HUD" to help aiming. Those little cyan dots are projectiles shot by the player.
  6. Another nice view of the houses.