Debugging those program listings was really how I learned to code. The endorphin hit I got when something actually worked was completely addicting. I spent almost 30 years as a professional programmer :)
That's how I started too. But on a neighbour's Apple II about 3 years before I was able to save up enough to buy my own computer. Luckily by that time the Speccy was out.
Same for me to, basically zx 80 I covered basic then moved with the times machines realising all the time, dragon 32, sword m5 and started machine code on the c64, buying the very early magazines and looking through basic listing s I could see the errors thinking gosh how many kids would spend ages typing in these listings just to see them crash, brilliant video that's taken me back to good times and a better life, thanks again !
The most successful commercial program in BASIC on the Spectrum must surely be Football Manager by Kevin Toms. Likely the person who influenced most budding developers in learning BASIC on the Spectrum (and other machines), was the prolific author Tim Hartnell.
@@hotdogsoup-nl I've not watched the clip yet, but it does seem odd that you haven't heard of Kevin Toms given the video title? In fact, it seems odd that you're making a video associated with the speccy and you haven't heard of Kevin Toms.
I wrote a spreadsheet for the ZX81 in Basic and made enough in royalties to put down the deposit on my first flat. Very few things like that happen. I was very lucky.
I was describing how the computer units in "Johnny Reb" knew what their tactic was to a friend several years ago, and he pointed out that I had independently invented Object Oriented Programming. We didn't have structs, so there were several parallel arrays sharing a common index, to give much the same effect. Each player piece has an associated string in the tactics array, which contained one of a few possible user-defined functions or simple basic expressions. "EVAL"uating the string supplied a target location for the playing piece to head to - BASICally a method call. Tactics could be changed mid-battle too, but I don't recall if they ever were.
That's awesome he found you! I had the pleasure of getting in touch with an old 1990s roguelike game author (Jeffrey Olson who made Alphaman) and even helped him resurrect the old source code and open source it. He spoke at Roguelike Celebration that year as well.
Interesting. What inspired me was playing QBasic games in DOS on the computers at school. An upperclassman showed me how to exit the menu program that the school used and navigate to the directory to run the QB editor environment and run the programs that came with it. Playing Gorilla and Nibbles and figuring out how to modify them, like making bigger explosions for the bananas or how to make the snakes grow extra inspired me. To this day, I don't actually know who programmed those two games. All I know is that it was someone at Microsoft. Ironic too since I stopped using Windows after Win98. Although, I do still play with QB through DOSBox.
@@hotdogsoup-nl hahah always at least 50% developer. But wiyh years comes management too :) I still have tapes with my Spectrum games. Even did Z8p assembler in primary school. For years Im thinking of getting casette player to digitize my tapes (if not dead) and open some stuff in emulator. But never did it. You just motivated me to give it another try
I got my start in programming with QBasic in MS-DOS. At one point I wrote a crude 3D wireframe engine in it. It wasn't fast, it wasn't great, but stupid little projects like that just to see how far Basic can go really helped pass the time and keep me from dying of boredom in high school.
My guy was Jim Butterfield because Commodore but I really appreciate Ian McTavish - that is quite a work of art - a very fun game in one page of Basic.
What a great story! I went through something similar a few years ago, when I was getting back into the Spectrum scene. I was a great fan of a recent PC puzzle game called "Knights", and I couldn't help thinking that it would translate very well to the Spectrum. So I contacted the developer, Arzola, for permission to make a Spectrum version. And I set about coding it in BASIC. After that, I used it as a springboard to learn Z80, and managed to re-code it that way. Great fun. I'm into the Spectrum Next these days. I've often thought it would be fun to try and enhance some of the old type-in games with better graphics, hardware sprites, etc. I think my favourite type-in game from back in the day was probably "Pixy the Microdot." (If you're curious to play "Knights" it's available on the Spectrum Computing site.)
Well, that’s a fun little game. It’s amazing how after a short time, a person’s brain adapts to the jump controls. At first, had a hard time getting up in the second test on the block before turn around towards the red block. Now I breeze past. I appreciate your work in sharing and of course I appreciate Ian:) I’m glad he’s receiving the proper recognition now.
It's nice to see some kudos for someone and something that had so much impact and influence on you. I loved those tedious type ins as a youngster, I don't think I would be retro programming now if it wasn't for them and the great spectrum games of the eighties. Good video, keep it up.
I remember this from Sinclair Programs. Definitely one of the Very best they published. And well structured code. Perhaps Mr. McTavish could come up with w sequel to Mark the 40th anniversary.
Oh, man, what a nostalgia blast! I was not aware of your iOS conversion (although I will grab a copy for my iPad ASAP) or your earlier video that I have now added to my watch list. But the video thumbnail with its _Dotty_ screenshot grabbed me by the memberberries like I've never been grabbed before. _Dotty,_ with its genius always-bouncing mechanic, inspired so many of my Spectrum BASIC dabblings back in the day it's unreal. I had C-15s full of bouncing ball games, bouncing spring games, bouncing robot games... all based around what I learned by typing in and debugging _Dotty._ I'm so glad to see so many similar stories emerging in these comments. Something else that occurred to me (and I suspect this may have already been mentioned in comments elsewhere) is that _Dotty_ takes place in a series of chambers, with cubes and door switches and gridded walls, each labelled with a Test number, at the end of which the entity in charge denies the protagonist's freedom and sends them back to re-do the whole thing. Did Ian not only create one of the greatest BASIC games ever, but actually pre-empt some aspects of _Portal_ by nearly a quarter century?
I typed this in and played the crap out of it too all those years ago. I remember from Sinclair Programs there was also two brothers who were very prolific and usually included short machine code routines in the BASIC listing as DATA statements that produced fancy sound or visual effects for their games.
I think most programmed assembly. Machine code is using the hex values instead of things "JMP". Sometimes programmers will do that, micro's used some code to rewrite their own code. For example in 6502 you could have a 3-byte instruction like "STA &1234". Instead of just thinking of the address as a fixed value, you could use it to store a pointer instead... saves on the memory (as the data is now part of the code) and it is faster than indirect addressing. I also think Karl Jobst should have a look at this record. Hehehe.
I am on the wrong side of the pond to have owned a ZX, and while looking at videos of the games it seems SO LIMITED even compared to a C64... GAWD I wish I'd had one
i'm too young to be using ZX Spectrum at any point in my life, but i was playing elite (the original '84 version) on an emulator and it left an impression on me, not because it was mind blowing to me by itself (it was late 10s so we already had portal 2 and my most played game at the time, FSX, because i (was? am?) a sim nerd and that's how i found elite) but because it was otherwordly different from the games of its time first i thought "it's about david braben isn't it" then i remember watching Alexander the ok's video about elite (by the way, he has a spectacular channel and i recommend everyone who's interested in space and human achievements in general a watch, my fav video of his is about space shuttle program) where he told that elite was developed for BBC Micro (and ofc it was written in assembly, have you seen the thang (both BBCM and the game itself) it's too huge for basic) then i watched 2 seconds more and you said the name lol so anyway, funny video and i don't know why but from the first couple of seconds, without seeing anything else, without checking the channel description, i felt that you're dutch i don't know if it's the accent, or the similarity to Posy or the love for the color orange or the cadence of the speech but it's not like i thought "they seem dutch", it just clicked in my brain and i think that's pretty funny great channel tho, i like it when people just can upload stuff and not worry about youtube being youtube have fun :3
Thanks for your words and indeed I am Dutch but keep trying to improve my cheesy tulip accent. The fact that you did not immediately and without doubt knew I am Dutch is the best compliment :) Also, just uploading stuff and trying to be myself is exactly what I intend to do, Finally someone understands me lol
I remember my mum bought a spectrum game from a car boot sale back in the day from an indie developer. Or at least I think she said it was from an indie developer. The game featured a caveman on a stone mono-cycle. The graphics and control was really good. The point was to speed run a side scrolling obstacle course jumping and perhaps ducking various obstacles. I've googled it, but nothing comes up. I doubt it was a BASIC game though because it was very good.
Machine code and assembly were always different. Assembly is the source code you enter into as assembler, which generates machine code. A monitor worked directly with machine code, some games were written entirely in a machine code monitor
I think the point he was making was the two terms were commonly interchangeable at the time. If you talked about machine code, everyone assumed you meant assembly because no-one coded in 0 and 1's directly. Well, there were a few. I remember finding bit masking hacks for swapping machine code instructions (the actual 1 and 0) at runtime to change code while it was running.
@@richbuilds_com Not true. In those days a lot of us didn't have assemblers and wrote in machine code using POKE in a loop with DATA statements in a BASIC loader. At least in the earliest days and on the cheapest machines. Would've been different for professional Speccy programmers with more money but many hobbyists did it as I describe. Even so, I still knew the difference between assembly and machine code back then. I didn't ever write an assembler but I wrote several disassemblers. The speccy manual had all the opcodes so we could figure out the 0s and 1s to use directly.
Assembler: Something that takes Assembly Language and turns it into Byte Code Assembly Language: The Human Readable Mnemonics that represent the Byte Code (e.g. LDA 02 - Load the Accumulator Register with the decimal value 02) Byte Code: The 1's and 0's the processor consumed. (e.g 0010001 00000010) Hand Assembly: The manual process of looking up Assembly Language instructions and converting them to their byte code equivalent.
The most successful ZX Spectrum game written in Basic was Football Manager, given that it started a genre in which its namesake Football Manager XX (Add the year of your choice) is still being made and sold in the millions.
My brother had 3 games published in mags, and he got 50 quid for each one too. They weren’t anywhere near as cool that kangaroo game unfortunately! I should try to dig them out from the PDFs. Anyway, fascinating story and looking forward to your upcoming vids. You have a sub from me. 😅
We didn't call assembly language machine code back in the day. They were different things back then and still are now. Machine code was the binary and assembly was the text version that you turned into assembly if you were lucky enough to have an assembler back then. If you didn't have one like I didn't, then you wrote your assembly on paper and then went through the Speccy manual looking up the number for every opcode etc and wrote a BASIC program to poke the machine code directly into RAM. So yeah I programmed in machine code back in the day but I still knew what assembly was even though I didn't get an assembler until about a decade later (-:
You keyed in the hex byte values into a monitor instead of coding in assembler???? Hard core! 😀 Or did you create mc in memory using POKE statements if you didn't have a monitor program? I remember having a monitor program that let me enter hex code for very short mc code snippets but never really created anything worthwhile. (6502 was my first processor I learned about).
@@davy_K God no! The computer didn't natively understand hex. Did it in decimal (-: The computer I learned machine code on didn't have a monitor, or a disk drive. Apple II had that but cost about 7x-10x the price of my first computer, also without a disk drive. I also never wrote a whole game. Mostly playing with techniques to do things faster and routines I found disassembling games. My first was Z80 and then 68000 though I did a miniscule bit of 6502 at school once.
I will say that in my experience, in books and magazines etc, the majority of references to non BASIC programs back in the '80s and early '90s simply referred to "machine code". An awful lot of programs, even some commercial ones, would contain a BASIC loader and invoke the USR statement (or whatever equivalent existed on each machine). The only time "Assembly Language" was mentioned directly was, unsurprisingly, when talking about using an Assembler program.
I kind of wish you interviewed him in a video. The third person summary is slightly weird. Maybe it's just me but I really like it when old school dudes get represented in video form.
@@hotdogsoup-nl Indeed. His story inspired me. I always wanted to be a game dev since the Atari days. Eventually I took the leap and I'm 15 years into game dev now.
I programmed on the spectrum back in the day. I made a few games, with battleships being a really professional game, but I didn't ever believe that people like me ever made games that anyone would ever buy. It was the college peeps who got to join software companies and al that after all. So I never sold a single one of them and it never went anywhere. I ended up making full screen art instead, and that transferred into digital art as time went by, though I'm not a programmer any more. I do wish I'd met anyone who wanted to make games with me back then. I still want to make games and am involved in indie projects every now and again, but haven't managed anything as it's all very different now-a-days.
@@hotdogsoup-nl Most games were published by the companies who made them back then. It was a relatively small industry, so big publishers weren't really a thing. There were perhaps one or two small companies who acted as publishers I think, but they evolved from companies which made their own games initially, and probably wouldn't have even accepted games produced by bedroom coders who hadn't even finished high school. I do wish someone could have been there to tell me that I didn't need a degree in programming, or anything thing else, other than a good game. It's literally only looking back that I realised that there were a large number of bedroom coders, a lot like me, with a real enjoyment out of making games, and in learning to make better games, and someone to give me confidence to send my games off to big software houses would have really changed my whole life. I'd have sent my stuff to Gremlin, or Imagine, or any of the others if I had some self belief, or someone had helped me understand they weren't all college educated too. I even learned to hack early games, like the games on the tape we got with our Spectrums, like the bat 'n' ball game, so that the bat followed the ball automatically, so I never lost a single game after that. I feel like I had a huge amount of wasted potential as I never ended up making games for a living, or involved in game dev in any way until about 10-15 years ago again. On the one course I was on after school I was the only trainee who could make pixel art to a professional quality, so that out of all of us, I got to make graphics for inclusion in a presentation that went out to a lot of sister training organisations over the whole of Britain, and got to visit an animation and business graphics expo alone out of all of them.
@@hotdogsoup-nl I wish. I haven't done any programming in all the intervening years. My life isn't really in a position where I can sit down and learn to program all over again. It's just a dream of what might have been which remains with me now.
Wish this was still a thing. It would be great for kids to have magazines with some simple python tkinter games. Most learning material for kids is block code and concepts. I loved how basic programs had you programming before you knew what programming even was. I have been teaching my kids how to make click based games. We have been finding text based adventure rpg games we like. It's to hard for my eyes to read walls of text so we use tkinter to give everything buttons and dialogue boxes. You can create a dark mode as well so that helps a lot.
Rockin'! I used to really enjoy the 1982 arcade game "Kangaroo" th-cam.com/video/zNJ8KiYGxzA/w-d-xo.html I'd say the closest similar game to Dotty was 1983 "Jumpman" th-cam.com/video/AcyBlxTzhYs/w-d-xo.html The game I most enjoyed was 1995 "Jumping Flash" with Robbit th-cam.com/video/WRD5whY9Hs0/w-d-xo.html
Inaflap don’t take Ian’s 15 minutes of fame away from him 😂 let the man have his time on the small stage. Everyone knows football manager was great. But Ian was 14 when he wrote dotty. Just flicked through the magazine September 1984 and sure enough it’s there. Very clean code too.
I think there's a difference in between the terms 'App's', 'applications' and 'programs'. -'Apps', as the new world term, primarily used for the software people use on mobile devices using a runtime environment, like Android's ART or Microsoft's NET. It's inferior software, as programmers make their job easier by using the access to a huge amount of premade functions at the cost of performance, resource usage, complexity, and often overall software usability and quality, which comes at cost for the users. Opposed to real software which always is native. Yes: Apps suck! -Programs are anything that anyone programmed ever. -Applications are all programs that neither are games nor 'Apps' as described above.
We meet probably 1000 people thay we touch in some way. Likely much more than 1000. We are in fact 2 persons away from touching a billion. Crazy, isn't it?
A lot of them can be found as TAP files if you search the title plus TAP. Here's a list: www.users.globalnet.co.uk/~jg27paw4/type-ins/sincprog/sp_names.htm
I started as a 12 year old on the good old speccy. Basic games eventually with custom character sets, "multi channel" sound etc. Here I am now at 54 still keyboard bashing and coding. The Speccy is responsible for an awful lot of nerds! Still writing compact code and none of this "minimal viable product" nonsense
@@hotdogsoup-nl I hate that way of working. Lets dump some half finished software onto our users, charge them a fortune for it, and they can do our beta testing for us at no cost to us. The code is always bloated. Not one of those guys could code on the kit we had back in the day. They would use all the memory just displaying the about page!
Hoi landgenoot! Is het mogelijk om de basic listing te zien van deze game? Ik ben na 40 jaar weer in basic aan het programmeren en deze game zou een goede leerstoel kunnen zijn.
I think the answer to this is in the video… Ian first attempted to create a Manic Miner game in BASIC, but made an error with the code, so the character (presumably initially intended to be a man) would jump on its own. Ian turned this error into a feature, and the man became a kangaroo. I guess he either forgot to rename ‘men’ to ‘kangaroos’ or didn’t have enough room for the longer word!
@@hotdogsoup-nl not sure about basic but that dotty game was really cool and ran nice and fast. When I make basic games that run slow nowadays I can just increase the speed of the z80 in the emulator. Great video btw 👍
I used to write all kinds of completely useless programs back in the day. The only notable one I ever wrote was the George Best Deathbed Simulator, which won the comp.sys.sinclair Crap Games Competition in 2005. It wasn't even a game really, as there was no way to win it. I wrote it as a joke because of something that someone said on a ZX Spectrum-related IRC channel.
Yeah, Dictator is a BASIC program (and pretty good fun). Quite a few simulations and strategy games like that were written in BASIC - there's a couple of election games around like that, you pick your party, and policies etc.
So, does he still make software? The picture of him doesn't scream "software developer". It has more of a "working in a bank" quality to it, but you should never judge by the look.
Seriously for a BASIC game you think this was better then 'Splat!'? Even after things like the Monty Mole series came out Splat! was quite addictive and if you did manage to crash it you knew it was written in basic with some simple loader protection.
I had an acorn electron........the zx spectrum was a better machine overall.....it ran faster allthough the electron had 6502 assembly it was still slow
The Z80 would generally be running at a higher clock speed than a 6502 and it's derivatives, but clock for clock, the 6502 was generally faster. But as with computers today, there is more to it than CPU speed. The Acorn Electron was in many ways technically superior to the Spectrum, it just came out too late. Crucially, it wasn't actually compatible with software for the (very expensive) BBC Micro, and many people had been expecting a cut price BBC.
@another3997 they worked out that a z80s performance is roughly 20% higher than a 6502........in the electron it was clocked almost at 2mhz ,but it was restricted with memory access that put it on par with a 1mhz 6502 computer...the high point of the 6502 was it's cost and it's instruction set which it could sort of pipeline numerous instructions per clock that almost keeps it up with a z80 which was 1 instruction per clock that's why the z80 was faster overall.....allthough a bbc is 2mhz.. the z80 at 3.5mhz could run than a c64....the speccys ...clock speed......and the bbcs clock speed.....if the speccy could clock instructions 20% (there abouts) more than a 1mhz 6502 how much faster was a bbc clocking at 2mhz be faster than the speccy
FYI Assembly and machine code are two different things entirely. We use assembly language to write our code using mnemonics and that code is "assembled" into machine code by an assembler. The two terms are NOT synonymous! You really need to add the words "in my opinion" to the title of this video since it is subjective and opinions vary.
I'll confirm that most magazines, plus many books and manuals back in the day, simply referred to "machine code", unless talking specifically about Assembly Language or an Assembler program. Many BASIC programs had a "machine code" subroutine. The term was used generically to describe code that bypassed BASIC or whatever high level language was supplied.
Great video Martin and you have a new subscriber in me! I was wondering if you have a working .tzx or .tap file of the original Dotty? I'm not an Apple guy but would love to play it via Speccy emulation, but noticed World of Spectrum only has a link to the original BASIC magazine listing and not the game itself. If not, do you remember if there were any errors or typos in the listing? I may take the time to type it in, could be a heck of a nostalgia hit =)
great video but you didn't say whether Ian was still coding or if he ended up working in IT - I NEED to know!!! 😁
Haha yes unfortunately this was edited out but he is happily working in healthcare 😀
@@hotdogsoup-nl as a jaded software developer for the last getting on 30 years, I agree with his choice of vocation!
Debugging those program listings was really how I learned to code. The endorphin hit I got when something actually worked was completely addicting. I spent almost 30 years as a professional programmer :)
Yeah and also: typing RUN even if you were only halfway through to see if already something would happen :)
That's how I started too. But on a neighbour's Apple II about 3 years before I was able to save up enough to buy my own computer. Luckily by that time the Speccy was out.
Same for me to, basically zx 80 I covered basic then moved with the times machines realising all the time, dragon 32, sword m5 and started machine code on the c64, buying the very early magazines and looking through basic listing s I could see the errors thinking gosh how many kids would spend ages typing in these listings just to see them crash, brilliant video that's taken me back to good times and a better life, thanks again !
The most successful commercial program in BASIC on the Spectrum must surely be Football Manager by Kevin Toms. Likely the person who influenced most budding developers in learning BASIC on the Spectrum (and other machines), was the prolific author Tim Hartnell.
Did not know about Football Manager, Hartnell was indeed a great influence 😀
@@Inaflap I still sometimes whistle that soundrack from FM :))
@@hotdogsoup-nl I've not watched the clip yet, but it does seem odd that you haven't heard of Kevin Toms given the video title? In fact, it seems odd that you're making a video associated with the speccy and you haven't heard of Kevin Toms.
I know the name but in those days I did not play management games so I have no memory of FM
Football manager was my first ever attempt at “hacking” a game. Let money = 9999999999. Or something. Lol
I wrote a spreadsheet for the ZX81 in Basic and made enough in royalties to put down the deposit on my first flat. Very few things like that happen. I was very lucky.
That is amazing! What was it called / its release name?
I highly doubt the story 😉
I thought I was the only person alive who remembered typing in Dotty the Kangaroo! :-o
There's many of us :)
I was describing how the computer units in "Johnny Reb" knew what their tactic was to a friend several years ago, and he pointed out that I had independently invented Object Oriented Programming.
We didn't have structs, so there were several parallel arrays sharing a common index, to give much the same effect.
Each player piece has an associated string in the tactics array, which contained one of a few possible user-defined functions or simple basic expressions.
"EVAL"uating the string supplied a target location for the playing piece to head to - BASICally a method call. Tactics could be changed mid-battle too, but I don't recall if they ever were.
That's awesome he found you! I had the pleasure of getting in touch with an old 1990s roguelike game author (Jeffrey Olson who made Alphaman) and even helped him resurrect the old source code and open source it. He spoke at Roguelike Celebration that year as well.
That's awesome!
Interesting. What inspired me was playing QBasic games in DOS on the computers at school. An upperclassman showed me how to exit the menu program that the school used and navigate to the directory to run the QB editor environment and run the programs that came with it. Playing Gorilla and Nibbles and figuring out how to modify them, like making bigger explosions for the bananas or how to make the snakes grow extra inspired me. To this day, I don't actually know who programmed those two games. All I know is that it was someone at Microsoft. Ironic too since I stopped using Windows after Win98. Although, I do still play with QB through DOSBox.
Would be great to find out who the programmer was!
Lovely video and what a fantastic story!
Thanks!
omg, Spectrum Basic defined my life. Started in primary school arround 1984. Very soon, was programming more than playing. Still do it, 40 years later
Still doing BASIC or being a developer? 😄
@@hotdogsoup-nl hahah always at least 50% developer. But wiyh years comes management too :)
I still have tapes with my Spectrum games. Even did Z8p assembler in primary school. For years Im thinking of getting casette player to digitize my tapes (if not dead) and open some stuff in emulator. But never did it. You just motivated me to give it another try
@@hotdogsoup-nl Modern BASIC is Turing complete. It's as capable as any other Turing Complete language.
I got my start in programming with QBasic in MS-DOS. At one point I wrote a crude 3D wireframe engine in it. It wasn't fast, it wasn't great, but stupid little projects like that just to see how far Basic can go really helped pass the time and keep me from dying of boredom in high school.
It was truly the beginners language of choice
Great to reminisce what was now 40 years ago 👍🏻
Feeling old but also happy with the memories.
Thanks for this video! I love impressive programs in BASIC, and this certainly counts. I'll definitely be playing this game all weekend.
thanks, have fun!
My guy was Jim Butterfield because Commodore but I really appreciate Ian McTavish - that is quite a work of art - a very fun game in one page of Basic.
What a great story! I went through something similar a few years ago, when I was getting back into the Spectrum scene. I was a great fan of a recent PC puzzle game called "Knights", and I couldn't help thinking that it would translate very well to the Spectrum. So I contacted the developer, Arzola, for permission to make a Spectrum version. And I set about coding it in BASIC. After that, I used it as a springboard to learn Z80, and managed to re-code it that way. Great fun. I'm into the Spectrum Next these days. I've often thought it would be fun to try and enhance some of the old type-in games with better graphics, hardware sprites, etc. I think my favourite type-in game from back in the day was probably "Pixy the Microdot." (If you're curious to play "Knights" it's available on the Spectrum Computing site.)
Sounds great! I’ll have a look at it!
Well, that’s a fun little game. It’s amazing how after a short time, a person’s brain adapts to the jump controls. At first, had a hard time getting up in the second test on the block before turn around towards the red block. Now I breeze past. I appreciate your work in sharing and of course I appreciate Ian:) I’m glad he’s receiving the proper recognition now.
Yes, many people cannot make the first jump initially 😀
@@hotdogsoup-nl maybe it requires that you be over 40, lol. It’s kinda like Mario hitting a block on the way up and your good:)
Yes us old people know how games can be hard immediately without tutorials or explanations
I would add Mike Singleton to the initial list of greatest Spectrum programmers.
Definitely!
It's nice to see some kudos for someone and something that had so much impact and influence on you. I loved those tedious type ins as a youngster, I don't think I would be retro programming now if it wasn't for them and the great spectrum games of the eighties. Good video, keep it up.
Thank you! What are you currently working on?
@@hotdogsoup-nl you're welcome, I just finished a version of Manic Miner and I've been thinking of tackling Atic Atac for my next project.
Lovely stuff. I'm so glad Ian turned out to be a nice guy. It's always risky meeting your heroes!
I remember this from Sinclair Programs. Definitely one of the Very best they published. And well structured code. Perhaps Mr. McTavish could come up with w sequel to Mark the 40th anniversary.
Hopefully he will!
Wow, I checked Ian's channel, he has a good taste in music, and you can tell that he was a fellow raver back in the days :)
Did you subscribe? 😀
Oh, man, what a nostalgia blast! I was not aware of your iOS conversion (although I will grab a copy for my iPad ASAP) or your earlier video that I have now added to my watch list. But the video thumbnail with its _Dotty_ screenshot grabbed me by the memberberries like I've never been grabbed before. _Dotty,_ with its genius always-bouncing mechanic, inspired so many of my Spectrum BASIC dabblings back in the day it's unreal. I had C-15s full of bouncing ball games, bouncing spring games, bouncing robot games... all based around what I learned by typing in and debugging _Dotty._ I'm so glad to see so many similar stories emerging in these comments.
Something else that occurred to me (and I suspect this may have already been mentioned in comments elsewhere) is that _Dotty_ takes place in a series of chambers, with cubes and door switches and gridded walls, each labelled with a Test number, at the end of which the entity in charge denies the protagonist's freedom and sends them back to re-do the whole thing. Did Ian not only create one of the greatest BASIC games ever, but actually pre-empt some aspects of _Portal_ by nearly a quarter century?
OMG that insight is indeed amazing. I'm guessing Valve stole the whole thing from McTavish!
I typed this in and played the crap out of it too all those years ago. I remember from Sinclair Programs there was also two brothers who were very prolific and usually included short machine code routines in the BASIC listing as DATA statements that produced fancy sound or visual effects for their games.
Entered programs from 80 Micro and read articles in Byte, but don't remember a single influence in programming was just having fun as a young adult.
I think most programmed assembly. Machine code is using the hex values instead of things "JMP". Sometimes programmers will do that, micro's used some code to rewrite their own code. For example in 6502 you could have a 3-byte instruction like "STA &1234". Instead of just thinking of the address as a fixed value, you could use it to store a pointer instead... saves on the memory (as the data is now part of the code) and it is faster than indirect addressing.
I also think Karl Jobst should have a look at this record. Hehehe.
omg, i remember typing this one out and really liking it more than the others. sadly i never became a programmer. thanks ian.
Yes, one more person who typed-in Dotty back in the day! I am amazed there are so many of us.
Brilliant 😃
The song (hotdog soup) is so funny!
Thanks!
I am on the wrong side of the pond to have owned a ZX, and while looking at videos of the games it seems SO LIMITED even compared to a C64... GAWD I wish I'd had one
You can still get one today 😃
Quiksilva's Mined Out is my favourite ZX Basic game, I reckon... not a type-in, but a commercial release with loads of features.
Nice! I never played it I’ll have a look!
Oh, and 'Mooniron'. Awesome.
£50 in 1984 would be around £200 in today's (2024) money.
Not bad at all for a 14yr old.
Hell, yeah, you'd have felt rich with that sort of money.
i'm too young to be using ZX Spectrum at any point in my life, but i was playing elite (the original '84 version) on an emulator and it left an impression on me, not because it was mind blowing to me by itself (it was late 10s so we already had portal 2 and my most played game at the time, FSX, because i (was? am?) a sim nerd and that's how i found elite) but because it was otherwordly different from the games of its time
first i thought "it's about david braben isn't it" then i remember watching Alexander the ok's video about elite (by the way, he has a spectacular channel and i recommend everyone who's interested in space and human achievements in general a watch, my fav video of his is about space shuttle program) where he told that elite was developed for BBC Micro (and ofc it was written in assembly, have you seen the thang (both BBCM and the game itself) it's too huge for basic)
then i watched 2 seconds more and you said the name lol
so anyway, funny video and i don't know why but from the first couple of seconds, without seeing anything else, without checking the channel description, i felt that you're dutch
i don't know if it's the accent, or the similarity to Posy or the love for the color orange or the cadence of the speech but it's not like i thought "they seem dutch", it just clicked in my brain
and i think that's pretty funny
great channel tho, i like it when people just can upload stuff and not worry about youtube being youtube
have fun :3
Thanks for your words and indeed I am Dutch but keep trying to improve my cheesy tulip accent. The fact that you did not immediately and without doubt knew I am Dutch is the best compliment :)
Also, just uploading stuff and trying to be myself is exactly what I intend to do, Finally someone understands me lol
Great story!
awesome, greets to all speccy users.
I remember my mum bought a spectrum game from a car boot sale back in the day from an indie developer. Or at least I think she said it was from an indie developer.
The game featured a caveman on a stone mono-cycle. The graphics and control was really good. The point was to speed run a side scrolling obstacle course jumping and perhaps ducking various obstacles. I've googled it, but nothing comes up. I doubt it was a BASIC game though because it was very good.
That must have been “BCs quest for tires” 😀
@@hotdogsoup-nl Dude, yes! That was it! I just looked it up and relived the memories. Thanks.
Machine code and assembly were always different. Assembly is the source code you enter into as assembler, which generates machine code. A monitor worked directly with machine code, some games were written entirely in a machine code monitor
I think the point he was making was the two terms were commonly interchangeable at the time. If you talked about machine code, everyone assumed you meant assembly because no-one coded in 0 and 1's directly.
Well, there were a few. I remember finding bit masking hacks for swapping machine code instructions (the actual 1 and 0) at runtime to change code while it was running.
Correct. Also: I was 12 so used the terms as if I knew what was going on.
@@richbuilds_com Not true. In those days a lot of us didn't have assemblers and wrote in machine code using POKE in a loop with DATA statements in a BASIC loader. At least in the earliest days and on the cheapest machines. Would've been different for professional Speccy programmers with more money but many hobbyists did it as I describe. Even so, I still knew the difference between assembly and machine code back then. I didn't ever write an assembler but I wrote several disassemblers. The speccy manual had all the opcodes so we could figure out the 0s and 1s to use directly.
@@andrewdunbar828 You did what's known as 'hand assembly'.
Assembler: Something that takes Assembly Language and turns it into Byte Code
Assembly Language: The Human Readable Mnemonics that represent the Byte Code (e.g. LDA 02 - Load the Accumulator Register with the decimal value 02)
Byte Code: The 1's and 0's the processor consumed.
(e.g 0010001 00000010)
Hand Assembly: The manual process of looking up Assembly Language instructions and converting them to their byte code equivalent.
Back in the late 80s I wrote a series of super janky arcade adventures in zx basic. Sadly they are lost to time now, I think.
Too bad :(
The most successful ZX Spectrum game written in Basic was Football Manager, given that it started a genre in which its namesake Football Manager XX (Add the year of your choice) is still being made and sold in the millions.
My brother had 3 games published in mags, and he got 50 quid for each one too. They weren’t anywhere near as cool that kangaroo game unfortunately! I should try to dig them out from the PDFs.
Anyway, fascinating story and looking forward to your upcoming vids. You have a sub from me. 😅
Thanks! It would be great if those games survived somehow 😀
We didn't call assembly language machine code back in the day. They were different things back then and still are now. Machine code was the binary and assembly was the text version that you turned into assembly if you were lucky enough to have an assembler back then. If you didn't have one like I didn't, then you wrote your assembly on paper and then went through the Speccy manual looking up the number for every opcode etc and wrote a BASIC program to poke the machine code directly into RAM. So yeah I programmed in machine code back in the day but I still knew what assembly was even though I didn't get an assembler until about a decade later (-:
You keyed in the hex byte values into a monitor instead of coding in assembler???? Hard core! 😀 Or did you create mc in memory using POKE statements if you didn't have a monitor program? I remember having a monitor program that let me enter hex code for very short mc code snippets but never really created anything worthwhile. (6502 was my first processor I learned about).
@@davy_K God no! The computer didn't natively understand hex. Did it in decimal (-:
The computer I learned machine code on didn't have a monitor, or a disk drive. Apple II had that but cost about 7x-10x the price of my first computer, also without a disk drive.
I also never wrote a whole game. Mostly playing with techniques to do things faster and routines I found disassembling games.
My first was Z80 and then 68000 though I did a miniscule bit of 6502 at school once.
I will say that in my experience, in books and magazines etc, the majority of references to non BASIC programs back in the '80s and early '90s simply referred to "machine code". An awful lot of programs, even some commercial ones, would contain a BASIC loader and invoke the USR statement (or whatever equivalent existed on each machine). The only time "Assembly Language" was mentioned directly was, unsurprisingly, when talking about using an Assembler program.
I always preferred the Sinclair Programs type in BASIC game 'Frolics of a Chucklebutty' as a better programmed game.
sounds like an awesome title!
I kind of wish you interviewed him in a video. The third person summary is slightly weird.
Maybe it's just me but I really like it when old school dudes get represented in video form.
Yeah I would have liked that too and I had to edit out some more info but hey, this is my way of thanking him.
I was thinking of Jonathan Smith. You were right.
He was indeed an epic programmer and games designer
@@hotdogsoup-nl Indeed. His story inspired me. I always wanted to be a game dev since the Atari days. Eventually I took the leap and I'm 15 years into game dev now.
I programmed on the spectrum back in the day. I made a few games, with battleships being a really professional game, but I didn't ever believe that people like me ever made games that anyone would ever buy. It was the college peeps who got to join software companies and al that after all. So I never sold a single one of them and it never went anywhere. I ended up making full screen art instead, and that transferred into digital art as time went by, though I'm not a programmer any more.
I do wish I'd met anyone who wanted to make games with me back then. I still want to make games and am involved in indie projects every now and again, but haven't managed anything as it's all very different now-a-days.
Didn’t you offer your game to publishers back then?
@@hotdogsoup-nl Most games were published by the companies who made them back then. It was a relatively small industry, so big publishers weren't really a thing. There were perhaps one or two small companies who acted as publishers I think, but they evolved from companies which made their own games initially, and probably wouldn't have even accepted games produced by bedroom coders who hadn't even finished high school.
I do wish someone could have been there to tell me that I didn't need a degree in programming, or anything thing else, other than a good game.
It's literally only looking back that I realised that there were a large number of bedroom coders, a lot like me, with a real enjoyment out of making games, and in learning to make better games, and someone to give me confidence to send my games off to big software houses would have really changed my whole life. I'd have sent my stuff to Gremlin, or Imagine, or any of the others if I had some self belief, or someone had helped me understand they weren't all college educated too.
I even learned to hack early games, like the games on the tape we got with our Spectrums, like the bat 'n' ball game, so that the bat followed the ball automatically, so I never lost a single game after that. I feel like I had a huge amount of wasted potential as I never ended up making games for a living, or involved in game dev in any way until about 10-15 years ago again.
On the one course I was on after school I was the only trainee who could make pixel art to a professional quality, so that out of all of us, I got to make graphics for inclusion in a presentation that went out to a lot of sister training organisations over the whole of Britain, and got to visit an animation and business graphics expo alone out of all of them.
@@Spacecookie- In guess now is the time then, to start doing what you wanted to do back then :)
@@hotdogsoup-nl I wish. I haven't done any programming in all the intervening years. My life isn't really in a position where I can sit down and learn to program all over again. It's just a dream of what might have been which remains with me now.
Sorry to hear that! Take it easy and maybe you can sometimes have a try.
Adding a timer at the end to show how long you took would be an awesome addition!
Yes the actual game has a built in timer but I forgot to start a speed run and started a normal game instead 😬
Wish this was still a thing. It would be great for kids to have magazines with some simple python tkinter games. Most learning material for kids is block code and concepts. I loved how basic programs had you programming before you knew what programming even was. I have been teaching my kids how to make click based games. We have been finding text based adventure rpg games we like. It's to hard for my eyes to read walls of text so we use tkinter to give everything buttons and dialogue boxes. You can create a dark mode as well so that helps a lot.
Yes I was reading books about basic before I even had a computer. Just fantasising about was amazing to me.
Hi, greatest QBASIC Programmer of all times here, though I switched to C99 many years ago..🖐
😀
Ok you've won me over great video enjoyed it would love to see you at crash live event in Kenilworth ,Retro Robbins
Thanks! That would be awesome but I live in The Netherlands as you have probably guessed from my accent 😇. Maybe one day :)
@@hotdogsoup-nl I am part of the crash magazine team fusion retro books , and now Ben quite well
Rockin'! I used to really enjoy the 1982 arcade game "Kangaroo" th-cam.com/video/zNJ8KiYGxzA/w-d-xo.html
I'd say the closest similar game to Dotty was 1983 "Jumpman" th-cam.com/video/AcyBlxTzhYs/w-d-xo.html
The game I most enjoyed was 1995 "Jumping Flash" with Robbit th-cam.com/video/WRD5whY9Hs0/w-d-xo.html
Now he looks like Bruce Willis !
He sure is as famous as him.
cool content
Thanks!
The best Speccy programmer was (no doubt) Costa Panayi.
Joffa Smith??
Inaflap don’t take Ian’s 15 minutes of fame away from him 😂 let the man have his time on the small stage. Everyone knows football manager was great. But Ian was 14 when he wrote dotty. Just flicked through the magazine September 1984 and sure enough it’s there. Very clean code too.
I've started with Sinclair spectrum as well... Still doing software today...
Awesome!
I think there's a difference in between the terms 'App's', 'applications' and 'programs'.
-'Apps', as the new world term, primarily used for the software people use on mobile devices using a runtime environment, like Android's ART or Microsoft's NET. It's inferior software, as programmers make their job easier by using the access to a huge amount of premade functions at the cost of performance, resource usage, complexity, and often overall software usability and quality, which comes at cost for the users. Opposed to real software which always is native. Yes: Apps suck!
-Programs are anything that anyone programmed ever.
-Applications are all programs that neither are games nor 'Apps' as described above.
We meet probably 1000 people thay we touch in some way. Likely much more than 1000. We are in fact 2 persons away from touching a billion. Crazy, isn't it?
Amazing!
Is your reprogrammed Kangaroo code also concise, comprehensible and playable?
Nope
Ig88. Vintage 12 inch?
I'll have to find the program and type it in. I dove into basic and my conclusion was "must learn machine code".
I avoided machine language like the plague for years lol
Yes an IG-88 and a vintage Out Run 12 inch of the official Out Run arcade music :)
.. hotdog soup1? lol ok subscribed.. why not.
That’s the best reason to subscribe
are those type in listings saved anywhere on the internet? If only Sinclair Programs had cover tapes
A lot of them can be found as TAP files if you search the title plus TAP. Here's a list: www.users.globalnet.co.uk/~jg27paw4/type-ins/sincprog/sp_names.htm
Hey, I‘m one those 8x8 pixel ladies. Remember me, wanna go out for a lunch?
Sure I’ll bring the 8x8 pixel strawberries
Wasn’t mctavish the name of the character from COD,
even got the soy face emoji in the intro. love it!
haha well done, most people think the mouth is a nose so you're already one step ahead!
I started as a 12 year old on the good old speccy. Basic games eventually with custom character sets, "multi channel" sound etc. Here I am now at 54 still keyboard bashing and coding. The Speccy is responsible for an awful lot of nerds! Still writing compact code and none of this "minimal viable product" nonsense
Hahah move fast and break things, ship often and ship early.
@@hotdogsoup-nl I hate that way of working. Lets dump some half finished software onto our users, charge them a fortune for it, and they can do our beta testing for us at no cost to us. The code is always bloated. Not one of those guys could code on the kit we had back in the day. They would use all the memory just displaying the about page!
@phoenixmotorsport647 indeed those were the days!
Hoi landgenoot! Is het mogelijk om de basic listing te zien van deze game? Ik ben na 40 jaar weer in basic aan het programmeren en deze game zou een goede leerstoel kunnen zijn.
Hoi! Hij staat op deze lijst als TAP file: www.users.globalnet.co.uk/~jg27paw4/type-ins/sincprog/sp_names.htm
lol, i naively tried to program a knightlore clone in basic...
That would be an extraordinary feat!
Was Transylvanian Tower not also written in Basic? Great game as well!
Yes indeed but it was gruesomely slow. Another nice example is QuickSilva's Mined-out and more recently, "Rompetechos" from 2016 by IvanBasic :)
Does anyone else find it odd that the game, which presumably puts you in control of the titular Dotty, labels the 'lives' counter 'men'?
Yes that is an oddity indeed :)
I think the answer to this is in the video… Ian first attempted to create a Manic Miner game in BASIC, but made an error with the code, so the character (presumably initially intended to be a man) would jump on its own. Ian turned this error into a feature, and the man became a kangaroo. I guess he either forgot to rename ‘men’ to ‘kangaroos’ or didn’t have enough room for the longer word!
In the late 70s/early 80s it was common for video games to use the word "men" instead of "lives"
Joffa is the goat programmer
But is he also the goat in BASIC? :)
@@hotdogsoup-nl not sure about basic but that dotty game was really cool and ran nice and fast. When I make basic games that run slow nowadays I can just increase the speed of the z80 in the emulator. Great video btw 👍
Did you ever write a ZX BASIC program?
only C64 basic.. and it was bad
I used to write all kinds of completely useless programs back in the day. The only notable one I ever wrote was the George Best Deathbed Simulator, which won the comp.sys.sinclair Crap Games Competition in 2005. It wasn't even a game really, as there was no way to win it. I wrote it as a joke because of something that someone said on a ZX Spectrum-related IRC channel.
Haha that’s great! I own that issue of YS actually
Used to have a C64 too!
@@hotdogsoup-nl Now why would you volunteer to share such embarrassing information about yourself?? 😂
Isn't Valhalla written in Basic ? And Don Priestley's Dictator too ?
Don’t know I’ll check them out!
Yeah, Dictator is a BASIC program (and pretty good fun). Quite a few simulations and strategy games like that were written in BASIC - there's a couple of election games around like that, you pick your party, and policies etc.
Valhalla is a mix of Basic and machine code
So, does he still make software? The picture of him doesn't scream "software developer". It has more of a "working in a bank" quality to it, but you should never judge by the look.
He is happily working in health care, I accidentally edited that out
@@hotdogsoup-nl Is he working in healthcare IT or something else entirely?
wait ? captain mactavish ?
No, the other one
Seriously for a BASIC game you think this was better then 'Splat!'? Even after things like the Monty Mole series came out Splat! was quite addictive and if you did manage to crash it you knew it was written in basic with some simple loader protection.
that was a great one too!
Are you a software developer i have an app idea where
I’m an iOS and macOS developer
where?! where what? Inquiring minds need to know!?
I had an acorn electron........the zx spectrum was a better machine overall.....it ran faster allthough the electron had 6502 assembly it was still slow
No. In real terms, the 6502 was 'quicker'. But the Z80 was more capable.
The Z80 would generally be running at a higher clock speed than a 6502 and it's derivatives, but clock for clock, the 6502 was generally faster. But as with computers today, there is more to it than CPU speed. The Acorn Electron was in many ways technically superior to the Spectrum, it just came out too late. Crucially, it wasn't actually compatible with software for the (very expensive) BBC Micro, and many people had been expecting a cut price BBC.
@another3997 they worked out that a z80s performance is roughly 20% higher than a 6502........in the electron it was clocked almost at 2mhz ,but it was restricted with memory access that put it on par with a 1mhz 6502 computer...the high point of the 6502 was it's cost and it's instruction set which it could sort of pipeline numerous instructions per clock that almost keeps it up with a z80 which was 1 instruction per clock that's why the z80 was faster overall.....allthough a bbc is 2mhz.. the z80 at 3.5mhz could run than a c64....the speccys ...clock speed......and the bbcs clock speed.....if the speccy could clock instructions 20% (there abouts) more than a 1mhz 6502 how much faster was a bbc clocking at 2mhz be faster than the speccy
A 3.5mhz z80 is better than a 1mhz 6502,how ever a 2mhz 6502 is about 60% faster at instruction than a 3.5mhz z80
Whatever the 6502 fans say, it was still a terrible part with an atrocious ISA that only made headway in the market because it was cheap.
FYI Assembly and machine code are two different things entirely. We use assembly language to write our code using mnemonics and that code is "assembled" into machine code by an assembler. The two terms are NOT synonymous!
You really need to add the words "in my opinion" to the title of this video since it is subjective and opinions vary.
Yes they are different but I was twelve back then so used those words interchangeably :)
I'll confirm that most magazines, plus many books and manuals back in the day, simply referred to "machine code", unless talking specifically about Assembly Language or an Assembler program. Many BASIC programs had a "machine code" subroutine. The term was used generically to describe code that bypassed BASIC or whatever high level language was supplied.
Pixie the microdot was better :)
Great video Martin and you have a new subscriber in me! I was wondering if you have a working .tzx or .tap file of the original Dotty? I'm not an Apple guy but would love to play it via Speccy emulation, but noticed World of Spectrum only has a link to the original BASIC magazine listing and not the game itself. If not, do you remember if there were any errors or typos in the listing? I may take the time to type it in, could be a heck of a nostalgia hit =)
Hi, you can find the .TAP file on this page: www.users.globalnet.co.uk/~jg27paw4/type-ins/sincprog/sp_names.htm