OH THAT WOULD BE VERY DIFFICULT – PART 4   Leave a comment

OH THAT WOULD BE VERY DIFFICULT – PART 4

The video accompanying this latest version of the program

So, here’s the continuation of this amazing series showing how it’s relatively easy to program a simple game on other 8 bit computers using their built in BASIC, apart from the crappy Commodore 64 with its Commodore BASIC V2. Of course, the point is that when writing a program bugs will come up, then you have to find and correct them. I used a large Philips CRT style TV instead of an LCD, LED, or even Plasma TV to make the video and take the pics, because CRT TV is the type of TV these classic computers were designed for!

VDiff4-2

Lines 10-140

 

In this instalment I continue to show you games programming in MSX BASIC 2.0. The version number 2.0 is nothing to do with Commodore BASIC V2, but refers to version numbers within MSX BASIC, where even V1.0 is Microsoft BASIC V4.5, which is roughly SIX YEARS ahead of the BASIC that evil miser Jack Tramiel bought with a perpetual licence from Microsoft in 1977! Bill Gates of Microsoft had no idea in his worst nightmares that Jack Tramiel was going to reuse it six years later. Bill Gates has been criticised, but IMHO he’s a saint compared to Jack Tramiel. In spite of all the Microsoft updates available, the Commodore 64 was released with roughly the same BASIC onto an unwitting public, several years later in late 1982, not long before MSX computers were released in 1983-1984 and MSX2 computers in 1985-1986. This was aided and abetted by those buyers’ guide liars writing for “The A-Z of Personal Computers”. I demonstrate how to display and move the missile sprite when the joystick fire button or space bar is pressed and how to get the Doctor’s TARDIS sprite to react to that. This is very similar to MSX BASIC 1.0, except that all occurrences of SCREEN 7,3 would have to be replaced by SCREEN 2,3 as well as all occurrences of SET BEEP and COLOR=(N,R,G,B) being deleted, so not much work to do there!

VDiff4-4

Lines 150-310

 

The whole point of this is mainly self explanatory to get people to look and learn, rather than just explain how people would have learnt to program it, while you just sit back in your chair or sofa reading it. No Github repository needed here, either. Read the program thoroughly and type it in! On MSX and MSX2 computers, owners got an advanced BASIC with nice thick manuals about MSX BASIC, MSX2 BASIC, or MSX BASIC 2.0. Unfortunately, on the Commodore 64 they got an antique BASIC, with a quite thin manual from Commodore, and had to buy “An Introduction to BASIC” (Parts 1 AND 2), as well as buying the “Commodore 64 Programmers’ Reference Guide”, but even with all these additional books, they wouldn’t be able to do much with their colour computer/synthesiser, unlike the lucky MSX and MSX2 owners.

VDiff4-6

Lines 320-500

 

This latest version of the program isn’t all that different from the previous one, but has had lots of REM statements deleted, then the program renumbered using the RENUM command, which of course doesn’t exist in Commodore BASIC V2. The sprite collision detection or sprite retracing its steps routine has also been called.

VDiff4-8

Lines 500-590

 

Unfortunately, this program has a bug, which would be a good exercise for you to try and spot, then work out how to rewrite it. This is that after the fire button has been pressed, even if the Master’s TARDIS isn’t in the right position to hit the Doctor’s TARDIS with a missile, the sound effect is played, then the Doctor’s TARDIS changes colour and goes back the way it came. Apart from this, the missile doesn’t travel very far, usually not far enough to hit the Doctor’s TARDIS.

VDiff4-10

Lines 600-670

 

The sections of program according to line numbers are as follows…

 

VDiff4-13

Lines 650-760

 

10-140 set up display and sprites

150-310 main loop which uses GOSUB 320 in line 190 instead of just BEEP to react to a joystick button or space bar being pressed

320-510 sprite collision or actually sprite moving routine, which doesn’t actually check for collisions. The missile sprite is sprite 2, which is only placed on the screen in line 340, then moved up by line 380, followed by being removed by line 500 by being positioned in the colour 0 or perhaps not, because isn’t colour 0 transparent instead of black?!

520-590 plot stars and print “Oh that would be very difficult!” on a graphics screen

600-620 sprite definitions data

630-700 select joystick or keyboard control routine

710-760 assign joystick or keyboard for input, as well as moving changing the coordinates of The Master’s TARDIS

So, there you go! Who needs “Shoot ‘Em Up Construction Kit”, Gary Kitchen’s “Gamemaker”, “Turbo BASIC”, “Simons’ BASIC” or anything like that trying to fix the mess that Jack Tramiel made?

BTW, at the moment (December 2015) there’s a Doctor Who game maker on the BBC website. This can be found on http://www.bbc.co.uk/programmes/articles/26Y2fJtHFZ2wWp397SHttGM/doctor-who-game-maker , but it doesn’t involve any programming and may not be there for long.

That’s all for now! In the next installment of this series, I plan to make the missile actually collide with its target as well as to react to the collision and keep score of any collisions. Look forward to that. Anything else such as on screen instructions would be icing on the cake, but you can use your own imagination. Perhaps The Doctor is trying to escape from The Master, but if The Master manages to hit The Doctor’s TARDIS a certain number of times, then The Master has won. In any case, this could be the basic for a number of games.

This blog has no means of funding, I’m actually quite skint or broke, and my life is in danger from eviction by a property speculator, probably taking place in January 2016. If you’d like to make a donation, please send me an email on paul.londoner@gmail.com , then I’ll tell you how to do that.

Advertisements

Posted December 18, 2015 by C64hater in Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: