Previous 5

Nov. 28th, 2009

[info]marnanel

Elite on the N900



HECK YEAH

IT IS ELITE

ON THE N900

THAT IS ALL

Advertisement

Nov. 27th, 2009

[info]marnanel

New Year's resolutions

I didn't make any resolutions for 2009.

I am thinking of what to make for 2010.

I think I will try to write a sonnet every week.

I think I will try to write another children's novel.

I will certainly do my best to get the programming book I'm working on finished.

But perhaps I'm too close up to myself to see with the best resolution. If you could wave a wand and make a resolution that I'd keep-- that is, change something about or for me-- what would it be? Comments are screened, but anonymous ones are fine. Say if you want your comment unscreened.

Nov. 26th, 2009

[info]marnanel

Making Avaricius and Avalot into free software



I am going to contact my parents tomorrow and ask for the source code of Avaricius and Avalot so that I can release them as free software. (It was written in Turbo Pascal.) This may mean finding a way to read 5½" floppies. I wonder if I can just buy a very cheap very old computer and hook it up with a serial cable.

Some of the nifty things about Avaricius and Avalot, just from memory:
  1. Compilation. One of the odd things about Avvy is that only the code was compiled, not the data. The data was a significant part of the whole, and these days I would have created it in some easy-to-edit format and compiled it. But in those days, with a few exceptions, I first designed the binary format in which it would ship, and then wrote an editor for it. So I think, in order to make it at all useful, one of the things I'm going to have to write is a decompiler for all the data formats, so you can read them as XML or something.
  2. How the images got included. This actually extended to having to write a general image editor "hiz" for Avaricius, because I didn't have any information on the save file format of any image editors I had access to. But for Avalot I wrote a screenshot program and my brother used Dr Genius to edit the images (he drew almost all the images in Avalot, which is good, because the images I drew in Avaricius rather sucked).
  3. Why EGA? The game required EGA (and used sixteen colours) because we didn't have VGA when coding started.  By release time we had VGA, but the only concession to it was to use its ability to redefine colours to make change "bright magenta" to be more Caucasian-flesh-coloured.
  4. Codename. Avalot was codenamed "Project Minstrel" during development.
  5. Dogfood. One of the jokes that was so laboured that I never explained it: the minstrel who plays games against you was briefly called "Winalot", because almost all the characters' names ended in -alot; "Winalot" is a brand of dogfood, so he was soon renamed "Dogfood".
  6. Cameos. Dogfood, Spludwick, and Baron du Lustie were cameo appearances by the development team.
  7. Beta testing. We had different beta testers complain that both the Dogfood and Jacques puzzles were both incredibly difficult and ridiculously easy.
  8. Scroll drivers. You could embed ASCII control codes in what was effectively standard output (the "scroll drivers"), which would otherwise have gone into dialogue boxes on the screen, and affect lots of things about the game. Much of the moment-to-moment control of the game happened in this way.
  9. Wordwrap. The scroll drivers in Avaricius didn't do wordwrap, so I had to do all the wordwrap by hand. Big mistake, rectified in Avalot.
  10. Bootloaders. "avalot.exe" was merely a bootloader that allocated a few kilobytes of empty memory and ran "avalot9.exe", which was the real program. It pointed one of the user interrupts to the empty memory, and by manipulating this memory the child processes could instruct the bootloader either to load a given other child process after they quit, or to quit itself. This meant that a lot of the cut scenes could be implemented in separate executables. There was also space in the empty memory to store the current game state, so that you could seamlessly return to the game. One of the possible subprocesses was command.com, so that you could shell out to DOS and not have Avvy resident in memory, so there was actually space enough to do something.
  11. Edna. The save-game format ("edna") had generalised header information which meant that if you attempted to load a file from any other Avvy game, the correct game could be loaded to handle it.
  12. Chunk. Each room had a set of associated sub-pictures in a format called "chunk" which could be set to display at set intervals, meaning that animations could be put together without changing the code.
  13. Also. There was a resources format called "also" which allowed you to define things about each room such as where the doors connected to the next room and what direction you'd be walking in when you got there, and it had a set of opcodes which could be made to run a given cut scene, put up a given piece of boilerplate text, etc, when you walked into a given area or touched a line between two given points. Strangely, I never unified these opcodes with the scroll driver control characters.
  14. Skellern. There was the usual routine which hooked the clock interrupt to slow the game down.  Around the time I was writing it I heard a song called Slow Down by Peter Skellern, and the whole subsystem is littered with references to that song.  In particular, the slowdown routine couldn't be enabled during debugging, and therefore was disabled during development in general, so there was a standalone terminate-stay-resident utility called "skellern" which stood in for the real thing.
  15. The onion puzzle.  This is the puzzle I'm most proud of.  People were still asking how to solve it almost a decade later on Usenet.
  16. Avalanche. The whole magic opcodes system was going to be generalised in the third game "Avaroid" into an architecture for a virtual machine called "avalanche". I had no idea about virtual machines; I pretty much made up the idea. But the third game never shipped because I went to university.
  17. Z-machine.  I've occasionally thought of doing a Z-machine port, as a plain-text adventure.  I've never actually started it, though.  I think it would be ineligible for the IFcomp.
