Tank Blaster

All about games on the Falcon, TT & clones

Moderators: Mug UK, moondog/.tSCc., [ProToS], lp, Moderator Team

Uranys
Retro freak
Retro freak
Posts: 10
Joined: Fri Aug 23, 2013 12:43 pm
Location: Near the beach

Re: Tank Blaster

Postby Uranys » Tue Aug 27, 2013 12:54 pm

Hello I'am happy to announce Freeware version of TankBlaster,

18 years after (1st version has been made in 1995) I have recompiled a Freeware version of TankBlaster.

Attention : After this new compilation size of executable 2013 have been increased but I don't know why. But it's work on my Falcon and on Hatari (sound always distorted).

Freeware version can be downloaded from here :
http://uranys.pagesperso-orange.fr/images/TankBlaster/TBLASTER.7z (1 298 006 bytes)

http://uranys.pagesperso-orange.fr/images/TankBlaster/TBLASTER.zip (1 614 941 bytes)

Don't hesitated to contact me if there is a problem because now I can recompile it on Hatari emulator. It was an hard job to transfer 20 Mb of files from Atari Falcon to my PC with Floppy Disk...

Image
Start picture by Pardalis

Image

Image

Image
Last edited by Uranys on Tue Aug 27, 2013 1:09 pm, edited 3 times in total.
Atari Falcon 030 (16 Mhz / 4 MB) - Internal HDD 60 MB - TOS 4.02

User avatar
dma
Atari Super Hero
Atari Super Hero
Posts: 804
Joined: Wed Nov 20, 2002 11:22 pm
Location: France
Contact:

Re: Tank Blaster

Postby dma » Tue Aug 27, 2013 12:55 pm

Really nice move, thanks for your support.

User avatar
nativ
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4087
Joined: Mon Jul 30, 2007 10:26 am
Location: South West, UK

Re: Tank Blaster

Postby nativ » Tue Aug 27, 2013 12:57 pm

8) 8) 8) :thumbs: Great stuff!

The Zip link gives a page error the 7z works though!
Atari STFM 512 / STe 4MB / Mega ST+DSP / Falcon 4MB 16Mhz 68882 - DVD/CDRW/ZIP/DAT - FDI / Jaguar / Lynx 1&2 / 7800 / 2600 / XE 130+SD Card // Sega Dreamcast / Mega2+CD2 // Apple G4

http://soundcloud.com/nativ ~ http://soundcloud.com/nativ-1 ~ http://soundcloud.com/knot_music
http://soundcloud.com/push-sounds ~ http://soundcloud.com/push-records

Uranys
Retro freak
Retro freak
Posts: 10
Joined: Fri Aug 23, 2013 12:43 pm
Location: Near the beach

Re: Tank Blaster

Postby Uranys » Tue Aug 27, 2013 1:08 pm

nativ wrote:The Zip link gives a page error the 7z works though!

Fixed :roll:
Atari Falcon 030 (16 Mhz / 4 MB) - Internal HDD 60 MB - TOS 4.02

User avatar
LaurentS
Captain Atari
Captain Atari
Posts: 248
Joined: Mon Jan 05, 2009 5:41 pm

Re: Tank Blaster

Postby LaurentS » Tue Aug 27, 2013 6:32 pm

Hi,

Thanks a lot Uranys

Best regards

Laurent / Thadoss

User avatar
lotek_style
Mod(ul)erator
Mod(ul)erator
Posts: 2312
Joined: Sat May 11, 2002 2:39 pm
Location: germany
Contact:

Re: Tank Blaster

Postby lotek_style » Tue Aug 27, 2013 7:25 pm

Thanks for the effort and the freeware release! :)
lotek style / the sirius cybernetics corporation
- musician - ascii-artist - swapper - archivist -

.tSCc. - low-tech atari cyberpunks since 1990
http://www.tscc.de/ | http://demozoo.org/ | http://www.lotekstyle.de/ | http://ymrockerz.atari.org/

