Many Pies

Many Pies
Showing posts with label nostalgia. Show all posts
Showing posts with label nostalgia. Show all posts

Tuesday, December 10, 2013

Publishing computer games

I was looking up in the loft for the paperwork I kept from when I was a teenager and sent in games for the ZX80, ZX81 and Spectrum to magazines. I didn't find that, but I found some other paperwork:
ZX81 ROM disassembly

A friend on Facebook found a copy of the Sinclair User Annual 1983 which had one of them in.


(Update: I called this game "Beancup" but I've just found out (Nov 2016) it's called Oware amongst other names.) I didn't always buy the magazines that published my games, because that would eat into the money I'd made, so it was quite exciting to see my work from so many years ago revived again. I didn't have a printer, so unlike many of the other listings this one was typeset.

Some things strike me about this:

  • no function names, you just GOSUB a line number
  • line numbers!
  • I'm surprised how compact it is - a two player game, plus the computer's strategy in just a few lines
Update: I was searching my blog archives for the word Sinclair and I came across this post about mobiles and gaming. What is interesting is the article I link to which talks about the potential for mobile (what we now call) apps. This was pre iPhone and Android app stores, so presents a "historical" perspective before things all changed.

Update (14 April 2023): while visiting my parents I found the original game which inspired me to write the program. 



Thursday, May 10, 2012

I've got a Blackberry Playbook - plus QNX nostalgia

I've got a free Playbook. I got it by writing an app and submitting it to the Blackberry app world. I did almost the bare minimum needed as I didn't want to spend too much lunchbreaks on it. I downloaded the box2d javascript code - a physics engine which runs on Flash or javascript - and adapted the demo you can see on that page so that the circles moved as you tilted the device. It took me a few attempts to get my app approved. I didn't sign it the first time, there was a bug which didn't show up in the emulator (but did in the simulator - I now know there is a difference) and then I had to make it big enough fill the screen (fair enough). Even though I was doing the bare minimum needed to get an app published (BubblePlay2) it did actually do something, even if it wasn't much of a game.

I was amazed to find that 80 people downloaded it on the first day and 50 on the second. I guess it appeared on a "new apps" page. After that the downloads dropped right off. It got one 2 star review from someone who said it didn't work. The Blackberry simulator enabled me to check that tilting the device would move the circles, but I didn't know just what angle it was working at.

The Playbook runs the QNX neutrino operating system (a real-time OS designed mainly for embedded applications) which I came across in a previous job, so time for a bit of nostalgia.

QNX nostalgia

In the job before my current one I was working for an electronics firm. We developed one of the early webcams. It was a clever bit of kit - a PC104-based PC with a camera board that we developed. It ran the QNX Neutrino operating system. This was back in 1997. The company QNX already had a mature embedded operating system with the same name. Neutrino was their new product which had multi-threading and we were a beta customer. I wrote a point enabler for the card, a cut-down device driver designed to work with one particular device - the ethernet PCMCIA card we were using for networking. I flew to Canada for a week to the QNX offices near Ottawa to pick their brains.

Canada

I arrived at the airport on the Saturday evening, so my first experience of driving on the right was to drive a hire car through the dark into an unfamiliar city. Fortunately it was built on the typical North American grid pattern and once I'd worked out what the one way signs looked like I managed to get to my hotel.

Ottawa Ontario Canada  March 2011 — Rideau Canal  87
It was February and the temperatures were well below freezing. People were skating on the Rideau Canal. I fancied having a go, but I didn't want to fall over and injure myself when I was supposed to be working. I drove around the city on the Sunday and also experienced walking around in -20C temperatures.

A colleague of mine flew over early in the week. He was helping QNX debug their TCP/IP stack as we needed to get it working and we kept on finding bugs. We both got our jobs done in a week and I got to see Canada.

Our webcam wasn't successful. At around £2K it was quite expensive and although we had ideas as to what you could do with a PC onboard a webcam, we didn't find a market for it. After I left the company I heard that we had loads of them stockpiled in one of the offices. Which brings me back to the Playbook. My theory is that one reason that RIM are giving away Playbooks, is because as they've written lots of them off on their books, they have an asset value of $0 and so it's worth giving them away to try and increase the number of apps on their platform. Even if some of those apps aren't very good, like mine.

