Jump to content
IGNORED

Space Harrier Released


Sheddy

Recommended Posts

I built this from the sources on Chris's web site with ATASM 1.07. The only changes are to bank000.asm and bank127.asm, which are also attached.

 

It seems to start fine from bank 0 or bank 127, but should be play tested.

 

The build command was "atasm -f255 -r"

 

Steve

Space Harrier (Bank 0 Start Patch).zip

  • Like 1
Link to comment
Share on other sites

Most of the People with real Machines surely use the cart price on a Night or a Dinner.

 

No, not me. I pay 2x £3.50 (= ~$10) for a meal for two when I go out! I like a nice carvery meal. This way it then leaves me enough money to buy more Atari goodies!

 

I appreciate that there are people here where money is tight, but then Chris/Sheddy did produce a game which can be used in emulators.

 

It's nice that Sal has dropped his price for the game and I'd say that if you can afford it and you like the game, go out and buy it! Lets be honest, with our userbase being so low in numbers, it's not like he can be making a killing from his ventures.

Link to comment
Share on other sites

I built this from the sources on Chris's web site with ATASM 1.07. The only changes are to bank000.asm and bank127.asm, which are also attached.

 

It seems to start fine from bank 0 or bank 127, but should be play tested.

 

The build command was "atasm -f255 -r"

 

Steve

 

Thanks for the fix, Steve :thumbsup: I needed to get some sleep before I was going to tackle it.

Link to comment
Share on other sites

Today I have been playing the game a lot, and I must say: it is AMAZING.

 

I am especially surprised by the speed of this game. Everything runs so fast, it is hard to believe this is an Atari 8bit computer.

 

one question

 

After I died in a stage, I wish to be able to continue on that stage. is that possible? I can not select another stage, than stage 1 in the mainscreen. I can understand this is not possible from a cold start, but even when I died in another stage (not 1) I have to start in 1.

 

From what stage it is possible to start from there?

 

But besides this: This games rocks, even with the flicker screen. I would say a very big THANK YOU for this.

Link to comment
Share on other sites

Today I have been playing the game a lot, and I must say: it is AMAZING.

 

I am especially surprised by the speed of this game. Everything runs so fast, it is hard to believe this is an Atari 8bit computer.

 

one question

 

After I died in a stage, I wish to be able to continue on that stage. is that possible? I can not select another stage, than stage 1 in the mainscreen. I can understand this is not possible from a cold start, but even when I died in another stage (not 1) I have to start in 1.

 

From what stage it is possible to start from there?

 

But besides this: This games rocks, even with the flicker screen. I would say a very big THANK YOU for this.

 

It was quite a few pages back, but this post explains a bit about stage select and continues

Link to comment
Share on other sites

Congratulations on getting to the finish line Sheddy!

What a great "piece" of code (all 7843 files :)) .. best conversion ever for the A8 IMHO.

I always liked the original arcade game (I finished it with 3 credits at some point :D), so I appreciate it more I suppose.

I hope everyone at least look at your "comments.txt" file, to see how to manage a project like this over time.

 

Please, take a (small) rest and start another "impossible" project, to fill those empty hobby hours :)

(just asking.. apart from SH what other arcade games have you liked?)

 

Regards.

 

Thanks NRV - too kind. Some arcade favourites that spring to mind: Defender, Mad Planets, Exed Exes, Truxton, R-Type, PacLand...

 

Now, was there something you need to be doing too? ;) Please - don't take as long as me!

 

And thanks to everyone for showing your appreciation (even if it is a bit over the top IMHO :) )

 

BTW I have no problems with the questions raised about the format chosen, and I hope I explained my reasoning clearly; but thanks for the support.

Link to comment
Share on other sites

@Sheddy

 

Other than "don't take on such a big project", what have you learned over your last 10 years with regards to programming? Have you drastically improved your programming skills over this time? Did you know how to use all the features of the Atari before starting this project?

 

So many questions....

What was the most difficult part of the game to implement technically?

Which sections of the code are you most proud of?

What would you do different with the code if you was to do it all again?

 

..!

  • Like 2
Link to comment
Share on other sites

+1 for that question. I too would really enjoy hearing that commentary.

 