User avatar
calimero
Atari God
Atari God
Posts: 1905
Joined: Thu Sep 15, 2005 10:01 am
Location: STara Pazova, Serbia
Contact:

Re: Tank Blaster

Postby calimero » Tue Aug 27, 2013 10:02 pm

Thanx!

You can be sure that TankBlaster will bring many hours of fun and joy!

Here you can see bunch of kids getting addicted to Dynabusters+ in 2013.
they was sucked in instantly! :)

http://www.youtube.com/watch?v=B-w1HqHMhBg

Next time, I will present also TankBlaster ;)
using Atari since 1986.http://wet.atari.orghttp://milan.kovac.cc/atari/software/ ・ Atari Falcon030/CT63/SV ・ Atari STe ・ Atari Mega4/MegaFile30/SM124 ・ Amiga 1200/PPC ・ Amiga 500 ・ C64 ・ ZX Spectrum ・ RPi ・ MagiC! ・ MiNT 1.18 ・ OS X

Dal
Administrator
Administrator
Posts: 4038
Joined: Tue Jan 18, 2011 12:31 am
Location: Cheltenham, UK
Contact:

Re: Tank Blaster

Postby Dal » Tue Aug 27, 2013 10:39 pm

Many thanks for this. Looking forward to playing this.
FireBee, Falcon -Soundpool case: CT63@95Mhz + 14MB/512MB + 16GB SSD + FPU + Phantom 25/50 + SuperVidel + SoundPool FDI + FA8 + ADAT + Eiffel, TT030: 4MB/16MB + Crazy Dots, Mega"SST" 12, STbook, STacy 2, MegaSTE, STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's

User avatar
nativ
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4087
Joined: Mon Jul 30, 2007 10:26 am
Location: South West, UK

Re: Tank Blaster

Postby nativ » Tue Aug 27, 2013 11:48 pm

Uranys wrote:Hello I'am happy to announce Freeware version of TankBlaster,

18 years after (1st version has been made in 1995) I have recompiled a Freeware version of TankBlaster.

Attention : After this new compilation size of executable 2013 have been increased but I don't know why.



Just a thought.. you still have the source? Is it possible an ST/e variant could come into existence?

and another thought, could some sort of midi network layer be created to make it multi player... or online! :D

But thanks again for the release! I remember playing a friend at this way back when!
Atari STFM 512 / STe 4MB / Mega ST+DSP / Falcon 4MB 16Mhz 68882 - DVD/CDRW/ZIP/DAT - FDI / Jaguar / Lynx 1&2 / 7800 / 2600 / XE 130+SD Card // Sega Dreamcast / Mega2+CD2 // Apple G4

http://soundcloud.com/nativ ~ http://soundcloud.com/nativ-1 ~ http://soundcloud.com/knot_music
http://soundcloud.com/push-sounds ~ http://soundcloud.com/push-records

User avatar
PardaliS
Atarian
Atarian
Posts: 6
Joined: Sat Aug 24, 2013 5:34 pm
Contact:

Re: Tank Blaster

Postby PardaliS » Wed Aug 28, 2013 5:47 am

Nice job, Uranys !

For STe version, all the Falcon features used in the code make it impossible i think. Let's hope that Hatari will have new releases that fix the (magnificent :P ) music distorted issue.

I'm so in love with Dynabuster, each time we play i laugh my ass off, that's the funniest game ever.

Uranys
Retro freak
Retro freak
Posts: 10
Joined: Fri Aug 23, 2013 12:43 pm
Location: Near the beach

Re: Tank Blaster

Postby Uranys » Wed Aug 28, 2013 10:00 am

Helllo,

nativ wrote:Just a thought.. you still have the source? Is it possible an ST/e variant could come into existence?