Photo from Douglas Sprott (cc) some rights reserved.

Friday, March 09, 2012

Raspberry Pi and the BBC Micro

A sprinkling of snippets:

There is widespread comment about Raspberry Pi and whether it will be the new BBC Micro. This article by Martin Belam "Digital Literacy for all" is fairly sane. He says
Firstly, programming isn’t everything. There will be plenty of kids for whom sending an email and filling in a web form is all they need to know about computers.
The Guardian, his employer, has a campaign about IT in schools.

One thing that annoys me is that some people are saying, like the otherwise brilliant Brendan Dawes, "you have to learn to program to do anything with [it]". The recommended Linux distro (Fedora) allows you to do lots of stuff.

This podcast is an interesting discussion on what IT skills should be taught in school and university.

One of the things they mention is scratch, which one of my kids has come across at school. It's great for learning the fundamentals of programming in a graphical way.


Monday, February 27, 2012

Feel the CPU power

INIT: Entering runlevel: 2 etc.

Whilst it's not too hard to gather stats on the performance of older computing devices, in this blog post you won't find any numbers to do with clock rates, or storage sizes. I'm talking about how performance feels.

Mumble-mumble years ago I worked on minicomputers. They were about the size of a two drawer filing cabinet. To anyone under 40 it must sound strange to call such a beast a "mini" computer. However in those days non-mini computers were as big as chest freezers or bigger. PCs were around, but weren't very powerful. They had just grown out of being hobby computers and appearing in offices. However the computer systems we worked on needed proper powerful computers.

Then one day I came across "Linux" on an internal mailing list. Someone had installed a Unix variation on a PC. For me Unix was the OS on the PDP-11 I used at University. I had no idea what it looked like, and in my mental pictures of it it still used tape for main storage. I used Unix on an NCR computer at my year out job at York Health Authority - it had 16 terminal ports and we didn't stretch it too much, apart from the odd complicated SQL query.

My experience of using a PC for "proper" computing stuff was trying to get it to work as an X-windows terminal. It was incredibly slow and I spent more time that I wanted to really trying to get it to not double refresh windows.

So the idea of running a grown up OS like Unix on a little PC was very strange. Time passed and a few years later Linux came to be the thing you ran on older PC hardware as it had better performance than Windows. In that time too Windows started to get grown-up with Windows NT which ran well on a dual P-90 workstation.

Time continued passing and one of my sons got an Android phone and there, as it started up, at the top of the screen were the familiar messages of a Unix-like OS starting up...

This is the first post I'm tagging nostalgia, though I need to tag at least one or two others.

Wednesday, January 11, 2012

The BBC Micro and me

BBC Micro
A couple of weeks ago Charles Arthur, the technology correspondent for The Guardian asked on twitter
So who is there out there whose experience with the BBC Micro led them to achieve something notable in the computing business?
I responded as we had a BBC Micro at school which I used in the sixth form. I gave him some details, but he was looking for someone who, if it hadn't been for the BBC Micro, wouldn't have got into computers. I wanted to be a programmer from aged 11 and we had a Spectrum at home, so that didn't apply to me and he didn't use my story in the article that he wrote on it. I paid for my driving lessons with the money I made on games I wrote for the Spectrum (and probably the BBC) and sold to magazines.

In our correspondence he asked
And do you think that kids today have enough access to that sort of programming, or do they need a "new Micro" to inspire them?
I replied:
Kids today have access to a wide range of free programming environments via the internet. If I were to start doing games today I'd be using a physics/gaming engine to do the heavy lifting, and aiming to get my stuff on miniclip or in an app store. Angry Birds is probably the thing that inspires them.
So I'm not sure any new type of hardware is needed. Today the BBC ran this story about a new curriculum for ICT.
Computer games entrepreneur Ian Livingstone, an adviser to Mr Gove, envisages a new curriculum that could have 16-year-olds creating their own apps for smartphones and 18-year-olds able to write their own simple programming language.
So I guess they agree with me!

I also recently came across this petition on the UK Government petitions website "Teach our kids to code". I don't like the way it uses the word "coding" which is a bit of jargon which could be better expressed as "programming". It also seems a bit unnecessary now in the light of that BBC story.

Photo from Rain Rabbit.