![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TANK GAME | |||||||||||
HISTORY I have been making tank games pretty much since i got what is now called dark basic classic, way back in last century! One of the first tank games i made was called "HIGH NOON", a game for 2 players, in 2d, with no 3d objects or media. I had yet to learn to use these. After learning, i made "HIGH NOON 2", the same, but in 3d. Recently, in September 2008, i entered a dark basic professional no media coding challenge to make a tank game. I submitted an improved version of High Noon 2, ported to Dark Basic Pro. I won the challenge! The focus of the challenge was on creating something attractive without using external media. One of the main suggestions of the compo judge was that I introduce sliding collision. The game now features a rudimentary mechanics system. Some other improvements have since been made, and still more are currently residing on my "to do" list. |
|||||||||||
![]() |
|||||||||||
TECHNICAL FEATURES - PHYSICAL SIMULATION I coded a physical simulation for the game. I have in the past dabbled with the Newton Physics plugin for DBP, but found it to be a bit buggy. I am told it has been since improved, but when i used it, it tended to do bizarre things. For instance: everything randomly falling through the floor! When i write something myself, there is no "black box". (asides from darkbasic, and the PC... ) Also, i thought it would be rewarding and entertaining to reinvent the wheel. I realise that coding a full 3d collsion system might be a bit of a time waster, and I intend to use a plugin for later games. The simulation is two dimensional, although you might call it 2.5D, since I have things colliding on parallel 2d planes. Everything in the game is a box, or rather, a rectangle. Box corners ineract with the sides of other boxes via spring and damper forces, relating to the penetration into, and rate of penetrating that side. That, aside from the problem of deciding which side is colliding with a given point in a box, is basically it, but it works surprisingly well. I am currently introducing this system to my driving game. |
|||||||||||
BLEND MAPPING I have introduced detail mapping of sorts. I have got blend mapping working, but couldn't work out how to scale texture layers independently. Searching the forum, it seems that blend mapping may be buggy and you can't actually do this. I currently use a ghosted object for the detail mapping on the floor. I intend to find out more about blend mapping. There's a lot I could do with it if I could actually get it to work properly! DEMO Here's a link to the latest demo : LINK . Please find the controls in the readme in the folder. I also include the .dba incase you want to take a look. The code is very messy and overlong (i intend to generalise a lot of it and use functions etc.). Please make sure you are in 32 bit mode, otherwise it probably won't work (due to image memblock commands). |
|||||||||||
FURTHER DEVELOPMENT
I intend to make this like a fighting game, but with tanks! This means a number of tanks to choose from, with different strengths, weaknesses and "personalities". I'll make it best of 3,5 rounds or whatever, with "FINAL ROUND : FIGHT!" etc. I intend to improve the graphics and allow for different frame rates. Add menus. Work more on the controls- as a result of the mechanics system, precise aiming by tapping the turret control has been lost. Reduce the mechanics timesteps to less than a frame, since currently penetration into objects is visible and you can squeeze through gaps etc. I also wish to introduce friction. I want to look into making this online. Haven't done any online before so this is a bit of a mystery to me- not sure how feasible it is yet. I realise that few people, myself included, actually have someone available and willing to play split screen games with! I either need to figure out online or AI! |
|||||||||||
![]() |