(sorry for over the top Sheddy. Sometimes I wonder whether or not people value the effort properly, that's all. --well, not too sorry, but totally down with it being characterized as over the top)

Link to comment
Share on other sites

+2 for the questions also.. in fact let's add more, like:

 

- what projects do you think would be feasible with the A8 + AtariMax combo and your current knowledge?

- if you were to work in this as a (paid) job, how many months do you think it will take you to complete SH (with your last engine rewrite)?

- was the project always "fun" to you?

 

nah.. not sorry :)

personally, when I create anything just for fun, I think the best reward is people's appreciation at the end.. and that they like it

 

Exed Exes! nice memories :D .. I really like some of the classic Capcom shooters.. that one and Gunsmoke are among my all time favorites (Vulgus is also very intense, but with less variation.. simple enough for a port maybe :)).. in fact I think I'm going to put the LCD on the side and play some rounds in the PSX, with the Capcom classic collections..

Link to comment
Share on other sites

@sheddy

 

Ah thanks! It is a fabulous conversion. I have been playing this for around 10 hours now and I am improving! It is so much fun!

 

One thing I was wondering: why doesn't it save that stage settings? After I switched off the atari I was not able to select stage 6 and I had to start from 1 again. Solution is keep the atari switched on :) but it would have been also great when it was stored on the cart too.

 

Is there any chance you will put that in a future release?

 

Anyway: great great game!

Link to comment
Share on other sites

@Sheddy

 

Other than "don't take on such a big project", what have you learned over your last 10 years with regards to programming? Have you drastically improved your programming skills over this time? Did you know how to use all the features of the Atari before starting this project?

 

 

OK, at the risk of boring everyone else and overstaying my welcome by bumping the thread, I guess I can answer some of the questions :P

 

I've learned quite a lot about programming the 8-bit over the years, but there's still a lot to learn from veteran developers and professionals in the best ways to approach big projects and being organised. For example, people look to create a state machine as a starting point for anything beyond simple games as it soon gets very messy otherwise. Any resemblance to a state machine in Space Harrier XL/XE is purely a co-incidence! I learnt most everything I know from doing this project and am self-taught, so while everyone can look at my source code, I couldn't necessarily recommend it as an template or a particularly good and clean way of doing or organising things.

 

I still don't know how to use all the features of the Atari well! Most of what I learnt did come from trying to do this project. Things such as IRQ timers, I had no real clue about until about half-way through the project, and I still had some misconceptions about them until only a couple of years ago.

Link to comment
Share on other sites

@Sheddy

 

So many questions....

What was the most difficult part of the game to implement technically?

Which sections of the code are you most proud of?

What would you do different with the code if you was to do it all again?

 

..!

 

The way of drawing the software sprites went through many iterations before ending up where it is now, 256 byte wide screen layout, and taking advantage of the massive storage capacity and access speed of the 8Mbit cartridge. The game could fit in probably a 1/4 of the space, but the frame rate would have suffered. Although not part of the game, the conversion program for the software sprites was difficult and is very messy, mainly because of my attempts at making some size vs speed optimisations, using rule of thumb methods, as I lack the necessary mathematical analysis skills required. That said (in answer to your other question), I am relatively proud of the code it spits out to draw the sprites.

 

The code that controls anything that flies around was probably the most complex - the pattern sequencer, decoder and handler (not really a "handler" in the strictest sense of the word - just needed to distinguish it from what I was already calling the sequencer). Although I tried to design it carefully, it had to be rewritten a couple of times as I kept finding things the arcade game was doing that my routines couldn't. It is the heart of the game, and I guess I'm quite pleased with the code. The data for all the movement patterns is quite minimal - under 4K.

 

If I had to do it over, <shudder>again(!)</shudder>, maybe I would try to make the framework cleaner by using some of the state machine way of thinking about things, and I would have given more thought to disk versions for very large RAM systems (but that seemed even crazier to me than big carts back in 2003, when I ditched the 130XE only disk idea). Also, maybe to make better use of the Maxflash cart, for things like Marius1976 is suggesting. The code for the high score saving is sort of incomplete too - if someone improves their high scores gradually enough it could be possible for it to stop saving any more high scores until they are cleared - That will happen if you get onto the high score chart more than 744 times.

