Saturday, October 11, 2014

Robot R-29 Update 2

  The last visit at parents' place was very successful. I've transferred lots of my old Amiga files and and now I have a complete Robot R-29 which I can run in emulator. Once more, link to the original article with updates:


  This time you can enjoy screenshots.


Saturday, August 9, 2014

World Premiere of Amiga

Andy Warhol made an electronic portrait of Debbie Harry during the Amiga 1000 World Premiere
  I came across this video during one of my YouTube journeys. It is still a quite impressive footage to watch, especially considering the technical advancement at that time. It was 1985 and apart from the Mac pretty much all other computers ran command-line interfaces. That changed on July the 23rd when Amiga 1000 came out. It featured color graphics with impressive 4096 colors palette and 4-channel digital stereo sound. Whoever owned a computer back then knows how superior that machine was.

The famous "Robocity" animation was also shown for the first time
  Now, all Amiga fans can enjoy it here thanks to Rasvoja who converted this presentation from VHS and uploaded it to YouTube.


Atari, my very first computer

  During my last holiday I typically visited my parents and when I was going through my old papers I came across this jewel. The receipt and warranty for my very first computer, the 8-bit Atari 65XE. Now I know when exactly I got it. It was bought on December the 22nd, 1989 for $127 and I got it two days later on Christmas Eve (that's when most Christmas celebrations take place in Poland). For me it was two days full of suspense and excitement. My Dad would let me see the box, but that was it. I had to wait until the Christmas Eve. I'll never forget the day I opened the box, it was some of the best experiences in  my life.

Receipt, page 1
Receipt, page 2
Guarantee, page 1
Guarantee, page 2 (conditions)
Guarantee, page 3 (free repairs stamps)
Guarantee, page 4 (replace parts)

Restoring my old Amiga files

  During my last holiday I got adventurous and build a null modem cable. I didn't have required plugs and raw cable itself therefore I build it from what I had available, two different PC cables that I cut in the middle and then soldered them together closely following the diagram I've found on Amiga Forever website. 


  That's how my null modem cable came about.
 
Null modem cable
  After several trials and errors I've finally found a software that worked for me. I couldn't write to Amiga disks but at least I could read them. It wasn't the most reliable and error free transfer, but after so many years I'm glad I've managed to restore any files. The software is called ADF Sender Terminal can be found on A.S.T. Amiga PAGE website.


  This time I got all images for my Amiga version of "Robot R-29" game, as well as my other programs, for example games "Snake", "Core Wars", "Ortho-Test" or demo "3D Graphs"and my simple chat bot I called "Mietek". I'm hoping to be able to transfer them all to an emulator and run them again. Once I manage to do that you'll see screenshots and listings here.

Tuesday, June 24, 2014

AMOS The Creator - User Guide (PDF book)


  It took me quite a while, actually six years, until I've finished editing this book. I've found it on some Amiga fan website, it was on a copy of some old school disk magazine. It was a document written in some old Amiga editor, all in the same monotype font. You can imagine how much fun it was to read. That's exactly why I decided to copy it into a word processor (I used NeoOffice from the beginning to the end) and format it so it would look more like a real book. Back then it was the only version of the book I could find on the net. When I checked recently I came across several other AMOS books, including AMOS Pro and AMOS compiler text books and even a scan of entire "AMOS The Creator" book. However the scan makes the file lot larger, and for example it doesn't allow to search within the document. So it's up to you which one you decide to download. Please comment on my book and let me know if you find any typos or other errors.


  Here's a link to a page where you can download a scan of the original book in various formats.

Tuesday, September 3, 2013

Robot R-29 Update 1

  I managed to run my old Amiga adaptation and take some photographs of the screens. Here's the link to that post:


Enjoy great photographs. There'll be more in the future!

Thursday, September 6, 2012

My "matrix roloaded" at the university

  Since the end of my technical college in Poland and before the start of my first course at Lancaster University I'd had a really long, over a decade break from programming. During that time I wrote only a few programs in AMOS Basic and that was pretty much all I did during that time. Luckily, I ended up in Blackpool and some time later someone told me about programming courses at the local college. Few days later I went to Blackpool and the Fylde College and asked about available programming courses. The only course that comprised modules in programming was Game Design & Development. It wasn't exactly what I had in mind but I signed up and after some time it turned out to be the best choice I could've possibly made. Even better, the degrees were awarded by Lancaster University which is one of the best in the UK and also in the top 100 world's best universities. I started this course in 2007, and what you'll read here happened during the very first semester.
  Because it was also a game design course the first part of it was dedicated to various design related topics, like 2D graphics, game level design, basic web design or more technical subject dealing with architecture of game consoles. I remember one of our first group tasks, a concept for a simulation game which we simply called "Aquarium". We brainstormed, wrote down ideas and designed characters and other graphics. First attempt resulted in initial design of game characters and a mock-up level:

"Aquarium" - level elements
"Aquarium" - game characters
"Aquarium" - example level mock-up
"Aquarium" - example level mock-up with characters
  Next, we sat down again and more experienced guys designed new characters in Adobe Flash and thus we came up with a beautiful animation, and eventually with a slideshow which we used to present our game to the rest of the class.
"Aquarium" - game characters, new design
"Aquarium" - background, new design
"Aquarium" - Flash animation, mock-up of the game
"Aquarium" - slideshow outlining the game concept
  One of my early exercises on this course was a game concept which was meant to be presented to the rest of the team in a company, or in our case to the other students. We did this in small groups, and my group came up with this simulation game called "Virtual Sailor". All we needed to design was a simple slideshow briefly explaining what the game is about and outlining its objectives.

Game concept for "Virtual Sailor"
  "2D Platforming Game" (sorry, it had no name) was an example of a more detailed design. I've designed 10 unique elements (tiles) from which I then built a level. Next, I defined the solid area of the level, which would be the area that couldn't be passed through by all characters. Then there was some simple game mechanics and calculation of the solid area of the level. Mechanics is crucial in pretty much every game, as is defines how all characters respond to different actions. Without it your game would be not much more than a static image. I'm not quite sure why I was meant to calculate the solid are of the designed level, but I guess our teacher wanted to see how we apply our geometry and algebra, and how good they are. Let's look at some selected bits of my design document.


  Example level design and game characters will appear in the next example, "Man vs. Robots". Having built a level I could determine the solid are by simply painting over the platforms in another layer of an image.


  Next, according to specifications, I drew the trajectory of fireball that the character would shoot...


  ...and calculated and drew trajectories of fireball that the character would shoot moving at different speeds.

  The angle fireballs are projected from the character depends on its speed. This is described by the formula below:

α = 90° - (90° * speed) ; speed = 0 ÷ 100%


  Examples:

speed = 0 ; α = 90° - (90° * 0) = 90°

speed = 50% ; α = 90° - (90° * 0.5) = 45°

speed = 100% ; α = 90° - (90° * 1) = 0°



  Finally, calculation of the solid area of the level:

Size of the level:
Width = 2560 pixels
Height =  768 pixels

Area of the whole level:
2560 * 768 = 1,966,080


The solid area:
Ground: 57 * 2560 = 145,920
Hill: 100 * 290 = 29,000
Slope: 0.5 * 100 * 256 = 12,800
Platforms: 7 * (3*200 + 2*170 + 120 + 5*90 + 50) = 10,920

Altogether: 145,920 + 29,000 + 12,800 + 10,920 = 198,640

Not solid area:
1,966,080 – 198,640 = 1,767,440

Proportion of the solid area:
(198,640 / 1,966,080) * 100% = 10.1%


"2D Platforming Game" - proportion of the solid area of the level

  I reused some of these images in another simple design that I called "Man vs. Robots". This time I was meant not only to outline the game storyline, but also describe game characters and items and how they interact, define game controls, and determine marketing strategies. After all every game needs to be sold, and the more it sells the better. Anyway, let's have a look at the adventures of little Bob who tries to find his way back home on planet Earth. Very simple screens:

"Man vs. Robots" - title screen
"Man vs. Robots" - storyline screen
"Man vs. Robots" - help screen
"Man vs. Robots" -  level 1
"Man vs. Robots" - game characters

"Man vs. Robots" - in-game items
  This was basic preparation for game level design. Some general architecture of most popular game consoles, networking technologies and how game systems evolved over decades were also studied, and that helped better understand certain programming issues that I came across later on. Stay tuned, there'll be little more design in the next post.