Tank blaster is 90% coded in C. Sprite display routine are coded in assembler 68080 and Sound/music routine are in assembler 68030 + DSP.
Tank Blaster use 16 bits display mode (65536 colors). All of things have been done with POV raytracer.
On Atari work in 16 bits mode has nothing to see with 256 or 16 colors mode. So all display routine will have to be rewritten for STE.
What is more I have used a 68030 auto generated sprite routine because graphic display of Falcon is slow.
Sound and music use 8 voices (Megatracker sound routine).
So it is very hard to make an STE version.

nativ wrote:and another thought, could some sort of midi network layer be created to make it multi player... or online! :D

Midi network is hard to work because of response time. And it is more easy to plug 6 joystick on a same Falcon than to install 6 Falcon in the same room no ?
On Atari I think that online is hard to do. What is more for online I think that Tankblaster (like dynabuster) is more fun when all player are in the same room.

It will be more easy to make an PC (MAC/Linux) version.
With this library :
http://www.afterwarp.net/products/asphyresphinx3
I use Delphi in my job since 16 years. But the main problem is not the code but to find a graphic artist !
For sound and music there is no problem with Pardalis. We leave at 800 meters each other !
Someone is interesting for an PC version (with more than 6 players) ?
Atari Falcon 030 (16 Mhz / 4 MB) - Internal HDD 60 MB - TOS 4.02

User avatar
calimero
Atari God
Atari God
Posts: 1905
Joined: Thu Sep 15, 2005 10:01 am
Location: STara Pazova, Serbia
Contact:

Re: Tank Blaster

Postby calimero » Wed Aug 28, 2013 11:11 am

Do not spent time on PC version; there are already World of Tanks :D

This freeware versio of TankBlaster is more than enought! :)
Maybe some new multiplayer game for STe/falcon? We ( my friends and I) play regulary:
- DynaBusters
- bugger
- chu chu rockets
- bunion canyon
- international karate+
- and from now on TankBlaster :)
- (and some amiga games: hiredguns; skidmarks; all terain racing...)

(half of this games are made by reservois gods)


Btw what is "auto generated sprite routine"?

And how it speeds up "graphic display of Falcon is slow."?
using Atari since 1986.http://wet.atari.orghttp://milan.kovac.cc/atari/software/ ・ Atari Falcon030/CT63/SV ・ Atari STe ・ Atari Mega4/MegaFile30/SM124 ・ Amiga 1200/PPC ・ Amiga 500 ・ C64 ・ ZX Spectrum ・ RPi ・ MagiC! ・ MiNT 1.18 ・ OS X

User avatar
nativ
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4087
Joined: Mon Jul 30, 2007 10:26 am
Location: South West, UK

Re: Tank Blaster

Postby nativ » Wed Aug 28, 2013 11:34 am

Helllo,

"nativ"]Just a thought.. you still have the source? Is it possible an ST/e variant could come into existence?
[/quote]
Tank blaster is 90% coded in C. Sprite display routine are coded in assembler 68080 and Sound/music routine are in assembler 68030 + DSP.
hmmm , I guess for speed it might need to be all asm anyway?

Tank Blaster use 16 bits display mode (65536 colors). All of things have been done with POV raytracer.
Ok, the full screen still images could be displayed with 'Photochrome' and maybe some hicolour mode for the menus? depends on CPU left after music!
As for the actual game the 'arena' could be made with a limited palette.

On Atari work in 16 bits mode has nothing to see with 256 or 16 colors mode. So all display routine will have to be rewritten for STE.
ok.

What is more I have used a 68030 auto generated sprite routine because graphic display of Falcon is slow.
Software sprites?

Sound and music use 8 voices (Megatracker sound routine).
We have code for 8 channel (Octalyser ) tracker replay or 16 channels even ( Hextracker! )

So it is very hard to make an STE version.

Thanks for your response ! nice to know what is all about!

