Jump to content
IGNORED

Worm Wars


jchase1970

Recommended Posts

Updated file, 7/25/2010

 

The fallowing video show one of the 2 games I'm working on at the moment. This is Worm Wars.

http://www.youtube.com/watch?v=j6aeOW1M2Ag

 

Playable Beta version, debug mode select speed before each game.

WORMWAR.zip

 

It has 5 game play modes and single or double players in all modes as well as 3 speed settings, with joystick or keyboard or both.

 

Game 1 is Entrapment - basically this is Surround from the 2600, had it when I the atari was first out. Loved it. Your worm grow constantly and you try to outwit the other player by running him into something. This game is available for 1 player but is not much fun. This game ends when a player scores 10 wins.

 

Game 2 is Eat the Shrooms - Complex game. You have mushrooms on the screen that are 2 color red and blue. If you eat the ones that are the same color as you, you grow 2 spaces and score 2 pts, other wise you grown 1 and score 1pt. If you eat a toadstool your speed is reduced to 1/2 speed and has a timer to reset you to normal speed. There are 2 arrow sets, vertical and horizontal, These in a 2 player game flip the controls of the other player and starts a timer to flip control back. In single player mode it flips your control.

 

Game 3 is Classic mode - Classic Wormy, eat the numbers 1-9 on the screen score 1-9 pts and grow 1-9 segments.

 

Game 4 is Invisible Shrooms - all game items function as in game 2, but you only see them for a brief moment when they spawn then they become invisible and you have to hunt for them.

 

Game 5 is wall - same game as 2 but with added walls on the field to avoid.

 

 

 

I've got about a week into the game, have it playable and all games working pretty much as they have been described, have some debugging to do and sound effects and game over screens to add. So probably another week to have it finished. The game in the video has not been compiled yet and is running in basic on the c99 emulator. Once it is compiled the screen drawing will be greatly increased, the speed in the video will be speed medium.

 

 

Thought I'ld post it not that I have it playable. I'm pretty happy with it, I programmed it all in notepad, didn't test it until I had all the games sit up. I was able to debug the single player mode in less then an hr. So I was very happy with my design flows. I expected it to have alot of issues but I was surprised this time.

 

The 2 player mode is a blast, especially when you flip the other players controls and left-right or up-down get reversed. That is very hard to deal with on the fly.

 

The one short coming is I store the worm positions in a string and as you add length to the worm it maxes out at 255 segments. So in a 2 player game I don't think you can max it out before the other player kills you, but in a single player game it is doable, tedious but doable if patient. Not sure how to over come this. I experimented with string and arrays to store the info but with no fast way to remove array elements the string was the only option. The string gets added to the end with the new location data and then segmented from the front to maintain the worms size.

 

Graphically I started with round 8x8 body segments but when you had alot in a area on the screen you couldn't tell the flow of the worm, I then made the body narrower which added code to it to handle 90 degree sections of the worm body as well as up and down positions, but I see no game speed loss. Compiled at full speed is still to fast to play so it has been slowed down. It's got a good pace to the game.

 

John

Edited by jchase1970
Link to comment
Share on other sites

Is there any reason why the background draws that slowly? If you're using BASIC, I can still think of a much faster method to do it... it only takes a few lines:

 

CALL HCHAR(3,1,(Background Character),672) - this fills the background except for the first two and last line with the background character

CALL HCHAR(24,1,(Wall character),96) - this draws the lower and upper wall

CALL VCHAR(1,32,(Wall character),48) - this fills the last and first column with the wall character

 

After that, draw the first line like it's done now, which will erase the wall segments in the first row.

 

Or does the compiler you use not support that kind of HCHAR and VCHAR calls?

Edited by Kurt_Woloch
Link to comment
Share on other sites

A true masterpiece! Still hoping your gonna tackle the TI and do a conversion for us ;)

 

