Hello all.
I decided to show my project here finally. I have been working on it already 5 years or so.
Started somewhere in 2008. Because GTA2 is my one and only most favorite game i still work on this thing.
I have been rewriting it many many times, i had different problems with it, specially the picking blocks with mouse, i tried (i think) every picking method there is in OpenGL and finally found a nxPascal with it's picking code and my problems were solved. With lot's of invaluable help from User137. Thank you very much.
Reason for doing this project is that it's good way to discover new ways of doing things in Delphi (Pascal) and OpenGL and discover and learn old / new things and most important, it's fun. It's my favorite game as i said.
There are lot's of features to add, but the top thing for me is to add lighting to editor like in original map editor for it (it uses DirectX). The rest is easy.
I have plan to add support for GTA (i.e GTA1) also, because they use similar data formats. Very few people play GTA1 but it's also very fun game, although with a bit poor gfx. But i has some things that GTA2 doesn't have like motorcycles which you can drive.
Editing / adding Map objects, map zones, sounds, tile animations etc, many cool and interesting things will be added.
You can see many of the videos on my YouTube channel: www.youtube.com/user/jw200
Latest video shows the status of the newest renderer
It has problems with 4 slopes currently. At least i didn't see problems with other slopes so far.
This is easy to fix. The picking is working in that vid, but i didn't show it.
Im focusing right now creating a simple GUI for editor now in Delphi, the i can slowly build up from there.
Atm it's just form with rendered map because i wanted to make core things to work first.
I.e cam movement, flat (transparent faces), tile flipping / rotation, debugging slopes etc.
Yesterday i made the picking to work on whole map, instead of initial X: 0..15, Y: 0..15 range.
Easy thing.
There are few things to complete with picking, slopes and flat faces (i noticed that some faces need special handling). It's a matter of just adding few boolean operators to code (and, or, not).
There is lot's of room for optimizing and speeding up both the rendering and picking.
For ex: rendering is done currently with glBegin glEnd. These i will replace with vertex arrays later.
Hopefully i must not mess with my vertex constants again to use vertex arrays.
glbegin glEnd is just easier to debug my verts.
I am developing this thing in Delphi 7 Personal or Turbo Delphi 2006 and using only freeware components, no shareware involved! Also im using few dll's made in C++, to allow Delphi to use neat things like std::map etc.
There is lot's to write about this thing, but i will add more later. Just keep looking my thread here and the first post also for updates.
Please post your comments, ideas, thoughts etc on this project.
Thanks for reading!
Bookmarks