
The post is inspired by
this question in q & a. The question, though not mine, but I also wanted to ponostalize.
From the description of the game (the text of 2002):A two-dimensional arcade with a top view, in which there are all the weapons and many things from QuakeII. You can play only by hotseat (two players with one computer) and against the bot. There are different maps (for 1 and 4 screens), you can make them (maps) with the help of a meductor. There are several models of players (you can also make them yourself with the help of mmodeler). You can record and play replays of the game.
PrehistoryI studied at that time at school, I don’t remember already, for what reason I met Konstantin Mukhopad aka 3d [power] on the Internet. After he started developing his game, Need For Kill, I also wanted to do something like that. Without thinking, I decided to do the same game, but with a top view. That's just my computer was weak and Q3 did not go on it, so I began to make a game based on quake 2.
')
At that time I did not have a permanent Internet and had to collect information on the development of games bit by bit. It really helped me to get into the topic of my very good friend Denis Untevsky.
StartI started writing the game in delphi, the only programming language I knew at that time.
It all started with drawing on canvas. For each timer tick, all objects on the map were drawn directly on the form canvas. All this of course was very slow, but I was glad to the disgrace that at least something was working and you could already run and shoot.
I didn’t have any screenshots or source codes of those times, but then the orcs-warrior model from the second warcraft were the characters, and the map was a jumble of squares.
The first optimization, which significantly increased the FPS, was drawing all the objects on the virtual canvas, and then outputting this canvas to the canvas form.
Around this time, I started using classes for players and flying cartridges. These classes were gigantic, contained a lot of things, but still simplified further development.
Then there was the transition to the DelphiX library, which further increased the FPS by using DirectX instead of the braked canvas.
Next was the idea to make maps not from blocks, but with pictures, which allowed to diversify the levels, but also introduced several additional problems - movement along the walls and the angle of rebound of grenades from curved walls.

To rebound a grenade, I took a 5x5 square, the center of which was the point of contact between the grenade and the wall, after which I built a chord on the extreme points of the wall. This chord was approximately parallel to the tangent to the wall at the point of contact, and the angle of reflection was already calculated relative to its angle. Already later, in the university on the mat. The analysis gave us a theorem explaining why this is so. Then I was very proud of myself that I myself came up with a solution.
Although the game was made based on Quake 2, the models from it were not very suitable for the Meat Grinder. I had to look for alternatives and, as a result, I began to use models from Konter-strike.
And finally, the first public version:06/20/02 - THE MEATHOOD IS AVAILABLE FOR DOWNLOAD (the section “MEATHOOD - download”)
Download it now and now you can
link .
BotsThe next step was to write a bot so that you could play alone. Although, as a result, the AI ​​bot was dumb enough, it was still interesting to play.
For each map in the map editor, several closed routes were built around the points. After spawning the bot went on a random route, seeing another player, he ran to him and fired. If a player left the field of view or was killed, the bot returned to the next point of the route, while he often stuck it against the wall, since he did not know how to bypass obstacles. On the picture of the point - waypoints.
Version with bots:08/31/2002 - New version of MEATRUBK (download).
Now you can download it
here .
Around this time I was approached with an offer to purchase the source of the game. Offered about 2000 p. I thought the amount was small and the desire to develop the game was still there, so I did not sell it.
Large cards and replays.Then there were maps on several screens. Basically it was a start for the planned future network game, because It was impossible to play hotsit on such cards - only one player was visible.
In the replays, I was never able to record only the changes. No matter how hard I tried, they still sometimes went out of sync. Then I decided to put it in my forehead - I recorded every tick of the timer with full information about all the objects on the map. Replays were larger, but everything worked correctly.
03/31/03 - the latest version of the Meat Grinder
http://qwrtp.narod.ru/mr/mr003.zip
Failed plans for the futureAt first I planned to add a network game, switch to 3D effects, but then interest was lost and the project was abandoned.
AfterwordNow I am developing applications for WEB, but still I remember my experience of game development with trepidation and I always read with similar interest the similar memories of other people periodically appearing in Habré.
Well, who cares -
qwrtp.narod.ru is my homepage of that time, a meat grinder and some of my programs from that time are available for download.