How To Code Games In BBC BASIC: An Introduction

  Рет қаралды 6,261

Colin Hoad

Colin Hoad

Күн бұрын

A start of a new series in which I explore the exciting world of BBC BASIC type-in listing games and show how you can use them to learn how to code your own 8-bit games! Join me as I take a first look at Mark Buckwell's "Cosmic Invaders", the subject of this series, and outline the four essential components of an 8-bit arcade game. Enjoy!
RESOURCES: github.com/colinhoad/cosmic-i...

Пікірлер: 40
@MarkBuckwell
@MarkBuckwell 3 жыл бұрын
Very humbled to see my program is the subject of a programming tutorial. Wonderful see my game running all these years later. I was a student and wrote this for the book "Giant Book of Games for Your B.B.C.Micro" in 1984. My family were very impressed :-)
@ColinHoad
@ColinHoad 3 жыл бұрын
Thank you for your feedback, Mark - and for writing the game, of course! Did you ever write any further games for the BBC Micro or other machines?
@damianbutterworth2434
@damianbutterworth2434 3 жыл бұрын
I used to write small games in the 80`s on the Spectrum. Then a friend introduced me to his friend Steve Marsden from Lincoln where I live who wrote and sold some games on the Speccy then went onto setup RockStar Lincoln and wrote some of the code for GTA. Gutted I never met him in the 80`s because he worked at Marconi where I worked. I was only 16 on a YTS scheme and spotted a lonely IBM doing nothing so took the manual home as no one could work it. Ended up writing a program for them to show the results of the rejected space Silicon on Sapphire chips. He lives in LA now with Mick Jagger as one of his neighbours. :)
@JohnDoe-qg6hm
@JohnDoe-qg6hm Жыл бұрын
@@damianbutterworth2434 Lifes lottery. David Brabham, Ian Bell deserved more for ELITE . Think what they earned for it and compare that to Markus Pearson aka NOTCH that got ? 3 Billion dollars from MS for Minecraft :/ Lifes just not fair :/ Imagine where you could be today if .... IF by Rudyard Kipling. IF THEN ELSE :/ GOSUB RETURN END...
@theafro
@theafro 3 жыл бұрын
There's a 9 year old boy here watching these videos with me, and loving it!
@ColinHoad
@ColinHoad 3 жыл бұрын
I'm so glad to hear that! I wouldn't have imagined my videos necessarily appealing to today's generation, so thank you for saying so 😀
@jameswestgate416
@jameswestgate416 3 ай бұрын
I typed in these listing games with my dad and they came with checksums - but I could never get the checksum program to work! We ended up checking each line by hand because we had no idea what we were doing. In a few years I had managed to write a sprite directly to the shared video memory and move it around with some keys. I’m still quite proud of this achievement today!
@ColinHoad
@ColinHoad 3 ай бұрын
As well you should be! 😄
@jdallavia
@jdallavia 2 ай бұрын
Excellent tutorial! Thank you very much!
@ColinHoad
@ColinHoad 2 ай бұрын
Thank you, I hope you enjoy the rest of the series 😊
@valley_robot
@valley_robot 2 жыл бұрын
Very cool mate , I was a BASIC tinkerer in the 80s , your right it’s a lost art
@ColinHoad
@ColinHoad 2 жыл бұрын
Ah, thank you! 😊
@universal70
@universal70 Жыл бұрын
40 years later I am still typing in that listing!
@ColinHoad
@ColinHoad Жыл бұрын
Have you managed to get it working yet? 😆
@mariebean8921
@mariebean8921 2 жыл бұрын
This is brilliant! This is exactly what we did in the 1980s as kids on the Commodore and TI computer! I LOVE YOUR CHANNEL! THANK YOU FOR BEING YOU!
@pjgathergood6987
@pjgathergood6987 3 жыл бұрын
Going to enjoy this series - as I've already commented elsewhere, the magic of type-in games back in the day (from Acorn User, tie-in books, etc.) used to seem almost magical, I used to spend hours typing one in, a couple more rooting out the single buggy line I'd managed to put in, and then set about almost randomly changing values on things just to see the effect of it. Almost a bygone age but one I feel lucky to have been there for.
@ColinHoad
@ColinHoad 3 жыл бұрын
I'm the same way entirely, it was a privilege to have lived through that period and have a "feel" for what makes a game tick... it seems like another world now, to even imagine the kids of today, accustomed as they are to simply buying games on the app store of their phone for a few quid, instead spending that same money on a physical magazine and to *then* spend hours typing in listings just to be able to play them! How times have changed... 😳
@techtinkerin
@techtinkerin Жыл бұрын
My dad was okay at coding, I asked him to make a sprite move about on screen with the keys. Being impatient as a kid I came back about 4 hours later and he'd managed to do it. I was like, well is that all it does? Can you make it do...my dad's like, nah kid I'm going for a brew and a rest. This is when I realised that programming is actually pretty difficult. Still made me appreciate how amazing it is. 😎👍❤️
@ColinHoad
@ColinHoad Жыл бұрын
I really identify with that! My Dad was a teacher (now retired) and he and his friend wrote a set of educational programmes for the Beeb - I was in awe of it at the time and all the more so now, considering the hours they must have put into it. What a time to have lived and experienced it all - amazing times.
@theimp67
@theimp67 3 жыл бұрын
I've never seen this version of Invaders before but was impressed to see it implements the 'ripple' effect of the invader movement. Probably a result of the limitations imposed by implementing it in BBC BASIC but then the ripple effect of the original game was also as a result of the limitations of the hardware it was implemented on. I shall look forward to future episodes.
@ColinHoad
@ColinHoad 3 жыл бұрын
Yes, it also replicates the coloured transparency bars that used to be stuck onto the physical screens of original Space Invaders machines to simulate different colours! Quite nifty stuff, I think - especially for a type-in listing 😄
@8-bitsteve500
@8-bitsteve500 3 жыл бұрын
Looking forward to this!
@damianbutterworth2434
@damianbutterworth2434 3 жыл бұрын
I spoke to Richard Russell on the phone when I ordered a copy of BBC BASIC for WINDOWS. :) Already made a asteroids game with wire graphics.
@damianbutterworth2434
@damianbutterworth2434 3 жыл бұрын
10 COLOUR 1,7 COLOUR 2,0 GCOL 1 COLOUR 130 GCOL 130 COLOUR 1 DIM X(10) DIM Y(10) DIM A(10) DIM S(10) DIM M(10) DIM D(10) DIM G(10) DIM H(10) DIM J(10) DIM K(10) DIM L(10) LEVEL=1 LIVES=3 SCORE=0 FIN=0 BU=0 Q=900 W=500 E=0 R=0 F=0 T=PI*.5 50 Q=900 W=500 E=0 R=0 F=0 FOR N=1 TO 10 X(N)=RND(1800)+50 Y(N)=RND(800)+50 M(N)=RND(30)+20 A(N)=RND(5)-RND(5) S(N)=RND(5)-RND(5) L(N)=0 D(N)=1 NEXT N 100 CLS PRINT TAB(1,1)"SCORE" PRINT TAB(7,1) SCORE PRINT TAB(1,2)"LIVES" PRINT TAB(7,2) LIVES PRINT TAB(1,3)"LEVEL" PRINT TAB(7,3) LEVEL PLOT Q+(COS(T)*20),W+(SIN(T)*20) DRAW Q+(COS(T+PI-.8)*20),W+(SIN(T+PI-.8)*20) DRAW Q+(COS(T+PI)*8),W+(SIN(T+PI)*8) DRAW Q+(COS(T+PI+.8)*20),W+(SIN(T+PI+.8)*20) DRAW Q+(COS(T)*20),W+(SIN(T)*20) FOR N=1 TO 10 IF D(N)=1 THEN CIRCLEFILL X(N),Y(N),M(N) NEXT N FOR N=1 TO 10 X(N)=X(N)+A(N) Y(N)=Y(N)+S(N) IF X(N)>1900 THEN LET X(N)=0 IF X(N)1000 THEN LET Y(N)=0 IF Y(N)90 THEN GOTO 200 NEXT N FOR N=1 TO 10 IF F=1 AND L(N)=0 THEN F=0: L(N)=1: G(N)=Q+(COS(T)*25): H(N)=W+(SIN(T)*25): J(N)=(COS(T)*10): K(N)=(SIN(T)*10) IF L(N)=1 THEN G(N)=G(N)+J(N) H(N)=H(N)+K(N) IF G(N)1850 OR H(N)900 THEN L(N)=0 IF POINT(G(N),H(N))2 THEN BU=N: GOTO 400 CIRCLEFILL G(N),H(N),5 ENDIF NEXT N WAIT 1 IF Q>1850 THEN LET Q=30 IF Q950 THEN LET W=30 IF W
@alecbarker8484
@alecbarker8484 3 ай бұрын
Is there a download link for just the code editor for BBC BASIC or do I need to get and pay for the whole BBC Basic for Windows?
@ColinHoad
@ColinHoad 3 ай бұрын
Have a search for BBC BASIC For SDL, that's free and comes with the editor 😀
@MrLondonGo
@MrLondonGo 3 жыл бұрын
I'm very excited for this series. Although I'm a CBM64 man, (I do own a BBC Micro) and I understand the BBC BASIC was superior to the Commodore's should still e useful, and undoubtedly interesting.
@ColinHoad
@ColinHoad 3 жыл бұрын
Great to hear, glad it has sparked your interest! 😃
@johnwilliams7999
@johnwilliams7999 Жыл бұрын
if i run the code i get number too big at line 50?
@ColinHoad
@ColinHoad Жыл бұрын
Hmm, not sure why that's happening - if I copy and paste the code directly into BeebEm and run it, it works without errors...
@nellogaliano2666
@nellogaliano2666 2 жыл бұрын
Thanks for this video! I have a question: is there a way to get the char code at specified X,Y position on the screen using BBC BASIC? Thanks
@ColinHoad
@ColinHoad 2 жыл бұрын
Hmm, I don't know if you can do it in 'pure' BBC BASIC, but I think the way you would typically do it is to load a 'dummy' CHAR value into a variable and then compare that variable to specified memory address corresponding to the position on screen that you want to interrogate. That's essentially how the collision detection function works in this program 😀
@urinater
@urinater 3 жыл бұрын
Wish this was around when I was 11. Instead of Input magazine
@ColinHoad
@ColinHoad 3 жыл бұрын
Thank you, I hope it is still helpful - if perhaps a few decades too late 😅
@FD-ze1xg
@FD-ze1xg 2 жыл бұрын
404 - File or directory not found. i can't download ... Can you help me? Please..
@ColinHoad
@ColinHoad 2 жыл бұрын
Apologies, it seems the .BBC file extension wasn't compatible with my web server! I've amended the link and changed the source file to a .BAS which should now be downloadable from the same link 😃
@FD-ze1xg
@FD-ze1xg 2 жыл бұрын
@@ColinHoad Thanks a lot! Now it's ok!
@BryanChance
@BryanChance 7 ай бұрын
I'm using BBC Basic for Windows. Is there a reason why the "continuation on next line" like this? Why not just the \ at the end of a line that continues? Thank you. REM Splitting long lines PRINT "This is a very, very, very, very,"; \ \ " very, very, very, very, very, very,"; \ \ " very long line." END
@ColinHoad
@ColinHoad 7 ай бұрын
Hi Bryan - BBC BASIC for Windows (BB4W) supports many features that were not possible in the original BBC BASIC language. For example, BB4W doesn't require line numbers, whereas original BBC BASIC does. The line continuation character isn't recognised by BBC BASIC - if you try to use it, you'll get a "no such variable" error.
@BryanChance
@BryanChance 7 ай бұрын
@@ColinHoad It seems to have a lot of adhoc functionalities bolted on. The old saying that "BASIC is simple or for beginners" isn't so true anymore. It is very difficult to read/understand this BB4W version. LOL Makes C look nice. :-)
REM and DIM - How To Code Games In BBC BASIC (1)
11:15
Colin Hoad
Рет қаралды 2 М.
BBC BASIC 3D 10 PRINT
14:11
Least Significant Byte
Рет қаралды 5 М.
Did you believe it was real? #tiktok
00:25
Анастасия Тарасова
Рет қаралды 52 МЛН
🤔Какой Орган самый длинный ? #shorts
00:42
아이스크림으로 체감되는 요즘 물가
00:16
진영민yeongmin
Рет қаралды 47 МЛН
80's Software house - Acornsoft
14:21
RetroBytes
Рет қаралды 11 М.
Acorn Computers - Business Promo Video - Circa 1984
9:29
The Centre for Computing History
Рет қаралды 8 М.
Top Games For The BBC Micro
10:20
Colin Hoad
Рет қаралды 2,7 М.
The AGON light: New open source 8-bit System
44:34
Jan Beta
Рет қаралды 74 М.
How to Make a C64 Game in BASIC Ep.1 [HOW2] | Nostalgia Nerd
13:53
Nostalgia Nerd
Рет қаралды 113 М.
6502 Assembly sprite routines on the BBC Micro - Retro Coding
16:09
NCOT Technology
Рет қаралды 13 М.
Acorn Archimedes A3010: Was It Better Than The Amiga?
21:57
Dan Wood
Рет қаралды 254 М.
How Machine Language Works
19:48
The 8-Bit Guy
Рет қаралды 943 М.
Choose a phone for your mom
0:20
ChooseGift
Рет қаралды 6 МЛН
Здесь упор в процессор
18:02
Рома, Просто Рома
Рет қаралды 216 М.
YOTAPHONE 2 - СПУСТЯ 10 ЛЕТ
15:13
ЗЕ МАККЕРС
Рет қаралды 184 М.
Самый дорогой кабель Apple
0:37
Romancev768
Рет қаралды 323 М.