[q="

and another thought, could some sort of midi network layer be created to make it multi player... or online! :D

Midi network is hard to work because of response time. And it is more easy to plug 6 joystick on a same Falcon than to install 6 Falcon in the same room no ?

Hover Sprint - Codemasters
Substation - Unique Developments
Midi Maze - Hybrid Arts

All use midi, but maybe it is too slow?


On Atari I think that online is hard to do. What is more for online I think that Tankblaster (like dynabuster) is more fun when all player are in the same room.

Yes I agree! We don't have any online games, I thought this might make a nice candidate! Although as mentioned new developments are welcome! :)

As we have several Ethernet solutions now or soon available! as well as the storage medium for larger graphics and sound.


:cheers:
Last edited by nativ on Wed Aug 28, 2013 1:04 pm, edited 1 time in total.
Atari STFM 512 / STe 4MB / Mega ST+DSP / Falcon 4MB 16Mhz 68882 - DVD/CDRW/ZIP/DAT - FDI / Jaguar / Lynx 1&2 / 7800 / 2600 / XE 130+SD Card // Sega Dreamcast / Mega2+CD2 // Apple G4

http://soundcloud.com/nativ ~ http://soundcloud.com/nativ-1 ~ http://soundcloud.com/knot_music
http://soundcloud.com/push-sounds ~ http://soundcloud.com/push-records

Dal
Administrator
Administrator
Posts: 4038
Joined: Tue Jan 18, 2011 12:31 am
Location: Cheltenham, UK
Contact:

Re: Tank Blaster

Postby Dal » Wed Aug 28, 2013 11:40 am

I wonder if a serial game could be played over the internet using a pair of Lantronix boxes and a bit of router configuration?
FireBee, Falcon -Soundpool case: CT63@95Mhz + 14MB/512MB + 16GB SSD + FPU + Phantom 25/50 + SuperVidel + SoundPool FDI + FA8 + ADAT + Eiffel, TT030: 4MB/16MB + Crazy Dots, Mega"SST" 12, STbook, STacy 2, MegaSTE, STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's

Uranys
Retro freak
Retro freak
Posts: 10
Joined: Fri Aug 23, 2013 12:43 pm
Location: Near the beach

Re: Tank Blaster

Postby Uranys » Wed Aug 28, 2013 12:28 pm

calimero wrote:Do not spent time on PC version; there are already World of Tanks :D

It's not the same fun to play with 6 players on a 2D game on the same computer than to play with 50 distant players on a 3D game.
Everybody, even who never play to video game, can immediately play to Dynabuster or Tankblaster but how long to play to World of tank ?


calimero wrote:Btw what is "auto generated sprite routine"?
And how it speeds up "graphic display of Falcon is slow."?

It's is a demomaker technic give to me by Axel Follet / MCS (Megatracker author) than I was to the university with him.
Generic display code move 1 pixel by one pixel from an memory address to another address memory.
If the sprite to display have a large size it's take a long time. What is more a pixel take 2 byte in 16 bits mode.
The solution is to convert the sprite to show to a series of "move" from an memory address to another. One move per pixel. So there is no sprite stored in memory but only code.

At 16 Mhz 1 cycle of CPU is 1/16000000 s = 62.5 * 10^-9 s = 62.5 ns
To do 60 frames per second (to have a fluid display) you only have 1/60 = 0.0167 second !
To do 30 frames per second you only have 1/30 = 0.0333 second !
So all the sprite must be displayed in less than 0.0333 second.

Imagine you have 4 pixels to display. In 68000 in 16 bits bits that's do 2 long = 4 words = 16 bits :

A generic display (get and put in GFA basic, C, or basic assembler) of sprite do something slow like :
move.w (a0)+,(a1)+
bcc <label>
that's take : 12 cycles of CPU (at 16 Mhz) by move.w + 10 cycle by bcc !!!
= 12 * 4 + 10* 4 => 88 cycle of CPU only for 4 pixel. Impossible to a fluid game with that.
move.w means move 1 word = 1 pixel.
bcc is jump function who have to handle width and height of the sprite to show but which take a lot of time.
So you be quick you have to not use jump command ! For that you must know all pixel of you sprite and only display than without have to calculate them width and height with "jump" function. In reality it is worst than that because high level language use a lot of function to show one pixel.

It could be better with a serie of move :
move.w (a0)+,(a1)+
move.w (a0)+,(a1)+
move.w (a0)+,(a1)+
move.w (a0)+,(a1)+
Which take 12x4=48 cycle of CPU for 4 pixels .
=> Only 2 times quicker than generic display !!!


Better use a serie of move.w. 1 move.w = 1 pixel :
move.w d0,(a1)+
move.w d1,(a1)+
move.w d2,(a1)+
move.w d3,(a1)+
which take 4x8=32 cycles of CPU for 4 pixels. It is that do a standard display.

Better same with movem will be :
Movem.w d0-d3,(a1)+
which take 12+4x4=28 cycles of CPU
You win 4 cycle of CPU to display 4 pixels.

You can do better with movem like :
Movem.w d0-d3,-(a1)
which take 8+4x4= 24 cycle of CPU.
But more complicated because it's work inverted.

So if you have a sprite with more than 4 pixels width using "movem" will be quicker !!

There is other tips to accelerate display of a sprite.
So all sprite are "converted" to optimised code. When you want to add a new sprite you have to convert it to code with a little program. After in C you only have to jump to this code with two coordinate (a memory address) to display it. With that Tank blaster was not far to display all sprites at 30 images per second. I could have all coded in assembler but on Falcon (same in STE/ST) all computer time is taken by display. So nothing to gain to code it in full assembler. C and assembler work fine together.

I'am not sure of my syntax because I haven't done 68030 it since 18 years !


Look here :
http://mikro.naprvyraz.sk/docs/mikro/030_stram.html
http://atariste.free.fr/asm/assembleur10j04.htm
Last edited by Uranys on Wed Aug 28, 2013 1:48 pm, edited 19 times in total.
Atari Falcon 030 (16 Mhz / 4 MB) - Internal HDD 60 MB - TOS 4.02

User avatar
nativ
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4087
Joined: Mon Jul 30, 2007 10:26 am
Location: South West, UK

Re: Tank Blaster

Postby nativ » Wed Aug 28, 2013 1:10 pm

calimero wrote:Do not spent time on PC version; there are already World of Tanks :D

It's not the same fun to play with 6 players on a 2D game on the same computer than to play with 50 distant players on a 3D game.
Everybody, even who never play to video game, can immediately play to Dynabuster or Tankblaster but how long to play to World of tank ?

while on the subject of tanks and network games I would recommend the game BZFlag, a online tournament / map / server game based loosely on Battlezone. I have added this to my list of things I would like to make on the Atari's ;)

here is the link http://bzflag.org/

Mac or Win C++ (open)source code available
Atari STFM 512 / STe 4MB / Mega ST+DSP / Falcon 4MB 16Mhz 68882 - DVD/CDRW/ZIP/DAT - FDI / Jaguar / Lynx 1&2 / 7800 / 2600 / XE 130+SD Card // Sega Dreamcast / Mega2+CD2 // Apple G4

http://soundcloud.com/nativ ~ http://soundcloud.com/nativ-1 ~ http://soundcloud.com/knot_music
http://soundcloud.com/push-sounds ~ http://soundcloud.com/push-records

User avatar
BoNuS
Atari Super Hero
Atari Super Hero
Posts: 709
Joined: Mon Jan 19, 2009 12:45 pm
Location: The Netherlands
Contact:

Re: Tank Blaster

Postby BoNuS » Wed Aug 28, 2013 7:19 pm

Great job, always nice to see extra software for the Falcon :)
http://bonus.home.xs4all.nl/
2 x Falcon 030 - a mint Atari TT - Mega STE - 2x STE - 1x Mega 2 - 2x STFM - 1 x STF - 3x SC1224 - 2x SM124 - 1x SM125 2x Portofolio+interface
- 3x 1435 monitor - 1 x Ult.Ripper cardridge - Mega 1,2,and 4 ( just to much Atari stuff)

User avatar
PardaliS
Atarian
Atarian
Posts: 6
Joined: Sat Aug 24, 2013 5:34 pm
Contact:

Re: Tank Blaster

Postby PardaliS » Sun Sep 08, 2013 6:03 pm

680x0 processors were so interresting for coders, using assembly code. When you use asm, you need to know how your cpu works and you have to find tips to accelerate code and grab some cpu cycles. Precalculatings and other stuffs were so fun !

This tankblaster flashback made me nostalgic, so i decided to make a brand new version of my old ".mod" sountracks. I'm sixteen again, what a nice come back to my youth... :)
Last edited by PardaliS on Sun Sep 08, 2013 6:05 pm, edited 1 time in total.

User avatar
simonsunnyboy
Moderator
Moderator
Posts: 4708
Joined: Wed Oct 23, 2002 4:36 pm
Location: Friedrichshafen, Germany
Contact:

Re: Tank Blaster

Postby simonsunnyboy » Mon Sep 09, 2013 5:14 pm

Thanks for the release! The sprite technique is probably similar to what Laurent did for Beats of Rage. He documented that a bit in the Coding section, a search word is "compiled sprite".

See viewtopic.php?f=68&t=24462
Simon Sunnyboy/Paradize - http://paradize.atari.org/ - STOT: http://www.npoi.de/stot/

