Jump to content
IGNORED

XB256 Musings & experiments


Retrospect

Recommended Posts

SUB256.zip

 

SUBHUNT-256

 

Load in Extended Basic (32K only)

Use keys S and D for left and right, Space to fire missile

P to pause / unpause

 

Blow up the submarine before it reaches the surface and shoots you!

Each time a submarine reaches the end of the screen it reappears at the other side, further up, and travelling faster.

Score is calculated on distance of sub when shot

 

Features:

 

Parallax scrolling of sea

8 submarine types (random)

Pause / Unpause

Score & High score

 

  • Like 6
Link to comment
Share on other sites

Cheers Ksarul & Rasmus.

 

It's based on an old type-in game from Computer & Video Games, the one from Firefly, "Substrike"

 

Substrike was 4K in size and worked in XB on a stock console, though :)

 

As I was writing Subhunt, I found myself developing new tricks - like when the submarine or player ship blows up at the bottom, we have to keep using the scroll routine else the sea stands still.

 

One improvement I'm going to do, before I'm finally done with it, is make the submarine fire a shot at you on the column before last towards the sea surface. Player can try to avoid that shot but will always get shot if and when the sub reaches the top anyhow, just to add a bit more difficulty to it. I love the pixel scroll routines in XB256 they are awesome.

 

A mistake I was making at first, when I first tried my hand at this, was using a set of incrementing variables to count up so far before it goes to a scroll routine, when I actually read the book and found how it really works, that's simply not necessary. Up to five instances of scroll can be addressed in any single CALL LINK command. So with that, the sea scroll was easy 'cos as far as I remember I only had four layers scrolling. Or was there five ....

  • Like 1
Link to comment
Share on other sites

Nicely done! I love the scrolling effects :thumbsup: . You should not stop there however as there are many possible expansion options, like perhaps at higher levels there are more than one submarine, or there is a need to hit the sub more than once to sink it, or the possibility of firing a spread of depth charges with the sub randomly changing depth and speed...

I would definitely add a randomness element to the sub starting location and speed because after a while it becomes very predictable. Also the collision detection seems a little fuzzy.

This has the making a great arcade game.

  • Like 1
Link to comment
Share on other sites

Nicely done! I love the scrolling effects :thumbsup: . You should not stop there however as there are many possible expansion options, like perhaps at higher levels there are more than one submarine, or there is a need to hit the sub more than once to sink it, or the possibility of firing a spread of depth charges with the sub randomly changing depth and speed...

I would definitely add a randomness element to the sub starting location and speed because after a while it becomes very predictable. Also the collision detection seems a little fuzzy.

This has the making a great arcade game.

Cheers Vorticon.

 

Yes, I am definately not through with this project yet, at the moment, it's in a playable state, let's say that .... There's things I'd like to add to it, those that you mention, regarding the randomness, that's going to be put in ... I also want the submarine to be able to fire back at the player ship.

 

Random starting location and speed is a great idea. That's very do-able. I think that could be something that could involve different levels ... the harder the level, the closer it gets to you.

 

At the moment the submarine progresses 16 pixels upwards when it reaches the end of the screen, if I change that to 8 pixels it means we have a lot more room to play with and can do the random column appearances more effectively (you wouldn't want it right underneath you , for instance)

 

There was one thing I wanted to do this afternoon but I think it might slow down the scrolling of the sea too much, and that is to have little bubbles coming out of the back of the submarine. That may, or may not happen I don't know yet.

 

The collision detection at the moment is awful. I've gotten past 1000 points and the damn thing let me down. I think it happens when the sprites are travelling past motion value 20 and the fact that the front end of the sub seems to be not checked as much (which is weird because the CALL COINC is there for both front and back) ... I'll look into that.

 

I still have about 10K of programming memory left. What to do with that 10K .... I think one possibility is a level where you have to salvage documents from the downed vessels ... whilst avoiding sharks and pirahna fish. (It would give it an element of Blackbeards Treasure).

 

I also want to look into putting an intro tune onto the title screen (thats where the sound list player comes into it)

 

:)

Link to comment
Share on other sites

Just a little update - nothing to show yet but here's my plan so far:

 

16 Levels of play.

Each level has 8 submarine types that attack solo one after the other

At the end of each level , you must dodge rising mines in the water that blow up on the surface

At the start of level 4 is a real badass submarine that tries to kill you by firing up at you. It will appear randomly from then on throughout the game. (MAYBE)

Inbetween different enemies is a warning on the screen with a sonar noise (except the mine dodging one that will have a hooter)

  • Like 3
Link to comment
Share on other sites

I've come up with this , its very much just a prototype thing at the moment, badly put together , none of the sounds start or shut off when they should and the player won't die if he touches the enemy submarine cruisers.... But .... you can fire at the subs and you can crash into the ground.

 

8 layers of parallax scrolling is used (or was it 7 .... )

 

SUBTEST.zip

 

Classic99 27_04_2016 22_08_30.mp4

  • Like 4
Link to comment
Share on other sites

Haha .... yeah I should be calling it that!

 

......... I've been tinkering again ..... and this time, I have come up with a game that will drive whoever plays it utterly bonkers .... TEDDY has you attempting to steal teddy bears from a factory, you have to press SPACE to catapult the teddybear from the moving conveyor belt through a gap in the roof! ... This game is monotonous and hard but it does use a couple of XB256 features:

 

Scrolling by pixels for the conveyor belt, scrolls 2 pixels per time two different ways with animated sprites for the conveyor belt wheels

 

Use of the Soundlist Player thingy ... and it works very well! It's a bit complicated to follow but I got it in the end and the game has a continuous (short) soundtrack that plays uninterrupted in the background.

 

Runs in XB ! Give it a whirl and tell me how annoyed you got.

 

TEDDY.zip

  • Like 4
Link to comment
Share on other sites

  • 3 months later...

I've made a little game that uses the scrolling in XB256 again ... this time, I would like people who have the time, or the curiosity, to try this game , and with the source provided (which is documented) try and make alterations to it, to add things, or make it do different things! Newcomers to XB256 will find this quite handy.

 

Points:

 

* The delay subroutine at line 9000 is set for a compiled version of the game, and as such needs lowering to about 16 instead of 350 if you're not compiling

 

* All the delays in the game are set for compiler (the one in the explosion routine needs lowering)

 

* You only get 1 life .... you could add a feature that gives you more lives. The lives can be displayed at the bottom of the screen, so long as you alter any CALL WINDOW commands to 23 instead of 24 for the column.

 

Have fun.

 

treasure trove xb256.txt < --- source ... alter at will.

 

TROVE.zip <---- compiled FIAD file (fine for Classic99 & JS99er)

  • Like 2
Link to comment
Share on other sites

Another thing to note, mainly for beginners .... If you want a less cluttered up screen, you should alter line 120 to this:

120 Z=INT ( 6 * RND ) + 1 :: X = INT ( 6 * RND ) + 1 :: IF Z = X THEN 121 ELSE 130

 

Or, alter it from 6 to 9 for both Z and X for even less clutter (the game would become very easy compared)

 

You could even have the numbers stored in two variables that get lower , the more screens you complete, thereby giving the game proper 'levels'

Link to comment
Share on other sites

I do like what you've been able to pull out of XB256 @retrospect. It is a wonderful tool that hasn't seen a lot of love yet.

Thanks Ksarul. I'm still quite a newbie to it myself, I wish I had more time to spend on doing things and actually commit to projects properly.

 

XB256 is truly great. :)

  • Like 2
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...