I'll check it out later. How about posting updates here as well? After all, thats where the contest is happening . Plus you'll get feedback/suggestions/help etc. A screenshot or two would be good to see what you are up to, because not everybody can build your game.

(I'll consider it once I get used to working with Basic. Right now, still figuring out what I can/can't do easily)

No worries. Just remember that we're here to help. Also, if you are starting with IntyBASIC, I encourage you to download the SDK. It contains a lot of cool examples on how to use the features of the Intellivision.

You may want to check out the "Inty-B Intro" that some of the guys prepared. It shows what sprite capabilities are available on the Intellivision. The SDK contains the full source code to the demo, so you can see how it is done.

OK, I got a chance to check out the program. Looks good, I like how well organized and coherent the code looks. I also agree with GroovyBee that the "ASCII Art" look is rather cool.

The choice of using the arrays to keep track of the bullets is ingenious and effective.

I have a couple of questions:

Why are you pre-seeding the first screenful of bullets, instead of letting them come in from the right edge?

Of the pre-seeding, why are the first 8 columns following a pre-set pattern, and the rest are statically set to the same pattern?

What will be the object of the game?

One suggestion I have is to draw the player's avatar using a sprite (or a couple overlaid). you can still load them with ASCII-looking graphics, but it will solve the problem of having to re-draw the first column separately (although it seems to work rather well now). With a Sprite, you can move it on top of the background independently.

Also, I think the scrolling would be more effective with less bullets sprawled on the screen. Whey they are tightly packed together, the movement effect is diminished significantly.

OK, I got a chance to check out the program. Looks good, I like how well organized and coherent the code looks. I also agree with GroovyBee that the "ASCII Art" look is rather cool.

The choice of using the arrays to keep track of the bullets is ingenious and effective.

Thanks.

I have a couple of questions:

Why are you pre-seeding the first screenful of bullets, instead of letting them come in from the right edge?

Of the pre-seeding, why are the first 8 columns following a pre-set pattern, and the rest are statically set to the same pattern?

Wanted to make sure my logic for parsing the array was correct. By doing different patterns, I could make sure it loaded each row/collumn properly.

But yeah, it will be 0's in a later release.

What will be the object of the game?

Well, still working on that one.

At the very least, it'll be dodging. Bullets come in, each row you sucessfully dodge will be a point. Get hit, bullets clear, and you lose a life. Lose all lives, game over.

Playing around with the possibility of adding actual enemies that'll do the shooting (since I have to do something other than random to make sure you have a possibility of surviving), having the player being able to move forward/backward as well, having the player be able to shoot back at enemies, sheilding, etc. We'll see. One step at a time...

So, it's been a while since I posted, but been kinda busy with work, school, life in general, etc.

However, had some time today to pluck away at it, and can finally say:

It's now a game

There's been a number of updates to get to that point. For those who don't want to go through the commit logs:

I added a "fake player" on the other side of the screen. Right now, it's visible for debugging. The purpose of this fake player is to clear a path, guaranteeing that it's 100% possible to go from row to row

Movement locking. While trying to dodge bullets, I found it somewhat uncontrollable. So, I implemented a basic lock which makes it so you move on button press, but can't move again until button release.

Lives. Nothing fancy, just a way to keep the player going after making a foolish mistake or 2. Make 3 however, and you're out of luck

Collision & Game Over. You can now lose the game and get a score.

Here's a video of the gameplay so far (note: I did deliberately die, didn't want the video being too long):

Based on some past posts in this forum, I am not sure if it is "better" to use 16-bit variables or 8-bit ones, so you might not have to limit yourself to an 8-bit variable because you think your data structure will be small.

Added horizontal movement. There's a minor flickering issue. Looking to redo some of the rendering stuff (going to mark the player's old position as dirty and just re-render that) which should help take care of it.

