The galaxy isn't *randomly* generated, it's *procedurally* generated. The systems and planets are the same every time you load up a new game, they're not randomised.
Glad you like it. Thanks for the interest! I might consider open-sourcing it at some point soon, but I need to do a major clean-up of the code first :-) It's too embarrassing to release at the moment ! In the meantime, you can download the exe if you want to have a play: go to my channel, click the link to the University of Nottingham website, and scroll to the bottom of the page. Cheers Richard
This is a really great video for an old-timer (gamer/programmer-wise) like me. There was a certain magic about the early days of video games and home computers in general.
The thing I love about Numberphile and Computerphile is the enthusiasm of the people we see. They take what might be a boring subject and light it with the brightness of their eyes.
You are 100% right about how kids these days are less likely to be exposed to programming due to the levels of abstraction. I discovered programming in high school when a mate gave me a copy of Gorillas in QBASIC and I saw all these lines of text underneath that were clearly making things happen. I changed a few lines of text here and there to see what would happen and messed with things until I broke it and then just reloaded and did it all again; I've been hooked on game design ever since.
This is the one game that changed my entire life! This game was more than a game for me at the time in 1984. I played this game night and day on my Commodore 64/64c. Every space sim I ever played since then basically copied the format of Elite in one form or another. I compare space sims even today by the "Elite" factor. Most excellent game ever. I am well pleased that the game is coming back out in a new and improved format. The sequels that have followed haven't been as good as the original, but the "Elite: Dangerous" really looks stellar and have some high hopes.
I think programming is easier now than ever. The tools and communities are what make all the difference. Majority of the indie games out there wouldn't have made it past the drawing board without communities like gamedev.net, a place where you find beginners and experts openly sharing their knowledge and brain power. The tools have gotten to the point where there is a specific tool for any task you may do as a programmer, even things like formatting the code so that it looks pretty.
Nothing embarrassing about the title "Aurena". It's science fiction and it actually has some reasoning behind it. Embarrassing would be a name like, LORD XENU, CONQUEROR OF THETANS!
Elite was a good game still in 1992 on PC, not because it's graphics, but diverse gameplay. There was action and exploring and trade and collectibles and skill (I loved docking:)
I'm pretty sure we had this on the Amstrad...those wire frame objects...yeah, it definitely was this. I was born in 1980, so I was very young at the time, but I definitely remember those shapes spinning past me, trying to blow me up! I loved this video. That guy has inspired me to look further into programming and learn more :) Thank you guys!
How cool - I well remember playing Elite on BBC, Electron, ZX Spectrum and Amstrad CPC. Aurena was certainly quite an impressive feat. Thanks for sharing Richard.
For me, it was the TRS-80 model III computers that I programmed on as a kid. I wasn't drawn into it through games as Sean was, but I loved how clean and logical the systems worked. Everything made sense, and you just had to puzzle out any problem you experienced. The computers have come a long, long way since those early days, for better or worse.
I don't care what anyone says, the bbc 'b' version of elite is the best one by far. there is something engrossing and slightly terrifying about the stark, minimal graphics when an enemy ship appears gradually on your screen. despite being a 'better' machine, when I saw elite on my cousin's Atari st I thought it looked totally naff.
nice video! I never knew that the universe in Elite was procedurally generated, I even recognized the planet names ;). One of my favorite games, Star Control 2 (which came out in 1994), also has an entirely procedurally generated universe, even down to the planet's surface textures. I started programming on the commodore 64, which I got when I was 9 :).
I'd say more the prequel to games like EVE, Wing Commander, the X-Wing and Tie Fighter games, etc. Not to mention Elite 2 and 3, and Elite: Dangerous which is currently in production after the Kickstarter went through. Spearheaded by David Braben even. But I'd say just about every spaceship sim owes a lot of its heritage to Elite. Who knows how many hours I lost to that as a kid on both the BBC Model B and the Amiga. :)
Blast from the past. I also spent 1000's of hours playing Elite. Back in the day it really was mind blowing! This was the time when I became hooked on Computer games and also my introduction to writing code, first Basic then eventually Visual Basic on the PC I still have all my old computers in the loft at my Mums house. Acorn Atom, BBC-B, Amstrad CPC6128, my Apricot 386 with DOS 5 and eventully upgraded the RAM to be able to run Windows 3.1 after that the PC industry boomed in a big way!
I first played Elite at school on the BBC in June 1988. It blew me away. I bought it for my Amiga A600 in April 1992 and still play it on my Amiga. Amazing.
That is how it works. The cassette is an audio storage medium, and the audio on the cassette just happens to represent data instead of music. The computer in this video really does use the audio output on the cassette player to load the game. You could record the cassette to a WAV file and then play that from a portable digital music player. It would work.
it was around 7 minutes to load Elite, I think. This game was the inspiration for my module in computer graphics. I wrote a 3D engine from first principles using best line algorithms through to phong shading. I used the models from Elite to show scaling, translations, line drawing, back face culling, flat shading and phong shading. The only SDL I allowed myself was the ability to put a point on the screen. Everything else was programmed by hand to show the principle behind the mathematics.
Wow, that brings back memories, The BBC was what the schools in my part of the UK had, I was a Vic 20 owner, most my mates had ZX81's and a lucky few had Spectrum's.
I'm a computer scientist who graduated in 1979 I have iteratively enjoyed two projects. One is a bootstrapping LALR parser for BNF. The other is a Go board. (I used to program Conway's game of Life until I discovered Golly.) I worked on each of these projects in C, Perl, Python, and now Ruby. I skipped Java, but I've professionally programmed in Fortran, PL/1, Perl and Bourne Shell. I did not do object oriented programming professionally, but I've taught myself as a hobby. Brady Rocks!!
Having a small (or one person) team being a technical limitation, one could see the wider success of indie games in recent time being at least partly a consequence of this feeling. For example: one developer, all details and no deadlines equals a modern masterpiece in the making, Dwarf Fortress.
I am a programmer as well and I .. as well.. write my own games everynow and then it was a bit touchy to hear Richard talking about his story.. he must be a brilliant programmer.. writing your own games is probably the best way to learn good programming.. because it gives you motivation to write the code.. fast efficient.. .....fff it sucks when nobody play your games though.. :)
I had a ZX Spectrum when they first came out -- first I had to wait until there was nothing on the television that my parents wanted to watch, then plug the computer in, re-tune the TV to the signal, connect a cassette recorder, and set it away. There was plenty time to put the kettle on and have a cup of tea while it booted. All this for a sort of tennis where a white square moved around the screen and bounced off the white lines (the bats) that we moved up and down at the sides. Great fun.
I'm working on uploading the executable somewhere now, so you can have a go, as long as you realise it's not a fully fledged 'game' ! I'll pass the link on to Brady. Making the source code freely available is a bit more of a stretch for me - I'm kind of attached to it! I also still have one thing I want to do, if I ever get the time: incorporate special relativity (time dilation, length contraction etc) :-) But, maybe I'll think about uploading the source at some point... Richard
You can do that if you have a PC at hand. I think the original objective was to use an mp3 player as an input to the bbc computer. In today's market mp3 players readily available, whereas cassette players are legacy equipment. As someone here pointed out you can make your own player for your binary so that you can use your sound hardware to play it to the bbc computer.
I think that you're trully right considering a computer approach to it. But I have been trying it as a trained musician with studio experience, I maintain my Statement.
Running Linux in text mode might be good for distraction-free programming. You can use lots of languages with it, as you can access C and many more compilers and run C and many more languages' code from it as long as you don't require graphics.
Wow! Thanks for including the game in the description. I've always wanted to create my own games and for about a year now I've been trying to learn OpenGL with a fair bit of success but I still don't have anything that would be considered a game. Hopefully by fiddling around with yours I'll be able to make some real progress towards my goal.
14:15 - how do you start learning to code? The answer is - open your browser, open a page, and click "Show Source". Tada! Strange to say it, but browsers are the BBC Micros and Spectrums of today. HTML and JavaScript aren't the most beloved of languages, but they're still a lot more elegant and powerful than BASIC! It's a pretty decent place to start kids.
The procedural algorithm that was used to generate the Elite galaxy was covered in a book "Backroom Boys" by Francis Spufford. The chapter covering this was covered in a preview in the UK Guardian newspaper, which you can find if you use an internet search engine. Well worth reading if your interested in learning how these things work at a layperson level. A forerunner of algorithms we use today for Minecraft and other games used on PCs/consoles to build trees and landscapes to save disc space.
He explained it in the video, different frequencies represent 1s and 0s. The computer listens for the frequencies for a set amount of time then records the 1 or 0 when appropriate.
basically the main thing the modern engines/gamedev toolkits do is provide structure. so instead of writing a behavior script for entity, and then writing the code that will load and assign the script to the correct object, and hoping you got all your IDs right, you just click the object in level view, open its "scripts" window, write it there, and let engine take care of the loading and assigning. same for shaders, materials, sounds, textures, models, etc.
I just about remember my father's Acorn Electron when we had it in the early 1990's, I always used to be fascinated in how audio cassettes could store computer programs. Really not enough credit goes towards programmers before computers became powerful enough that programmers no longer had to specially code around hardware limitations to create amazing games like the original Crash Bandicoot games on the Playstation one.
Inspiring video and actually your game looks both slick and has a cool title! I remember seeing Elite on the Beeb in the computer club in my secondary school. It looked unbelievable, and it's still mind-boggling how they crammed a whole universe into such a small space. Though at the time, it was amazing for being so cutting edge and a window into what computers could do with their (for then) amazing technology, and it's only in looking back that we try to measure the achievement, like watching a child walk for the first time. What I love about Elite is the philosophy behind it, of a future universe that is still as full of personal choice as our own. Something very '80s about that, Seeing how far we have come and also how far away from programming ourselves is a little sad. I feel so much is automated or on tap nowadays, we're a lot less involved in it, from choosing what to watch to playing games, we don't have the same feeling of being caught up in the middle of a revolution. Maybe I should try tinkering with a Raspberry Pi or something to get back in the driver's seat.
You... are not... alone. 😁Elite on the Commodore 64 and Wolfenstein 3D on the early PCs were the two bits of software I and my friends couldn't believe existed. PLUS they were tons of fun.
there was a documentary about this game in history channel around 7 years ago. I liked it and now its great to watch it again. also now I know how magnetic tape in computer worked. you just have to use an ordinary recorder and plug the audio into computer.
Lots of people are getting into programming and electronic logic through Minecraft, now! Vanilla redstone helps teach very fundamental electronic logic, mods like RedPower teach how to use discrete logic gates together to achieve a result, mods like ComputerCraft teach lua programming (with an in-world effect, rather than just a vague numbered output result) - all in an environment that doesn't really punish you for not learning something quick enough.
Good point, some modders (like Eloraam, SirSengir, Alblaka, GregoriusT, Spacetoad and many more) have made more content and changes to the game all on their own than the entire Mojang team combined. The only one of those mentioned i can think of that isn't working alone is Alblaka but even he started out alone. The most interesting games i have played have been those made by devoted developers who care for their games rather than some studio who is in it for the money.
I used to play it with my brother on my dads BBC Micro B in 1984 I was 10 at the time, I played elite on every computer I owned and loving Elite: Dangerous
If games didn't constantly increase in size accordingly, it would definitely be possible. I remember when the Playstation came out and - being an SNES owner - I compared the capacity of SNES-cartridges to that of the emerging CD-ROM standard. Games that seemed huge to me would occupy 1% of a CD; the possibilities blew me away. Of course it didn't go that way. The added capacity was use mainly for improved graphics and audio and the games' complexity remained fairly similar.
I just finished yesterday my assignment for Computer Organization and Programming course and it was a simple board game that lets you enter input and displays the output (no moving graphic sadly), with a user interface and a time limit, but written entirely with PDP-11 assembly code (or instructions if you like), running on an emulator made by the course team =) only about 1300 lines including comments and explanations!
Great video, i still have a working BBC and elite on floppy in my loft, it is amazing how all of that squeezed into 32k of memory. Shame you never fully got your game off the ground, I've just downloaded it so will have a quick play.
Original Elite!!! So much nostalgia! So many hours exploring, trading, fighting off pirates, being a pirate, fighting off police, scooping solar rays, scooping cargo...
Technical (and thus game design) limitations made games of the past so engaging. There was an attention to detail that I feel is missing in modern games. It's not an inevitable consequence, but with modern development paradigms and deadlines, there's probably a tendency to create shallower games.
Your experience mirrors my own in a lot of ways. For me it was the Atari 400 with a B-key keyboard. I wrote in BASIC and 6502, though Atari's Macro Assembler made it much easier to write 6502. And the Atari had a compiler for BASIC that made it smaller, faster. For one BASIC app I used all 32767 line numbers, with 255 length lines. So part by part I replaced the the BASIC with 6502. Next I wrote on the Amiga in 68000. Dino Wars first, then Bill & Ted's Excellent Adventure. And that was it!
If you knew BASIC before, then it should be fairly easy to get back into it. It is BASIC after all :P I remember I quit programming all together for several months. The first programming to "break my fast" (if you will) was written in VBS (Visual Basic Script). It was fairly hard to get back into it, but it was well worth it. Just because you quit for several months (or years) doesn't mean you can never do it again.
Yeah, network protocols usually use error correction and such to confirm that the data recieved is correct. In some systems, you can recover the original data if the number of errors weren't too large. But it takes more bandwidth to do that, because you're sending extra bits.
An open world space combat/trading game, bigger than any modern AAA game like GTA 5 or Assassins Creed Valhalla , that had a combat system that was just as sophisticated and fun...and they got it to fit into a file a quarter the size of the average JPG, that ran on computers that had the processing power of a toaster. :o It was like someone building an Iphone in the stone age.
Couldn't agree more. Distribution is the easiest ever. There's room for improvement in exposure, especially on consoles, but approachable small reviewers and LPers mean well liked PC titles can catch attention without a marketing department.
I once walked out of school with one of those BBC's and the monitor that weighed a ton. I really can't remember the circumstances that led to me taking one of their computers.... ....I'm fairly sure I didn't steal it.
My first attempt with BASIC programming was a visual game using the ZX81 lent by my uncle. You can't imagine the pride I took watching the little dot crossing the screen. With 1 ko, that was my first class on efficiency and concision.
I haven't dabbled in 3D graphics really, but my advice is to try to program a rotating cube using various tutorials of portions of the project from around the internet. If you do this instead of following a tutorial directly, it's much more educational. And when I say "portions" I mean maybe combine "How to render graphics" with "How to do wireframe" and "How to rotate 3d images" into a rotating cube by yourself, it works wonders!
Elite was fabulous! Evochron Mercenary is a good "heir" to Elite IMO: practically a one man job, huge universe with solar systems and planets you can land on to. The whole game is packaged in unbelievably small space (for modern games) of about 180MB. By the way, Aurena looks nice. It just lacks proper Nvidia Surround support :)
I remember playing elite on my amstrad cpc. I played one night through getting my character to a rank of deadly (one before elite) before the game crashed. I had no save game since i only soft saved: saving it to tape without any tape in the drive. The game would remember where you saved and start from there when you died.
Yeah, good point about the recent surge of small Indie games, nearly forgot about that (haven't been gaming myself in a while). I'm also glad that Kickstarter allows passionate developers and gamers to circumvent the traditional economic model of the games industry that led to so many rehashes and dumbed-down mechanics.
I saw this a while ago, but earlier I found out about a mod for Minecraft called Computercraft which adds a bunch of computers and peripherals that you can write code for in lua. It just reminded me of the bit in this video about homebrew game programming. It's pretty damn awesome and I've spent the last 2 or so hours playing around with it. My Minecraft house is now in the 21st Century lol. :)
I'm surprised that loaded, with that amount of distortion in the audio data. I had an Atari 800XL that if there was even a sight imperfection in the playback you had to start over again, major pain in the arse.
I started coding when I was 12, for the exact same reason. The pool game I had, I just had to make a better version of. I "invented" my own 3d/2d transforms etc. etc. I put quote marks as obviously, the math was already in books I had no clue about.
A word of caution about starting up the old BBC micros. The power supply capacitors may have dried out so get 'fried' when you switch on as mine did recently. Fortunately I've 10 more to fall back on. As for programming the musical rondo of 'DARE DEVIL DENIS' was a brilliant example of an interrupt routine.
It's just two frequencies. One frequency at a time. MP3 is mostly about dropping frequencies that cannot be heard. So I think that could work. You can even make your own encoder that ensures it will be played back correctly.
Having also bought it in alpha, I agree. I'd venture to say much more work and exciting progress has been made by indie coders writing mods than the actual Mojang team.
Yes, FLAC = Free Lossless Audio Codec. The compression factor is a trade-off between speed of compression/decompression and file size (bigger files are slower to encode/faster to decode, and vice versa for smaller files). And while they should be bit-perfect, it just seems smarter to transcode the cassette to WAV. It's wrong of me to say FLAC is lossy, but I stand firm that WAV would be a better archival choice for game data.
Actually I *thought* I had it, but the display bagged to differ. The problem was something about the z-buffer. Objects didn't intersect they way they should have. The course was divided into small exercises, one building on top of the other. For every exercise you where allowed to use the proper solution of the last one to build your new solution on. The funny thing was: ...
Continued/ in the past mac's only were good at 2 things, photoshop and sound editing because of the nature of the Mac's IE the mac monitors (closed system pc) which are synced/color calibrated making it ideal for photoshop for printing press but mac couldn't handle cpu intensive programs like 3D rendering but again, that was 20 years ago, and the stigma of that era where mac had an advantage over windows is still around I could go into more with todays tech, but comparisons are so trivial
Citation please, because as far as I know, FLAC has no "lossy" setting. It has a "compression strength" setting, but that only influences what strength of the redundancy search algorithm it employs (and thus influences compression time). Regardless of this setting though, the reconstructed output is always bit-perfect with the original input.
Apart from programming exercises during classes in ANSI C, Java and Haskell one of the only functional things I ever programmed was a mandelbrot/julia fractal program for my TI-83 graph calculator. Man that thing ate up most of the batteries just calculating one crude fractal but it was pretty fun to do in the limited version of basic it was using =)
actually you can. I just found out about this the other day, coincidentally. you can get a RamDisk program (I'm using Radeon RamDisk) and it will take a part of your RAM and partition it like a drive. you can drop games in there and they run absurdly fast. much much faster than on an SSD even
Of course one would. Virtually every game today started with someone typing C++. The only thing is that it doesn't take just one person, it's several. One can use third party libraries or not, depending of what you're aiming at, what you have already and for what money in what time. In any case, there will always be C++ coders doing coding, if only for the gameplay.
The original authors of Elite just had a successful Kickstarter campaign to create a new version of the game. I can't link to it here, but just search Google for "elite kickstarter" and it comes right up.
guys, you are confusing some bits here. Old macintosh computers had their own processor called powerpc. it had its own structure and the mac os was the only operating system for it. But in 2006 they switched to intel processors, so basically from that point on they are pcs, just with a different operating system. it even has a boot camp where you can officially install an additional operating system. Hope that clears it up.
The galaxy isn't *randomly* generated, it's *procedurally* generated. The systems and planets are the same every time you load up a new game, they're not randomised.
I remember Elite, I spent hours and hours. It was amazing at the time. Your imagination filled in the gaps!
Anyone else currently playing the new Elite: Dangerous btw?
Glad you like it. Thanks for the interest! I might consider open-sourcing it at some point soon, but I need to do a major clean-up of the code first :-) It's too embarrassing to release at the moment ! In the meantime, you can download the exe if you want to have a play: go to my channel, click the link to the University of Nottingham website, and scroll to the bottom of the page. Cheers Richard
Thanks, yes I'm a backer of Frontier's Elite Kickstarter myself and am eagerly waiting for the release :) >Sean
This is a really great video for an old-timer (gamer/programmer-wise) like me. There was a certain magic about the early days of video games and home computers in general.
The thing I love about Numberphile and Computerphile is the enthusiasm of the people we see. They take what might be a boring subject and light it with the brightness of their eyes.
You are 100% right about how kids these days are less likely to be exposed to programming due to the levels of abstraction.
I discovered programming in high school when a mate gave me a copy of Gorillas in QBASIC and I saw all these lines of text underneath that were clearly making things happen.
I changed a few lines of text here and there to see what would happen and messed with things until I broke it and then just reloaded and did it all again; I've been hooked on game design ever since.
This is the one game that changed my entire life! This game was more than a game for me at the time in 1984. I played this game night and day on my Commodore 64/64c. Every space sim I ever played since then basically copied the format of Elite in one form or another. I compare space sims even today by the "Elite" factor. Most excellent game ever. I am well pleased that the game is coming back out in a new and improved format. The sequels that have followed haven't been as good as the original, but the "Elite: Dangerous" really looks stellar and have some high hopes.
This program is actually pretty impressive for being a coustom software graphics engine written by just one man.
The first game to teach me....ALWAYS SAVE YOUR GAME! I learned that lesson with tears.
I think programming is easier now than ever. The tools and communities are what make all the difference. Majority of the indie games out there wouldn't have made it past the drawing board without communities like gamedev.net, a place where you find beginners and experts openly sharing their knowledge and brain power. The tools have gotten to the point where there is a specific tool for any task you may do as a programmer, even things like formatting the code so that it looks pretty.
Nothing embarrassing about the title "Aurena". It's science fiction and it actually has some reasoning behind it. Embarrassing would be a name like, LORD XENU, CONQUEROR OF THETANS!
Elite was a good game still in 1992 on PC, not because it's graphics, but diverse gameplay. There was action and exploring and trade and collectibles and skill (I loved docking:)
I'm pretty sure we had this on the Amstrad...those wire frame objects...yeah, it definitely was this. I was born in 1980, so I was very young at the time, but I definitely remember those shapes spinning past me, trying to blow me up! I loved this video. That guy has inspired me to look further into programming and learn more :) Thank you guys!
How cool - I well remember playing Elite on BBC, Electron, ZX Spectrum and Amstrad CPC. Aurena was certainly quite an impressive feat. Thanks for sharing Richard.
For me, it was the TRS-80 model III computers that I programmed on as a kid. I wasn't drawn into it through games as Sean was, but I loved how clean and logical the systems worked. Everything made sense, and you just had to puzzle out any problem you experienced.
The computers have come a long, long way since those early days, for better or worse.
I don't care what anyone says, the bbc 'b' version of elite is the best one by far. there is something engrossing and slightly terrifying about the stark, minimal graphics when an enemy ship appears gradually on your screen. despite being a 'better' machine, when I saw elite on my cousin's Atari st I thought it looked totally naff.
maniq minah me too i always wanted the co processor elite on beeb
nice video! I never knew that the universe in Elite was procedurally generated, I even recognized the planet names ;). One of my favorite games, Star Control 2 (which came out in 1994), also has an entirely procedurally generated universe, even down to the planet's surface textures. I started programming on the commodore 64, which I got when I was 9 :).
You can feel more proud of Aurena than you seem to be, writing your own graphics engine is pretty cool!
I'd say more the prequel to games like EVE, Wing Commander, the X-Wing and Tie Fighter games, etc. Not to mention Elite 2 and 3, and Elite: Dangerous which is currently in production after the Kickstarter went through. Spearheaded by David Braben even. But I'd say just about every spaceship sim owes a lot of its heritage to Elite. Who knows how many hours I lost to that as a kid on both the BBC Model B and the Amiga. :)
Blast from the past. I also spent 1000's of hours playing Elite. Back in the day it really was mind blowing!
This was the time when I became hooked on Computer games and also my introduction to writing code, first Basic then eventually Visual Basic on the PC
I still have all my old computers in the loft at my Mums house. Acorn Atom, BBC-B, Amstrad CPC6128, my Apricot 386 with DOS 5 and eventully upgraded the RAM to be able to run Windows 3.1 after that the PC industry boomed in a big way!
I first played Elite at school on the BBC in June 1988. It blew me away. I bought it for my Amiga A600 in April 1992 and still play it on my Amiga. Amazing.
As a programmer myself, I really appreciated this video! Great vid, Brady! :D
I saw an excellent talk by David Braben at Dare Protoplay 2011. Pretty sneaky ways of compressing down the data.
That is how it works.
The cassette is an audio storage medium, and the audio on the cassette just happens to represent data instead of music. The computer in this video really does use the audio output on the cassette player to load the game. You could record the cassette to a WAV file and then play that from a portable digital music player. It would work.
it was around 7 minutes to load Elite, I think. This game was the inspiration for my module in computer graphics. I wrote a 3D engine from first principles using best line algorithms through to phong shading. I used the models from Elite to show scaling, translations, line drawing, back face culling, flat shading and phong shading. The only SDL I allowed myself was the ability to put a point on the screen. Everything else was programmed by hand to show the principle behind the mathematics.
This is a really awesome video, really amazing how far computer programming and such has gone over the past few years.
Wow, that brings back memories, The BBC was what the schools in my part of the UK had, I was a Vic 20 owner, most my mates had ZX81's and a lucky few had Spectrum's.
I'm a computer scientist who graduated in 1979 I have iteratively enjoyed two projects. One is a bootstrapping LALR parser for BNF. The other is a Go board. (I used to program Conway's game of Life until I discovered Golly.)
I worked on each of these projects in C, Perl, Python, and now Ruby. I skipped Java, but I've professionally programmed in Fortran, PL/1, Perl and Bourne Shell. I did not do object oriented programming professionally, but I've taught myself as a hobby.
Brady Rocks!!
man, this is the most interesting computer video i have ever seen!
a story of passion, knowledge and dedication.
awesome, really awesome
Having a small (or one person) team being a technical limitation, one could see the wider success of indie games in recent time being at least partly a consequence of this feeling. For example: one developer, all details and no deadlines equals a modern masterpiece in the making, Dwarf Fortress.
My god, this brings me back!
I am a programmer as well and I .. as well.. write my own games everynow and then it was a bit touchy to hear Richard talking about his story.. he must be a brilliant programmer.. writing your own games is probably the best way to learn good programming.. because it gives you motivation to write the code.. fast efficient.. .....fff it sucks when nobody play your games though.. :)
This was my favorite game back in the day, it was great fun and totally cool for it's time. I played it on my BBC Acorn.
I had a ZX Spectrum when they first came out -- first I had to wait until there was nothing on the television that my parents wanted to watch, then plug the computer in, re-tune the TV to the signal, connect a cassette recorder, and set it away. There was plenty time to put the kettle on and have a cup of tea while it booted. All this for a sort of tennis where a white square moved around the screen and bounced off the white lines (the bats) that we moved up and down at the sides. Great fun.
I played elite back in the day and now play elite dangerous
Thank you for sharing your game, Richard! :)
I'm working on uploading the executable somewhere now, so you can have a go, as long as you realise it's not a fully fledged 'game' ! I'll pass the link on to Brady. Making the source code freely available is a bit more of a stretch for me - I'm kind of attached to it! I also still have one thing I want to do, if I ever get the time: incorporate special relativity (time dilation, length contraction etc) :-) But, maybe I'll think about uploading the source at some point... Richard
I see you have snapper there, loved that on my electron as a kid.
*prompted to sort out emulation of strykers run codename droid*
Thank you
You can do that if you have a PC at hand. I think the original objective was to use an mp3 player as an input to the bbc computer. In today's market mp3 players readily available, whereas cassette players are legacy equipment.
As someone here pointed out you can make your own player for your binary so that you can use your sound hardware to play it to the bbc computer.
I think that you're trully right considering a computer approach to it. But I have been trying it as a trained musician with studio experience, I maintain my Statement.
Running Linux in text mode might be good for distraction-free programming. You can use lots of languages with it, as you can access C and many more compilers and run C and many more languages' code from it as long as you don't require graphics.
Wow! Thanks for including the game in the description. I've always wanted to create my own games and for about a year now I've been trying to learn OpenGL with a fair bit of success but I still don't have anything that would be considered a game. Hopefully by fiddling around with yours I'll be able to make some real progress towards my goal.
14:15 - how do you start learning to code? The answer is - open your browser, open a page, and click "Show Source". Tada! Strange to say it, but browsers are the BBC Micros and Spectrums of today. HTML and JavaScript aren't the most beloved of languages, but they're still a lot more elegant and powerful than BASIC! It's a pretty decent place to start kids.
13:15 Segmentation Fault...
I've wasted too much time with that error...
Too much time...
*shivers*
The procedural algorithm that was used to generate the Elite galaxy was covered in a book "Backroom Boys" by Francis Spufford. The chapter covering this was covered in a preview in the UK Guardian newspaper, which you can find if you use an internet search engine. Well worth reading if your interested in learning how these things work at a layperson level. A forerunner of algorithms we use today for Minecraft and other games used on PCs/consoles to build trees and landscapes to save disc space.
YOU’RE a genius! Creating a graphics engine in assembly language... wow!
He explained it in the video, different frequencies represent 1s and 0s. The computer listens for the frequencies for a set amount of time then records the 1 or 0 when appropriate.
basically the main thing the modern engines/gamedev toolkits do is provide structure. so instead of writing a behavior script for entity, and then writing the code that will load and assign the script to the correct object, and hoping you got all your IDs right, you just click the object in level view, open its "scripts" window, write it there, and let engine take care of the loading and assigning. same for shaders, materials, sounds, textures, models, etc.
Aurena looks awesome
I just about remember my father's Acorn Electron when we had it in the early 1990's, I always used to be fascinated in how audio cassettes could store computer programs.
Really not enough credit goes towards programmers before computers became powerful enough that programmers no longer had to specially code around hardware limitations to create amazing games like the original Crash Bandicoot games on the Playstation one.
Inspiring video and actually your game looks both slick and has a cool title! I remember seeing Elite on the Beeb in the computer club in my secondary school. It looked unbelievable, and it's still mind-boggling how they crammed a whole universe into such a small space. Though at the time, it was amazing for being so cutting edge and a window into what computers could do with their (for then) amazing technology, and it's only in looking back that we try to measure the achievement, like watching a child walk for the first time. What I love about Elite is the philosophy behind it, of a future universe that is still as full of personal choice as our own. Something very '80s about that,
Seeing how far we have come and also how far away from programming ourselves is a little sad. I feel so much is automated or on tap nowadays, we're a lot less involved in it, from choosing what to watch to playing games, we don't have the same feeling of being caught up in the middle of a revolution. Maybe I should try tinkering with a Raspberry Pi or something to get back in the driver's seat.
You... are not... alone. 😁Elite on the Commodore 64 and Wolfenstein 3D on the early PCs were the two bits of software I and my friends couldn't believe existed. PLUS they were tons of fun.
there was a documentary about this game in history channel around 7 years ago. I liked it and now its great to watch it again. also now I know how magnetic tape in computer worked. you just have to use an ordinary recorder and plug the audio into computer.
He probably had to invent the bits of linear algebra that he hadn't learned at school. It's really impressive.
Lots of people are getting into programming and electronic logic through Minecraft, now! Vanilla redstone helps teach very fundamental electronic logic, mods like RedPower teach how to use discrete logic gates together to achieve a result, mods like ComputerCraft teach lua programming (with an in-world effect, rather than just a vague numbered output result) - all in an environment that doesn't really punish you for not learning something quick enough.
Good point, some modders (like Eloraam, SirSengir, Alblaka, GregoriusT, Spacetoad and many more) have made more content and changes to the game all on their own than the entire Mojang team combined.
The only one of those mentioned i can think of that isn't working alone is Alblaka but even he started out alone.
The most interesting games i have played have been those made by devoted developers who care for their games rather than some studio who is in it for the money.
I used to play it with my brother on my dads BBC Micro B in 1984 I was 10 at the time, I played elite on every computer I owned and loving Elite: Dangerous
So cool! I'm probably in the minority, but I actually prefer these games from the 80s and 90s to the games of today :-)
If games didn't constantly increase in size accordingly, it would definitely be possible.
I remember when the Playstation came out and - being an SNES owner - I compared the capacity of SNES-cartridges to that of the emerging CD-ROM standard. Games that seemed huge to me would occupy 1% of a CD; the possibilities blew me away.
Of course it didn't go that way. The added capacity was use mainly for improved graphics and audio and the games' complexity remained fairly similar.
I just finished yesterday my assignment for Computer Organization and Programming course and it was a simple board game that lets you enter input and displays the output (no moving graphic sadly), with a user interface and a time limit, but written entirely with PDP-11 assembly code (or instructions if you like), running on an emulator made by the course team =) only about 1300 lines including comments and explanations!
I remember Elite on ZX Spectrum. I was young, but I still remember how awesome it was!
Ahhh...those were the days :)
the thing which suprised me most, was that all this was written in assembler.. must have been hard work!
Great video, i still have a working BBC and elite on floppy in my loft, it is amazing how all of that squeezed into 32k of memory.
Shame you never fully got your game off the ground, I've just downloaded it so will have a quick play.
Original Elite!!! So much nostalgia! So many hours exploring, trading, fighting off pirates, being a pirate, fighting off police, scooping solar rays, scooping cargo...
Technical (and thus game design) limitations made games of the past so engaging. There was an attention to detail that I feel is missing in modern games.
It's not an inevitable consequence, but with modern development paradigms and deadlines, there's probably a tendency to create shallower games.
Elite Dangerous passed it's kickstarter earlier this year and they're releasing the first proper sequel in my opinion next year. :)
Your experience mirrors my own in a lot of ways. For me it was the Atari 400 with a B-key keyboard. I wrote in BASIC and 6502, though Atari's Macro Assembler made it much easier to write 6502. And the Atari had a compiler for BASIC that made it smaller, faster. For one BASIC app I used all 32767 line numbers, with 255 length lines. So part by part I replaced the the BASIC with 6502. Next I wrote on the Amiga in 68000. Dino Wars first, then Bill & Ted's Excellent Adventure. And that was it!
If you knew BASIC before, then it should be fairly easy to get back into it. It is BASIC after all :P I remember I quit programming all together for several months. The first programming to "break my fast" (if you will) was written in VBS (Visual Basic Script). It was fairly hard to get back into it, but it was well worth it. Just because you quit for several months (or years) doesn't mean you can never do it again.
Glad to see we're having fun with the PC vs MAC situation ^^
Yeah, network protocols usually use error correction and such to confirm that the data recieved is correct. In some systems, you can recover the original data if the number of errors weren't too large. But it takes more bandwidth to do that, because you're sending extra bits.
An open world space combat/trading game, bigger than any modern AAA game like GTA 5 or Assassins Creed Valhalla , that had a combat system that was just as sophisticated and fun...and they got it to fit into a file a quarter the size of the average JPG, that ran on computers that had the processing power of a toaster. :o It was like someone building an Iphone in the stone age.
Oh yeah you're right, He even says in the video that different audio frequencies is used to represent the data.
Couldn't agree more. Distribution is the easiest ever. There's room for improvement in exposure, especially on consoles, but approachable small reviewers and LPers mean well liked PC titles can catch attention without a marketing department.
I once walked out of school with one of those BBC's and the monitor that weighed a ton. I really can't remember the circumstances that led to me taking one of their computers....
....I'm fairly sure I didn't steal it.
My first attempt with BASIC programming was a visual game using the ZX81 lent by my uncle. You can't imagine the pride I took watching the little dot crossing the screen. With 1 ko, that was my first class on efficiency and concision.
I haven't dabbled in 3D graphics really, but my advice is to try to program a rotating cube using various tutorials of portions of the project from around the internet. If you do this instead of following a tutorial directly, it's much more educational. And when I say "portions" I mean maybe combine "How to render graphics" with "How to do wireframe" and "How to rotate 3d images" into a rotating cube by yourself, it works wonders!
Elite was fabulous! Evochron Mercenary is a good "heir" to Elite IMO: practically a one man job, huge universe with solar systems and planets you can land on to. The whole game is packaged in unbelievably small space (for modern games) of about 180MB. By the way, Aurena looks nice. It just lacks proper Nvidia Surround support :)
I remember playing elite on my amstrad cpc. I played one night through getting my character to a rank of deadly (one before elite) before the game crashed. I had no save game since i only soft saved: saving it to tape without any tape in the drive. The game would remember where you saved and start from there when you died.
The definitive open world sandbox RPG.
I spent hours playing this game, first on the Electron then on the Archimedes.
wow Brady, not just at your comment at the end, but also the pull up question on veritasium lol
Yeah, good point about the recent surge of small Indie games, nearly forgot about that (haven't been gaming myself in a while). I'm also glad that Kickstarter allows passionate developers and gamers to circumvent the traditional economic model of the games industry that led to so many rehashes and dumbed-down mechanics.
I saw this a while ago, but earlier I found out about a mod for Minecraft called Computercraft which adds a bunch of computers and peripherals that you can write code for in lua. It just reminded me of the bit in this video about homebrew game programming.
It's pretty damn awesome and I've spent the last 2 or so hours playing around with it. My Minecraft house is now in the 21st Century lol. :)
I'm surprised that loaded, with that amount of distortion in the audio data. I had an Atari 800XL that if there was even a sight imperfection in the playback you had to start over again, major pain in the arse.
I started coding when I was 12, for the exact same reason. The pool game I had, I just had to make a better version of. I "invented" my own 3d/2d transforms etc. etc. I put quote marks as obviously, the math was already in books I had no clue about.
A word of caution about starting up the old BBC micros. The power supply capacitors may have dried out so get 'fried' when you switch on as mine did recently. Fortunately I've 10 more to fall back on.
As for programming the musical rondo of 'DARE DEVIL DENIS' was a brilliant example of an interrupt routine.
It's just two frequencies. One frequency at a time. MP3 is mostly about dropping frequencies that cannot be heard. So I think that could work. You can even make your own encoder that ensures it will be played back correctly.
The thing you were opening fire against, around Lave, looked like a Police Viper. No wonder they brought you down. :-D
Having also bought it in alpha, I agree. I'd venture to say much more work and exciting progress has been made by indie coders writing mods than the actual Mojang team.
Yes, FLAC = Free Lossless Audio Codec. The compression factor is a trade-off between speed of compression/decompression and file size (bigger files are slower to encode/faster to decode, and vice versa for smaller files). And while they should be bit-perfect, it just seems smarter to transcode the cassette to WAV. It's wrong of me to say FLAC is lossy, but I stand firm that WAV would be a better archival choice for game data.
Actually I *thought* I had it, but the display bagged to differ. The problem was something about the z-buffer. Objects didn't intersect they way they should have. The course was divided into small exercises, one building on top of the other. For every exercise you where allowed to use the proper solution of the last one to build your new solution on. The funny thing was: ...
Continued/
in the past mac's only were good at 2 things, photoshop and sound editing because of the nature of the Mac's
IE the mac monitors (closed system pc) which are synced/color calibrated making it ideal for photoshop for printing press
but mac couldn't handle cpu intensive programs like 3D rendering
but again, that was 20 years ago, and the stigma of that era where mac had an advantage over windows is still around
I could go into more with todays tech, but comparisons are so trivial
Citation please, because as far as I know, FLAC has no "lossy" setting. It has a "compression strength" setting, but that only influences what strength of the redundancy search algorithm it employs (and thus influences compression time). Regardless of this setting though, the reconstructed output is always bit-perfect with the original input.
The same developer is working on the next Elite... Elite Dangerous is set for release Q2 2014 and I can't wait!!!
Apart from programming exercises during classes in ANSI C, Java and Haskell one of the only functional things I ever programmed was a mandelbrot/julia fractal program for my TI-83 graph calculator. Man that thing ate up most of the batteries just calculating one crude fractal but it was pretty fun to do in the limited version of basic it was using =)
actually you can. I just found out about this the other day, coincidentally. you can get a RamDisk program (I'm using Radeon RamDisk) and it will take a part of your RAM and partition it like a drive. you can drop games in there and they run absurdly fast. much much faster than on an SSD even
Of course one would. Virtually every game today started with someone typing C++. The only thing is that it doesn't take just one person, it's several. One can use third party libraries or not, depending of what you're aiming at, what you have already and for what money in what time. In any case, there will always be C++ coders doing coding, if only for the gameplay.
The original authors of Elite just had a successful Kickstarter campaign to create a new version of the game. I can't link to it here, but just search Google for "elite kickstarter" and it comes right up.
guys, you are confusing some bits here.
Old macintosh computers had their own processor called powerpc.
it had its own structure and the mac os was the only operating system for it.
But in 2006 they switched to intel processors, so basically from that point on they are pcs, just with a different operating system.
it even has a boot camp where you can officially install an additional operating system.
Hope that clears it up.