I am wondering what else I'll discover when I finally find the source.

Update: I just phoned my parents:
  • My brother Andrew knows where the disks are and will find them when he comes home for Christmas vacation
  • My brother Mark is one of the copyright holders so we have to clear it with him as well, so there's no knowing what'll happen until he decides.
More news as we get it.
Tags:

[info]marnanel

Completely irrelevant information

You know how sometimes people on your friendslist post about stuff going on in their life, and all of a sudden you think "Wait a minute? Since when were they working THERE? Since when were they dating HIM/HER? Since when???" And then you wonder how you could have missed all that seemingly pretty standard information, but somehow you feel too ashamed to ask for clarification because it seems like info you should already know? It happens to all of us sometimes.

Well, here is some completely irrelevant information about me. Copy it to your own journal if you like, delete my answers, and substitute your own.

1. What toys did you take to bed with you when you were a kid?

A teddy called David, a squirrel called Mrs Squirrel, and a cat called Joanna. I wish I knew where Mrs Squirrel is now. Here is a picture of me with David.



2. What is your favourite colour?

Orange, then black, then green.

3. What was your first experience of computers?

When I was about five, my parents took me along to a computer course they were attending at Hitchin Technical College, for which I will be forever grateful.  A short while later, my headmaster bought a BBC Micro for the entire school, and invited me up to his office.  "I've noticed", he said, "that your handwriting is the worst in the school.  This computer has a thing in it called a wordprocessor that might help you."

4. When you were a kid, who did you want to win the Boat Race?

Cambridge, honestly!  It was because they lost about a dozen times in a row and I always cheer for the underdog.

5. What was the title of your first book?

"The Squirrel Army".  I was about seven.  It was the first of a series of four.  I'm sure my mother still has them.

6. What was your favourite Christmas present ever?

This thing.  I spent hours solving all the levels.  You had to solve ten addition, subtraction, multiplication, or division problems in four different levels within a certain time limit.  I loved it.

7. What clubs did you join as a kid?

The Puffin Club; Mensa; the National Association of Gifted Children; the Vegetarian Society.

8. What was your favourite part of Christmas?

I was asked this by a teacher once, and after some thought I said it was Boxing Day, because you had plenty of time to look at all the things people had given you.  She stared at me and said "That's rather boring."
Tags:

Advertisement

Nov. 25th, 2009

[info]theljstaff in [info]news

LiveJournal Major Notes: Security, Mobile, Facebook, Writer's Block, and Notes

Tweaks and enhancements

  1. In order to improve site security, we've temporarily suspended the ability to change passwords for old email addresses that haven't been used for over six months. For further information and support, please visit our customer care page.
  2. We've launched a new mobile site with an enhanced UI at m.livejournal.com. View spotlights, post to your journal, read and post to friends pages, and more, no matter where you roam! Please let us know what you think, since this will eventually replace our existing mobile interface. You can update your mobile preferences on your account page.
  3. We've upgraded from Beacon to Facebook Connect to improve dual posting. If you've already signed up for Facebook Beacon, you're good to go. If you wish to update your Facebook Connect setting, visit Account Privacy settings and scroll down to the option labeled: "Send information about my updates to Facebook." You can choose Always or Ask each time. Remember to save (on the bottom left corner of the page). To learn more, check out FAQ 249. While we're on the subject, if you happen to be visiting that side of town, please join our Facebook fan page for a touch of home away from home.
  4. You'll now receive the Writer's Block Question of the Day in the body of email notifications. To sign up for Writer's Block notifications, visit [info]writersblock and choose the Watch Community option. Next, update your Writer's Block notification settings by checking the box to the right of "Someone posts a new entry to writersblock."
  5. Paid and permanent users can now view, add, and edit Notes of commenters. Notes will appear beside the username of comment posters (instead of stars) on S1-themed comment pages.

Send some lovin' thanks to your friends with our holiday vgifts!

Photos of the week

We're so delighted with the immense talent of our growing, global [info]lj_photophile community that we've decided to introduce a poll. Each week, we'll choose a half-dozen photos (based on user comments and staff feedback) and ask you to select a photo of the week. The winning photo will be announced in the next newsletter. If possible, please limit photo size to 350x350 to ensure that images display properly on friends pages. We want to thank you again (and again!) for sharing your passion.

Check out this week's photo poll and more fantastic user content after the jump!

Read more... )

Curtains

Thanks for joining us. To our American friends, have a fantastic Thanksgiving. To all of our international neighbors, we'll eat a little extra for you!

Previous 5