I also wanted to include some missing graphics from the original, such as the huge explosions that happen sometimes when you blow up ground based stuff.

Edited by Sheddy
Link to comment
Share on other sites

Hi Sheddy,

Thank you for your replies. I am sure that there are many people who are interested in what you have to say. You're definitely not boring me and I guess many others.

 

I find what you say very interesting as I am programming a game and on the front of it, it looks like it hasn't progressed at all for quite a while. However, behind the scenes, my build system is much better, my code is cleaner and more readable, there's a lot of reusable code (for other projects) and I'm sure everything will get rewritten again. So I find it interesting to know what you've been through in your development cycle (and recycle!).

 

You are definitely a master of the understatement (very British!), not over-inflating your ego. However you have just produced what is technically one of the best games ever to appear on the Atari. Even if your code (in your mind) is a mess in parts, I'm sure that if you looked at some of the code in other games which have done well (Rescue on Fractalus etc), they'll also be a bit of a mess. Nobody produces perfect code.

 

The one criticism that the game gets predominantly is flicker. Personally I feel that is unjustified. Yes, it does flicker, but if you didn't have it flickering, you'd have 4, maybe 5 colours. This game would look awful in such few colours. I can understand why your front screen is so dark, you're limited by the Atari and you can't please everybody. You put your stake in the ground and chose your trade-offs. Well done to you.

 

Take a look at Crownland, that also got criticised for flickering (in it's case with PMGs), but still, it's one of the best games that the Atari has.

Edited by snicklin
Link to comment
Share on other sites

+2 for the questions also.. in fact let's add more, like:

 

- what projects do you think would be feasible with the A8 + AtariMax combo and your current knowledge?

- if you were to work in this as a (paid) job, how many months do you think it will take you to complete SH (with your last engine rewrite)?

- was the project always "fun" to you?

 

nah.. not sorry :)

personally, when I create anything just for fun, I think the best reward is people's appreciation at the end.. and that they like it

 

Exed Exes! nice memories :D .. I really like some of the classic Capcom shooters.. that one and Gunsmoke are among my all time favorites (Vulgus is also very intense, but with less variation.. simple enough for a port maybe :)).. in fact I think I'm going to put the LCD on the side and play some rounds in the PSX, with the Capcom classic collections..

 

Well, the A8 + large cart can make possible some graphically and sonically intensive things that you wouldn't seriously consider otherwise. I don't know what projects might be particularly suited though - certainly other 3D style games - Anything that has a lot of graphic data, or large graphics and sound samples could benefit enormously. How about Street-Fighter? Because the player/missile system is relatively poor for a lot of game types, compared to say, the C64, we need to make the most of software sprites, which are slow at the best of times on 8-bits - to make them a bit faster requires a lot more memory than usual methods (as you know from your experiments of course). The major problem for the little Atari, as always, is the lack of colour depth with enough resolution. Maybe, just maybe, some of Jose's ideas (unfortunately quite often almost impossible to pull off in a real game with full freedom of movement) could be more easily realised by use of large carts and lots of kernel like routines.

 

If it was a real, paid job, I would have been sacked a long time ago! I have no way of answering your question though, because that isn't how it happened and I have the answers now; I don't know how long some things would have taken to pop into my head on how to do things even if I worked at it full time. A game very similar to Space Harrier (say Space Harrier II) might only take six months or so with the help of a graphic artist, as it would mainly be about getting level data and pattern data in there.

 

There were quite a few times when things weren't going well with the project and I was not finding it fun. Ideas that didn't pan out, difficult compromises and almost impossible to find bugs made me pretty depressed at times. But when things do eventually begin to come together, or you find that dreaded bug, the highs can really something, as I hope you know (or will know soon)! Of course, people's appreciation is also nice too!

 

I remember seeing the games you mention, but they were never at the arcades we usually went to.

 