Stay cool, stay Atari!

1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

Jabber: simonsunnyboy@atari-jabber.org

User avatar
LaurentS
Captain Atari
Captain Atari
Posts: 248
Joined: Mon Jan 05, 2009 5:41 pm

Re: Tank Blaster

Postby LaurentS » Tue Sep 10, 2013 9:38 pm

Hi,

I think the idea is the same, but my routine can take sprites with any number of colors (the best is not to use more than 32 colors for best optimisation, but it works with more).
And of course, I use "long words" registers for "move prefetch" reducing and I compute the best optimisation of colors into the registers to reduce the number of cycles.

On the other side, using 16 colors sprites allows to use movem, which is the fastest way to display sprites.
(It may be possible to optimise the sprites to display them with movem.l I think).

The main idea is here : hardcode the sprites in true color to save cycles.

Regards

Laurent

User avatar
PardaliS
Atarian
Atarian
Posts: 6
Joined: Sat Aug 24, 2013 5:34 pm
Contact:

Re: Tank Blaster

Postby PardaliS » Thu Mar 02, 2017 7:10 am


User avatar
lotek_style
Mod(ul)erator
Mod(ul)erator
Posts: 2312
Joined: Sat May 11, 2002 2:39 pm
Location: germany
Contact:

Re: Tank Blaster

Postby lotek_style » Sat Mar 04, 2017 10:04 am

Just updated your profile here:

https://demozoo.org/sceners/32418/

Feel free to support us... even with new entries :)
lotek style / the sirius cybernetics corporation
- musician - ascii-artist - swapper - archivist -

.tSCc. - low-tech atari cyberpunks since 1990
http://www.tscc.de/ | http://demozoo.org/ | http://www.lotekstyle.de/ | http://ymrockerz.atari.org/

User avatar
Eero Tamminen
Atari God
Atari God
Posts: 1473
Joined: Sun Jul 31, 2011 1:11 pm

Re: Tank Blaster

Postby Eero Tamminen » Sat Mar 04, 2017 10:39 pm

Note: Tank Blaster doesn't work with WinUAE CPU core's cycle accurate mode (= default) in Hatari v2.0, but this issue has been fixed in the Mercurial version of Hatari.


Social Media

     

Return to “Games”

Who is online

Users browsing this forum: No registered users and 1 guest