Or is it 18/10?
Anyway, writing a brief closing post seemed to make sense, so here it is.
To start, it was fun!
Yes, some things did not work as I expected, and others where hard, but overall, I had a lot of fun working and playing with my old computers – and emulators when needed.
It was also interesting to look at all the other projects going around, although I will admit that I did not have much time to see how the other participants were doing.
My goal of having 3 challenges may have been a bit too much. Not that I had to run to finish either, but I had to leave my other hobbies and projects on the sidelines for the whole month.
The First Challenge was to get my old Acer 486 laptop and “to install a full DOS and software package, including some games, utilities and productivity software in it”
Unfortunately, the poor thing is more dead than alive now. I’ll try to figure out what went wrong with it, and see if it can be recovered.
The Seconds Challenge was “to write a game that will run in any CoCo, using the low-res graphics mode (64×32) and no more than 16 KB RAM.”
“Hippo Teeth” was actually easy to write. Not having to create the gameplay mechanics helped a lot. I will try to write a version that runs in a 4 KB tape based CoCo, and another with some extra features, not caring too much if it will run or not in a 16 KB machine.
And the Third Challenge was “to look through my old programs, find some that could use some cleanup, and try to update them.”
And did I find some!
I have 10 disk images worth of old programs, and just by looking in 3 of them, I’ve already found 8 games that I wanted to update.
For the RetroChallenge, I did “Aliens”, “Russian Roulette”, and “Super-Catch-it”
It was fun – and a bit scary – to go over my +30 year old code. I really want to go over the rest of the programs, perhaps 20-30, and create a nice set of not-so-bad new-old games.
Perhaps for the next Retrochallenge? Because I will be there for sure!
As I went back to rewrite what I had lost, at least I remembered most of what I had done. And is not as if it was a great coding challenge. It is quite a simple program.
One of the first things I did was to include multiple computer players. They are quite dumb and will just pull the trigger when their turn is up.
When the game starts, you are asked “How many opponents” from 1 to 5 will play with you.
Then, after you go first, a simple routine takes care of your rivals.
2010 FOR R=1 TO O:CLS:C=C+1:IF C>6 THEN C=1:B=RND(6)
2020 LOCATE 5,5:PRINT”Rival #”;R;” aims and …”
2025 FOR W=1 TO 1000:NEXT:IF CB THEN LOCATE 15,8:ATTR 2,7,B:PRINT”!-CLICK-!”;:ATTR 3,6:FOR W=1 TO 1000:NEXT:NEXT R
2050 IF C=B THEN PLAY”V30O2L32CF”:LOCATE 15,8:ATTR 3,3,U:PRINT”!!!BANG!!!”;:ATTR 3,6:DP=DP+1:C=0:B=RND(6):FOR W=1 TO 1000:NEXT:NEXT R
2090 LOCATE 0,8:PRINT:O=O-DP:DP=0
Having other players gives you the possibility of having a bit of strategy for the game. If the last 4 rivals “click” their shoots, you know that there is a good chance (2 in 6) that your chamber will have a bullet in it. Time to buy a spin, or aim for the floor.
I followed by modifying the “spin” and “aim” routines. Before, the program went back to wait for you to press any key. Now, after you decide to do either action, you shoot.
Finally, it was just a matter of translating and relocating the text.
After a few test runs to tweak and make sure all was OK in the game’s logic, I added a bit of flash when the gun fires. Nothing fancy, just
That makes the background color a light yellow, plays a short pause (does the same as an empty loop, but is far shorter in code), and then restores the original color to the background.
The last two things I want to add are a congratulations screen if you are the only survivor, and better gunshot noises. Probably something like what I used in “Minecamp”
But is already almost midnight. That will have to wait for tomorrow.
My First Challenge, as you may remember, is to fully load an AcerNote730i laptop, with software to match it’s manufacture date of 1995.
I guess I can divide it in three.
1) Choose the software,
2) Get the software, and
3) Load the software.
Even if the computer is from 1995, Windows 95 is clearly out of the question.
Windows 3.1 should not be a problem, perhaps with the computer booting to DOS, and loading Windows manually when needed.
X-Tree was one of my favorite programs back in the day, and it will find its way in there.
Norton Utilities, or at least Norton Disk Doctor should also be there.
Other programs that I used back in the day were Quattro Pro, Arj, Compushow…
Some games must also be there. Maniac Mansion, Master of Orion and Doom seem like a good way to start.
Getting the software should not be that hard. I still have copies of some of the one I was using back in the 90’s, and sites like “Vetusware” make it relatively easy to find almost anything from that time period.
The real challenge will be to get the software into the computer. As I mentioned before, it has no PCMCIA slot, nor network card. That leaves only the serial port and the floppy drive.
I do have a P-III with a floppy drive, and I could get the software to it from either a CD or a CF card reader. But I have not used the floppy drive in years…
And to use the serial port, I will fist need to get a terminal program into the laptop, so I would still need to use the floppy drive for that.
Well, I guess my next step will be to test that floppy drive, the few disks I still have around, and perhaps try to get a few more from somewhere. Let’s see how it goes.
Todavía me acuerdo de la primera vez que instale Windows 95.
Cuando mi pobre 386 termino de cargar, pasé un buen rato mirando las opciones de colores, configuración, y después… creando iconos para mis juegos de DOS. El hecho es que en 1995 no había muchos juegos interesantes para Windows.
Para 1998, las cosas habían cambiado bastante, y gracias a DirectX, prácticamente todos los juegos salían directamente para Windows.
Así que, cuando tuve Windows 98 (2a. edición!) pronto, llego el momento de instalar, no solo el US Navy Fighters, sino también algunos de mis juegos favoritos de todos los tiempos y otros clásicos.
US Navy Fighters 97:
Advanced Dungeons and Dragons rules:
No One Lives Forever:
Blood 2: The Chosen:
European Air Warrior:
Heroes of Might and Magic III
Ahora, a jugar!
That is why, a few days ago, when feeling a bit bored and finding some time in my hands, I started another project. Let’s call it … “Trench of Death”
Just as “Furious Felines” was inspired by “Angry Birds”, “Trench of Death” draws from another modern classic, “Plants vs. Zombies”, but with a scenario changed from a garden to the Death Star.
I guess that everyone remembers the attack against the Death Star at the climax of the original Star Wars movie. The attacking ships have to go through a long, straight “trench” to get to their final target, while turbolasers and TIe fighters try to shoot them down.
In this game, you’ll have to set the defenses along the trench, to prevent the attacking crafts from reaching their target. The ships will be coming from a trench 10 cells long, were you can place guns at 3 sides.
Each gun will have different cost, a “time to build” and power ratings. After the player selects the type of gun to be installed, they will place it either on the sides of the trench, or at the end, meaning that the incoming crafts will be fired upon from the sides and the front.
I have already coded 10 types of gun turrets for defense, and 8 types of attacking crafts, and done some testing to evaluate the game balance.
So far, I don’t have much to show. I have coded the attacking craft movement routines, and tested it with a squadron of 8 ships. Speed seems to be acceptable even with fake routines added to represent the joystick input and gun firing routines.
Next up, allow the player to select a type of gun, and place it in one of the designated spots.
I hope I’ll be able to do it this weekend.
A few weeks ago I was bored and stuck with a PC were I couldn’t run my 8 bit emulators. I then decided to go for QB64 and start on a project that had been running around my head for quite a while.
I’ve always wanted to write an adventure game, something like the classics from LucasArts, or Zork. And I had realized that writing an “engine” would probably be no more difficult than a stand alone game, with the advantage that creating new games would be much easier.
So I started working on what is now “eSage” (for ‘extremely simple adventures game engine’)
It turned out to be far easier than expected, and that led me to keep adding new features, to the point where I had to write a manual, because I couldn’t remember all the commands I had implemented.
The system is quite simple. Each game is divided in “Steps”, in which you are given options that will take you to other Steps, not unlike those “create your own adventure” books.
Each Step has a background image and sound, as many additional images and text as you want, with a list of options that determine to which Steps you can jump to, and the score that you get for choosing that option.
I eventually added support for multiple fonts and colors, random jumps, and a few other features.
It is still not finished, but I think that any improvements that I add from now on will not break the scripts from current games. In short, this means that if you create a game now, and I update the engine, your game will still work.
Here is a sample script:
Number of steps,5
text You are the new Captain of the USS Enterprise/H180/V5/C030444
text and have been ordered to patrol/H385/V6/C030444
text the Romulan Neutral Zone/H350/V8/C030444
Option Helm, set a course/3/10
Option No way, that is dangerous. Helm set a course for Risa/2/0
text While “relaxing” in Risa, you get a VD!/H250/V9/C400004
text Your career in Starfleet is ruined!/H280/V10/C400004
text Sir! A Bird of Prey decloaking on the starboard bow!//H280/V10/C400004/F2
Option Fire at will/4/3
Option Hail them/10/3
In a few days, I will be uploading the “runtime” program, eSage itself, and the manual, to http://www.hscomputadoras.com/HERMESOFT/hermesoft.html
After the success(?) of Furious Felines I started thinking about which would be my next project.
For some time I considered a port of “Felines” to PC, or to mobile platforms. Perhaps, but not right now.
But that reminded me of another game I wrote years ago for the CoCo, “Submarine Hunter“.
I did port, or actually, create a much improved version for the PC platform in 2012.
The PC version has, of course, far better graphics, but also the gameplay was improved. (I hope).
I realized that a far better CoCo version is possible, and decided to get on with it. I’m almost sure that most of the code can be reused from either the original CoCo version or the PC port, and with that in mind, I started creating the graphics. I plan to manage the graphics as I did in “Furious Felines”, drawing all the graphics in an intro screen that will then be loaded from the main program. This makes it easier to update the graphics, and keeps the file with the program’s code smaller.
So, here is a preview.
After the last change, when the game is run, there is a few seconds delay while the screen is being loaded.
At first, I was just going to add a simple “Please wait, loading” message, but I couldn’t help myself.
While adding more graphics, I realized that the initial screen was taking longer and longer to draw. It’s not fun waiting for a minute or more while the game “loads”. But there is a solution for that.
I moved the code that draws the graphics and intro screen to a separate program. Then, using the code from HSAVE, saved the screen and color palette into 3 files.Now, the main game file, FELINES.BAS loads those files to display the intro screen, and then captures the in-game graphics (HGET) from there.
Now it takes less than half the time to finish the intro screen than before, and I can add as many graphics as I want without affecting loading time. The only drawback is that the files that make up the screen, – FELINES.PAL, FELINES.SC1, FELINES.SC2 – are quite big, +32 KiB total. The whole game is now almost 38 KiB. quite big, but still fits comfortably in any floppy disk
With just a few days left before the Annual “Last” Chicago CoCoFEST!, I had to get in gear. I had submitted a preview version of “Furious Felines” for the CoCo Coding Contest, but it was far from what I wanted the game to be.
First, I had to discard the idea of playing music while drawing the introduction screen. I had hoped to play a recognizable tune, playing one note after drawing each line in the cat’s graphics, but it slowed everything too much, and the music did not work fine.
The biggest change came when I decided that the game will allow you to, once you have finished all the levels, replay them, with a higher level of difficulty. To do that, I moved the levels data outside the program, to a data file. In this FELINES.LVL file I could store as many levels as I wanted, and could load and reload it as many times as I wanted. This worked out fine, and will allow me to create a level editor at some point.
Also, I added a random factor to the wind in each level, to give a better replayability (is that a word? Or what?), and a wind speed indicator at the top left of the screen.
With this changes, and 6 playable levels that could be replayed until the mouse escapes, version 1.0 of “Furious Felines was ready for the public unveiling.
Interpreted BASIC, in a 25 year old computer, is not fast. That is a fact.
Trying to improve the animation speed and reduce flicker, I did something I have never tried before. A look-up table of sorts.
The idea is simple. Calculate all the points in the cat’s trajectory while it jumps, and store them in a matrix. Then, animate the jump reading the graphic’s position from that matrix instead of calculate it while drawing the animation.
But I found two not totally unexpected problems.
- The calculations took about 5 seconds. During that time, the game had an ugly pause in the action.
- I found out that most of the flicker is actually because of the time it takes for BASIC to draw the graphics in the screen. Having no delay between the command that deletes the cat’s old position, and the one that draws the new one did actually create a flicker that was in some aspects nastier than before.
So, back to the old code.
The good thing is that it was not hard to implement at all, and I’m sure I will find another chance to use it.
I’ve done a lot since my last post, but not as much as I should have.
First, I did make it “prettier” 🙂
I did change some of the game logic, and I have a scoring system.
Also, level creation should be pretty simple, it’s just a matter of creating them in a way that they are challenging, but not to much.
Now, I will make it fully playable with at least 5 levels. Once I reach that point, I will keep adding graphics and animations, fix some minor glitches, and clean up the code.
Most of what could be called the “game engine” is ready.
- Animate the cat that jumps from the top of the pile.
- Create new graphics for the cat while it is waiting to be launched, and while it is flying.
- Make up my mind about how score is going to be awarded.
- Create the levels.
- Make it pretty! 🙂 That is, ad some backgrounds, messages, and so on.
Here are some updated graphics, showing the 3 different cats.
The length of the jump depends on the one on top of the pile, and the one that is going to jump.
The Tabby is heavier, and the Siamese is the lighter one.
A few days ago, there were a couple of threads in the Color Computer mailing list regarding
a) The possibility of an “Angry Birds” like game for the CoCo and
b) A coding contest.
This emails gave me the idea for the game (I even took the name straight from one of the messages)
The cats want to catch the mouse, but the walls are to high to jump over, so they decide, in the best cartoon way, to use a seesaw and catapult one of them over the walls to get to the mouse.
On the left side of the screen, you pile up the cats. More cats, higher jump.
There are 3 different kinds of cats, some heavier than others, and that will affect how high and far the jumper will make it.
In a nutshell, that’s the idea. Let’s see how well can I implement it in old school BASIC
Alentado por el éxito(?) de mi primer juego para PC, “Cat & Shark” – lleva ya casi 50 descargas 😛 – me metí a hacer un par de proyectos mas.
El primero, también para PC, esta inspirado en un clásico de los 80s, “Dungeons of Daggorath”
“Back to Daggorath” no tiene fecha de salida. ¿Por que? Porque le estoy dando prioridad a …
Ehhhh, si…. No, no es un juego para PC…
Es para mi CoCo. Una furia de 8 bits a 1.78 Mhz!
Pero cuando este pronto, haré un port a PC…
If you read my first post, you might have noticed that I use a strange program called "Seamonkey" for my Internet needs, instead of the popular Firefox or the risky Internet Explorer.
To explain why, I have to take you back in time, to 1996, to the First Browser's War. At that time, I was using Netscape Communicator. I just loved having a single, perfectly integrated program that could take care of browsing, email, and web page creation..
When the original (4.x) Netscape died, Mozilla and Netscape 6 came out, and I switched, but it was clear that this where not really 100% what they should be, with long loading times and a sluggish interface. That's when Firefox (Phoenix, as it was known then) was born. The idea was to have a browser-only lightweight competitor to IE. But as time went on, Mozilla was becoming faster, and Firefox, now the favorite, was getting more and more features. By 2006 the Mozilla Suite became "Seamonkey" after being abandoned by the Mozilla Foundation and saved by the user's community.
As of today, Seamonkey 2 has the same rendering engine that Firefox 3, and it's smaller and lighter than Firefox+Thunderbird.
That's why I say NO to Firefox, the little browser who grew to much, yes to Seamonkey, "the all-in-one internet suite"
P.S. If you are looking for a really light browser for M$ Windows, try K-meleon
This last weekend I installed Windows © XP in my main PC.
I have been using Windows 2000 for the last 4 years, and have been quite satisfied with it's speed and stability.
But lately, more and more software makers have been dropping support, limiting my options.
I figured that it was time to go for XP.
After 3 service packs and 6 years, it should be mature enough, and the improved compatibility should make up for the slower response. (I don't believe what Microsoft's marketing department tells about ever new version being faster, I've tested it, and it's slower, even in my 2.6 Ghz / 1 MiB PC)
Then, when I was reinstalling my software (the upgrade option would not work, even after trying whit different versions and CDs) I realized that I'm using many "beta" versions of my favorite programs, and even the "alpha" version of thw Seamonkey Internet suite.
Why is it that I resent using a 6 years old version of Windows, but will gladly install Seamonkey 2.0 Alpha?
Let's see… Both ar significant improvement over older versions, offering many new features.
But most of Windows XP new features are not anything I like to use. On the contrary, I usually find them annoying and childish.
On the other hand, the lattest "alpha" version of Seamonkey has some very nice new features, a new "core", and it is 25% smaller and runs faster!
Now at least I know why sometimes I just have to have the lattest version of a program, while with some others, as long as the one I use works, upgrading sometimes feels more like DOWNgrading