Thanks for the compliment. I have tried to snag a TI99 on ebay.co.uk quite a few times but they always go for more than I want to pay. I suspect there are too many buyers for the limited number of machines that come up :(.

Link to comment
Share on other sites

Is there any reason why the background draws that slowly? If you're using BASIC, I can still think of a much faster method to do it... it only takes a few lines:

 

CALL HCHAR(3,1,(Background Character),672) - this fills the background except for the first two and last line with the background character

CALL HCHAR(24,1,(Wall character),96) - this draws the lower and upper wall

CALL VCHAR(1,32,(Wall character),48) - this fills the last and first column with the wall character

 

After that, draw the first line like it's done now, which will erase the wall segments in the first row.

 

Or does the compiler you use not support that kind of HCHAR and VCHAR calls?

 

Kurt, once I compile it it will be instant. It's this way because I am drawing it line by line. You right the way you laid out would be much faster in basic.

 

My screen editor outputs 24 lines of string data for storing the screen and redrawing them.

 

so it looks something like this,

51 t$(1)="           WORM WARS"
52 t$(2)="              BY"
53 t$(3)="          JOHN  CHASE"
54 t$(4)="             2010"
55 t$(5)=""
56 t$(6)=" NUMBER  >1[PLAYER >A[JOYSTICK 1"
57 t$(7)="   OF               B[WASD KEYS"
58 t$(=" PLAYERS  2[PLAYER >C[JOYSTICK 2"
59 t$(9)="                    D[uHJK KEYS"
60 t$(10)=""
61 t$(11)="          3[ENTRAPMENT"
62 t$(12)="  GAME    4[EAT THE SHROOMS"
63 t$(13)="  TYPE   >5[CLASSIC"
64 t$(14)="          6[iNSISIBLE SHROOMS"
65 t$(15)="          7[WALLS"
66 t$(16)=""
67 t$(17)="         >8[sLOW"
68 t$(18)="          9[MEDIUM"
69 t$(19)="          0[FAST"
70 t$(20)=""
71 t$(21)=""
72 t$(22)=""
73 t$(23)="      PRESS SPACEBAR TO PLAY"
74 t$(24)=""
rem draw title screen
250 xt=1
251 for yt=1 to 24
253 text$=t$(yt)
254 gosub 10000
255 next yt

 

 

 

I designed all of my screens on it regardless of how much or how little is on the screen. The simple play screen should have been handled differently. but like I said it will compile and be instant.

Edited by jchase1970
Link to comment
Share on other sites

Ok, here's a beta for everyone to try.

file in next thread.

 

A few notes about the beta.

1) single player only, 2nd player in non-functions and will crash the emulator.

2) defaults to no delay, so you have to select a speed before you start the game.

3) game 1 entrapment has no purpose on single player

 

 

Please play at least once on games 2-5 and post comments on any problems you may have. Or anything you don't like about it.

 

Thanks, John

Edited by jchase1970
Link to comment
Share on other sites

  • 2 weeks later...

I really wanted to finish this this weekend, but I didn't.

 

Here is the newest version, I fixed a few things.

 

1 all games function in 2 player mode

2 when playing games where you can be poisoned of have your controls affected, games 2,4,5. It was commented in 2 player games you didn't know when you was affect if the other player reversed your controls. So now if you are poisoned you are gray until the poison wears off and if you have reversed controls inflicted on you you are purple. If you suffer both affections you flash gray/purple.

3 the invisible shroom game now properly tracks the items.

 

issues left,

and game 1 entrapment is a 1 die game, this will be a 10 round game, 1st to kill the other player 10 times wins.

 

please test it out and comment on it,

John

 

WORMWAR.zip

Link to comment
Share on other sites

Ahh, its still in debug mode with no speed automatically seleceted. It doesn't speed up as u play. Was going to do that but never did as I felt a constant speed for the 2 player games was best. I could implement it for the classic game. I can speed up the medium and fast game setting abit if they are too slow.

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...