Found out that the latest version of IntyBasic is actually 1.1.0 (EDIT: just got an email, it's actually 1.2 now ), which includes the ability to define functions (DEF FN). Updated to that, which didn't change anything so far. Definitely will be helpful later.

Next big steps:

Difficulty adjustment. I have a menu, let's have it server a purpose other than a buffer between games

Bombs. The game's hard. Let's make it so you have 3 bombs that'll clear bullets around you.

Refactoring. Probably the first thing I'll do. Code's gotten a little messy, and there's some new stuff (EDIT: 1.2 has END IF?! ) that should help tidy things up.

Man, that 1.2 update of IntyBasic has really helped clean up a bit. Granted, some of my coding preferences are starting to show (there's a number of IF/END IF's that could be done on one line, but I decided to do a full IF block)...

I did fix the flickering when I migrated to a single render_line procedure (and thus removed calling render_player_col when updating bullets).

Only 2 main gameplay changes have taken place:

I fixed a bug where you could go left off the screen

There is now ramping difficulty. Color changes between light/dark green when it ramps up

Will take a look at shields next (probably sometime this weekend). I decided it would be more immersive to use a shield and keep the bullets flowing than to have a bomb that clears everything (that, and I can use it instead of a full screen clear whenever the player dies). Shouldn't be too bad now that I have a single procedure for rendering a column to the screen. Will probably play around with some of the more graphical cards like so:

It seems the user position is updated with the refresh rate of the rest of the bullets. This makes the game feel sluggish and unresponsive. I recommend you try to update the user position as close to "real time" as possible to improve the "feel" of the game.

I managed to move all the way to the right, and as soon as I got to the 17th column (two from the edge), my avatar disappeared! I think I lost a life, but when the level restarted, the player avatar wasn't there. Sorry, just re-tested this and it was that I died. The "Game Over" message is not too noticeable.

It is hard to tell when the player loses a life. It looks like I am going to collide... then... things look the same except that the bullets moved back. Perhaps there should be a more "formal" sequence. Here's an example (inspired by Defender): on collision, stop all motion for a brief moment, then flash the player's avatar and explode it. The explosion could be just replacing it with a "#" symbol temporarily in an "explosy" colour such as red. Then, after a brief pause, continue.

By the same token, it is hard to tell when the game is over. Perhaps it would help to display the "Game Over" message in the middle of the screen after the player's avatar exploded (see above).

NEEDZ MOAR COLRS!!!!!! Seriously, why only Tan and Black around the background? I don't expect the game to look like Rainbow Bright, but maybe a bit more highlight and style around the HUD would make it more appealing. I suggest judicious use of Grey and Blue to give it a more "spacey" feel.

Needs a goal. Perhaps have a countdown to the "end of level," or a distance meter for the same. I don't know. I will tell you that without a clear and specific goal, the game will have very limited appeal and re-playability. I'm not talking silly achievements for the ADD kids, I'm talking about completing a mission, a level, or the game itself. Give it a short and simple story, and immerse the player in it. One possible goal: survive a wave of bullets until the enemy runs out and reloads. Then maybe give a bonus if the challenge is completed below a predetermined time threshold, and the player gets ready for the next meaner and faster wave. The key is to somehow depict progress and completion in a clear way.

To fire or not to fire? For some reason I want to shoot my way through those bullets with my side-scrolling spaceship. I know, I know, it's not that kind of game -- but it could be...

Paint the "dummy" ship a different colour. I know you stated that its purpose is to guarantee a path, but let's face it: He's the enemy! And he must die!!! It's time to adopt him as an official NPC of the game and give him purpose -- even if his purpose is just to move menacingly up and down the enemy's gate. Giving him a different colour at least makes him distinct from the player.

Thanks for the very thorough feedback. I keep forgetting that what people want are usually different than what I have in mind. Anyways:

It seems the user position is updated with the refresh rate of the rest of the bullets. This makes the game feel sluggish and unresponsive. I recommend you try to update the user position as close to "real time" as possible to improve the "feel" of the game.

Turned out to be an issue with X movement only. Forgot to rerender the screen on horizontal movement.

I managed to move all the way to the right, and as soon as I got to the 17th column (two from the edge), my avatar disappeared! I think I lost a life, but when the level restarted, the player avatar wasn't there. Sorry, just re-tested this and it was that I died. The "Game Over" message is not too noticeable.

By the same token, it is hard to tell when the game is over. Perhaps it would help to display the "Game Over" message in the middle of the screen after the player's avatar exploded (see above).

Yeah, it's on my list of graphical updates. Going to put it in the middle like the "LEVEL XX" message.

It is hard to tell when the player loses a life. It looks like I am going to collide... then... things look the same except that the bullets moved back. Perhaps there should be a more "formal" sequence. Here's an example (inspired by Defender): on collision, stop all motion for a brief moment, then flash the player's avatar and explode it. The explosion could be just replacing it with a "#" symbol temporarily in an "explosy" colour such as red. Then, after a brief pause, continue.

Going to roll this in once shields are implemented (that way I can respawn the player with a shield). Starting to get used to the fact I don't *have* to go back to the loop label every frame.

NEEDZ MOAR COLRS!!!!!! Seriously, why only Tan and Black around the background? I don't expect the game to look like Rainbow Bright, but maybe a bit more highlight and style around the HUD would make it more appealing. I suggest judicious use of Grey and Blue to give it a more "spacey" feel.

Just found out about MODE after looking at the Inty-B Intro. Still playing around with colors, but so far I noticed my definition of tan and purple don't match what the intellivision puts out.Also have a couple questions related to this I'll post in a separate thread.

Needs a goal. Perhaps have a countdown to the "end of level," or a distance meter for the same. I don't know. I will tell you that without a clear and specific goal, the game will have very limited appeal and re-playability. I'm not talking silly achievements for the ADD kids, I'm talking about completing a mission, a level, or the game itself. Give it a short and simple story, and immerse the player in it. One possible goal: survive a wave of bullets until the enemy runs out and reloads. Then maybe give a bonus if the challenge is completed below a predetermined time threshold, and the player gets ready for the next meaner and faster wave. The key is to somehow depict progress and completion in a clear way.

Needs achievements, 0/10.Nah, just kidding. Toying around with a couple ideas. I'll let you know once I have something. However, I did end up adding in some level progression stuff.

To fire or not to fire? For some reason I want to shoot my way through those bullets with my side-scrolling spaceship. I know, I know, it's not that kind of game -- but it could be...

It's not that kind of game. Yet.

Paint the "dummy" ship a different colour. I know you stated that its purpose is to guarantee a path, but let's face it: He's the enemy! And he must die!!! It's time to adopt him as an official NPC of the game and give him purpose -- even if his purpose is just to move menacingly up and down the enemy's gate. Giving him a different colour at least makes him distinct from the player.

Just found out about MODE after looking at the Inty-B Intro. Still playing around with colors, but so far I noticed my definition of tan and purple don't match what the intellivision puts out.
Also have a couple questions related to this I'll post in a separate thread.

Went through the manual (again), found what I needed. Really need to read the manual all the way through.

Thanks for the very thorough feedback. I keep forgetting that what people want are usually different than what I have in mind.

Always keep one thing in mind: how much input you want from others.

I've gone both routes: one where I just did what I wanted to do, and to hell with feedback - and understood later why the feedback would have been valuable. And I've also listened way too much and tried to make something into something it wasn't, and ended up very disappointed with a lot of my work.

It's a delicate balancing act. Really depends on what you want out of this.