I've made some more progress on my Juno First game. The main change is the addition of a startup screen and the high-score table kernel from the last entry. I've also added SaveKey support, but it is commented out at the moment as I haven't been able to test it properly yet. I've left in the "Enter Name" screen, but in the final version this won't be shown unless a SaveKey is connected. The main game hasn't changed at all yet, except for the scoring which I have divided by 10 (it was too
OK, I'm leaving my text kernels alone for the time being and attempting to get back to coding Juno First. I have attached a minor update to the Juno First title screen code. It doesn't contain anything new, but it integrates together various features that have previously been discussed separately here:
Contains the awesome Silkworm tune by moderntimes99.
Displays the score table in white (rather than striped).
Alternates between logo screen and high score table.
My plan is
This is just a quick update on my Juno First project. I have now created the title screen, thanks to some more amazing artwork by Nathan. I was aiming to reproduce the look of the Arcade title screen as far as possible, and I think I have managed to do a reasonable job given the limitations of the 2600 (arcade shot on the right ):
The logo is 96-pixels wide and is created using the Homestar/Ruby Runner flickering trick. It is necessary to use the Phosphor option in the emulators
It has been a while since my last blog posting, and I haven't been very active on the site recently. This is not because I have lost interest in the Atari - it is just that I haven't had time to do much on my various projects lately. The main distraction has been a book that I have been writing for the past year. The publishers deadline was the end of February, and as usual I ended up writing the majority of it in the last two months! However, now that it is out of the way I should hav
OK, here is a small update to Juno First. The main change is the addition of sound effects to the game. I initially tried to approximate the arcade effects, but eventually gave up and just went for effects that sounded reasonable. Let me know if they sound OK, and if the background hum is too annoying (I don't want a repeat of Hunchy 2!). I haven't added all the effects yet - I'm still trying to find a reasonable explosion sound for the aliens, and a few other spot effects. This versio
I have produced another Juno First kernel demo which is attached to this message. This mockup shows the aliens at fixed positions, and you can fire the ships laser. This demo is basically just to check that there is enough time to display the scrolling background and reposition the aliens in a 1 Line Kernel (1LK). The background lines actually skip over the repositioning lines which makes it a bit jerky, but this will be fixed later.The next step will basically require a complete kernel re
I have done some more work on my Juno First game recently. The game code has now grown rather large, and it is becoming increasingly difficult to make changes without causing breakage or exceeding the scanline counts. Also, I'm now into the tedious last 5% of the implementation, which involves tying up all the loose ends and adding polish. However, I'm determined to finish the game this year without getting distracted by any other shinier projects!
The main change in this version
I have done a lot of work on the Juno First levels today. The aliens should spawn further apart (to reduce flicker) and they shouldn't appear directly in front of your ship any more (most of the time). I have also expanded the game to 16 levels, and I will be amazed if anyone can complete them all! Let me know what you think of these levels. In particular, are they too repetitive or too difficult? I haven't made any other alterations to the game yet - the changes discussed in the pre
I've now integrated the Juno title screen and main game together into a 32K ROM (see attached). There isn't anything really new here, but I have sorted some long-standing issues in the code. In particular, the scanline count should now be stable at 262 in the main game - let me know if you see any screen jumps (except between the title screen and game).
The main things left to do now are:
Add a lot of levels.
In-game sound effects.
Tune the gameplay and
I had a holiday yesterday and was able to spend some time finishing Juno First. I have now posted a beta version in the homebrew forum for general testing.
There are quite a few changes since the last version that I posted, namely:
There are now 32 unique waves, and I have made many changes to the previous set of 16. The game actually has 64 waves in total, but the second 32 are the same as the first with a higher speed setting.
The fuel gauge now empties at twice the spee
I have been slowly working my way through the Juno First to-do list that I posted in the last entry. The SaveKey support turned out to be a real pain to get right. Fortunately I managed to unearth my Krok Cart from storage, but it was still very difficult to find the bugs. However, the game now has working SaveKey and AtariVox support (fingers crossed). There is a little bit of AtariVox speech at the beginning and end of every game, and the high score table is stored on the SaveKey.
There has been some discussion on these blogs lately about good arcade games to port to the 2600. In particular, Manuel posted a list of obscure titles in his Planet Bob blog. Since I hadn't heard of most of them before, I decided to fire up MAME and try them out on my new X-Arcade stick. The game which I enjoyed the most is probably Juno First, which is a bit like a vertically scrolling version of Defender. I am surprised this game isn't more popular as it seems very similar to the cl
I haven't been very active on the AA site recently. This is not because I have lost interest - it is just that I have been travelling around the globe recently as part of my work. I have just returned from Japan, and I though I would write a little bit about it here. I won't bore you with the work side of things, instead I want to write about the three days that I had to myself in Tokyo.
This was my first trip to Japan, and I wasn't sure what to expect. The country has a kind of myth
For me, a big attraction of programming for the Atari 2600 is that it would not have been possible back in the day without an expensive development setup, and access to the proprietary technical documentation. Consequently, you would almost certainly have had to work for a games company to write code for the machine, much as is the case for the latest batch of consoles. Now, thanks to the Internet, the barrier for entry had been lowered considerably. All of the necessary documentation is f
Well, it has been 5 months since my last blog entry! A lot has happened to me in this time, including finishing a book, getting engaged, moving house, and changing jobs. Most of these have been good things, and I will try to write about them in more detail in the future. However, it has all left me with very little time to do any Atari programming. I started the year with big ideas (i.e. PoP) and planned to enter the 8K minigame competition (with Juno First), but this has not been possib
The Highs:Juston has finished the label for Hunchy 2 and it looks amazing (see below). My first Atari cart release looks set to happen real soon, and I can't wait to see the finished product. The 2005 minigame multicart is also coming along nicely, and will contain some of my minigames (Hunchy, Jetman & Nightrider). The deadline for the minigame competition is also nearly here and I hope my games will do well, though the competition is tough.The Lows:I have booked my flights and accomo
The pre-release version of the Harmony cart is now finished and is being sold at the Portland RetroGaming Expo. I expect that the bug reports and feature requests will start arriving soon! Before they do, I though I would write a little more about how the Harmony driver software works.
The Harmony driver is written using a mix of C and ARM assembly language. The ARM assembly is used for the performance critical stuff, like feeding the Atari with instructions, while the C code is used f
GlobeTrotter (Trotter for short) is currently visiting me here in Edinburgh as he continues on his worldwide tour. I was supposed to pick him up at the vgXpo but he didn't make it in time, so he came by mail instead. There were some delays as he got impounded by customs on the way over and I had to pay import duty to retrieve him, but eventually he arrived. If this all sounds like gibberish, then this thread should enlighten you Anyway, he will be continuing his journeys soon, but I have
This is just a quick update on my Juno First game. I hope people don't mind me using this blog as a beta testing area. However, I find it useful to post these development versions as the folks here are quick to spot bugs and problems that I might not notice otherwise. The previous versions had a number of serious bugs, but I hope that most of these have now been resolved. The main features this time are:
All 20 possible sprites are now displayed on screen. This causes some serious fl
There is a discussion currently in the homebrew forum about adding a flashing cockpit to the Juno First ship. One approach would be to use the ball sprite overlaying the player sprite. The ball sprite is used for the laser and is already correctly positioned (horizontally), but I can't find the spare cycles to enable and disable it at the correct time. The main loop where the ship is drawn is a 1LK as follows (the actual code is in kernel1.h in the zip attached to the previous entry):
You need to have a thick-skin to be a gamer in Europe. Since the beginning, we have had to suffer from shoddy PAL conversions, lengthy release shedules, and a feeling of total neglect in the market. I am sure there are parts of the world that are worse off, but Europe always comes in as a distinct third place behind Japan and the US. Particularly galling is that a great many games are actually written in Europe, but are still subject to these problems. The latest insult to us Europeans was
In my opinion, one of the hallmarks of a successful game design is that the player should feel fully immersed in the experience. That is, rather than the player simply feeling that they are controlling the game character remotely, they should feel as if they ARE the character itself. All of the great games that I have played have given me this feeling. For example, when playing Super Mario Bros, I soon start to feel the out-of-body effect and I become Mario himself. I stop noticing the c
As many of you will now know, I have been working on a new Atari 2600 homebrew title called Chetiry. This blog entry should hopefully clear us some of the confusion surrounding the project!
Chetiry is a tetromino matching game that should be familiar to most gamers. The original Chetiry project (Chetiry means 4 in Russian) was started by Zach way back in 2006. However, Zach retired from Atari 2600 homebrewing in 2009 with the Chetiry project still unfinished. I had been hoping to see
Now that the Juno First release candidate is out, I have a bit more time to look at other 2600 programming. I have been interested in batari basic for a while as I have several game ideas that could be done with a custom kernel strapped on. However, until recently I hadn't really looked at batari basic properly.
One thing that has been bothering me is that batari basic doesn't have a way to load playfield data directly from ROM. There are several games (e.g. Cave In) that have a high r
A little spot of nostalgia as I haven't done anything on PoP in the past week:I enjoy reading the posts on the recently formed Atari 2600 Basic Programming Forum. A lot of the issues that are raised, and the problems faced remind me of my own experiences with BASIC programming many years ago. I think it is a shame that modern computers do not come with a built-in BASIC interpreter as it is a great tool for teaching programming to beginners without the complexities of pointers or objects (prov