Oh! Nearly forgot: Salamander! (and what a wonderful version the C64 has - it's a shame our 8-bit isn't quite as great at 2D shooters as the C64 - I still would've liked to see something similar on A8 though)

Link to comment
Share on other sites

Hi Sheddy!

 

Thanks for this wonderful game and for releasing the source code! It's a pity that I completely suck when it comes to gaming, but what I saw so far is absolutely impressive!

 

Today I had a quick look at assembling the game from source, and as I'm using Linux I had to make a few changes. The usual stuff: directory separator '/' instead of '\' and some upper/lower case filenames.

 

I've attached the changed files (just copy the contents of the ZIP file over the original source). It assembles fine both under Linux and Windows XP (used atasm 1.07) and the resulting sh.bin is identical to the original.

 

Here's also the shell script I used to patch the sources:

#!/bin/sh
find . -name \*.asm -exec \
       sed -i \
       -e 's/^\(.*\.include[^\\]*\)\\\([^\\]*\)$/\1\/\2/' \
       -e 's/^\(.*\.incbin[^\\]*\)\\\([^\\]*\)$/\1\/\2/' \
       -e 's/"atarimax/"Atarimax/' \
       -e 's/"converted/"Converted/' \
       -e 's/"Converted\/\([a-zA-Z0-9]*\)sizes\.asm/"Converted\/\1Sizes.asm/' \
       -e 's/"Converted\/charset2chars\.bin"/"Converted\/charset2Chars.bin"/' \
       -e 's/"Converted\/charset2map\.bin"/"Converted\/charset2Map.bin"/' \
       {} \;

so long,

 

Hias

sh-diff.zip

Link to comment
Share on other sites

Well, the A8 + large cart can make possible some graphically and sonically intensive things that you wouldn't seriously consider otherwise. I don't know what projects might be particularly suited though - certainly other 3D style games - Anything that has a lot of graphic data, or large graphics and sound samples could benefit enormously. How about Street-Fighter? Because the player/missile system is relatively poor for a lot of game types, compared to say, the C64, we need to make the most of software sprites, which are slow at the best of times on 8-bits - to make them a bit faster requires a lot more memory than usual methods (as you know from your experiments of course).

 

 

 

...Well, the inherent difficulties you depict above are (ironically) what makes the little {Atari 8bit + Space Harrier} combo truly special: there you have a machine/platform (GTIA, ANTIC, PIA, POKEY, main CPU) that came almost FIVE (5) years BEFORE the C64... yet it is capable of delivering such an impressive performance, considering its absolute capabilities (this is the very-hard-to-stomach part for C64 lovers :) ). Had the Atari had the same CPU clock-speed as the C64, it may very likely not be capable of delivering the smooth, lightning-fast gameplay that your port is currently delivering, regardless of how much extra memory.

 

It is very interesting but we seem to have come into a full circle, with respect to the original (and unforgettable) impression that Star Raiders caused... now almost thirty years after, with masterpieces like Yoomp!, and now this brutal port of Space Harrier, loaded on a lofty 1MB Cart. What somehow seems impossible, it ends up being a reality... And I guess that's one of the nicest productivity feelings you can get anywhere, from anything you may chose to do... There's hardly a more re-assuring, confidence-instilling, satisfactory feeling than this, even if it stems from work delivered for a 25+ years old computing platform... :)

 

I am personally convinced that gram-by-gram, byte-for-byte, all-in-all, these little Atari 8bits have no substitute.

 

Cheers,

 

F.

  • Like 3
Link to comment
Share on other sites

I love the speed and accuracy of the game most.

 

Play stage 9 and you would never believe this is on an atari 8bit computer!

 

How fast goes that! Superb!

 

And till now I haven't had the idea that I crashed without my own mistake!

(there are games where the controls s*ck bigtime and I crash because of that)

 

No this game is really something new.

 

I managed to get 8.7 million points... When I closed my eyes in bed I still saw all those objects rushing into me!!! Waaaaaah hehe

Link to comment
Share on other sites

I got the cart yesterday and finally got around to putting it in. I never really liked Space Harrier when it was in the arcades, probably because it ate my quarters too fast.

This game and Steve's sale was an opportunity I didnt want to pass up. I have to say 10 years is a long time, but it was worth it. I will have to keep this plugged at home.

 

Thanks Sheddy for this labor of love.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...