PDA

View Full Version : Canvas Wars hits 1.0


diordna
2004.06.24, 07:19 PM
Canvas Wars was my entry in the old METAL contest. I updated it so it won't suck as much.

The object of the game is to cover the screen with as much of your color as possible and paint over other people's.

http://diordna.silvernetwork.net/CW.sit

funkboy
2004.06.25, 02:00 PM
The bug I found: After I played through one game and won (i got 22% compared to everyone else's 20%... which seemed wrong, but I won't complain :) ), I accidentally pressed the spacebar on the title screen, and the game crashed... though I had to press space a few more times to get it to exit all the way out.

However... aside from that bug... what a fun idea! I like it a lot! Really fun, and it'd be great fun to play with a few friends at one computer.

Some suggestions:
- show the keys for moving around right away on the main menu, so people can jump in and start playing right away (or at least flash them briefly so players can know what the keys are before starting, so they don't have to read a manual)
- some graphics at the beginning that convey a sense of wet, dripping paint would go well to introducing the game to the player - the line graphics right now is a little sparse, and doesn't fit in with the nice thick blobs of paint one encounters in the game
- when power-ups happen, could the game not halt? It'd be nice to just keep playing while the paint blobs are dropping or the big paint blob balloons up

I absolutely *love* this game idea, though! Wonderful idea, wonderfully executed, absolutely great! The feel and flow of the game is outstanding (with the power-ups exception). Keep at this - I'm sticking this game in my Games folder! It's a keeper, and I'd advise others to try it out. Your description really didn't do the game justice, it's a lot more fun than what it sounds like.

funkboy
2004.06.25, 02:06 PM
Okay, it doesn't happen only when i hit spacebar, but every time I try to start a new game after finishing an old one, the program crashes. I just click on New Game, and it crashes.

I'm on an iMac 800 G4, running Mac OS X 10.3.4, with 768MB RAM.

Najdorf
2004.06.25, 09:17 PM
Same problem here. boring bug. Mac os 9.

However, wonderful game. And a lot of kudos for the originality, pretty great overall. This kind of games is what i consider *cutting edge research* in the game industry. 5 stars.

I managed to make 40% I'm cool ;-), I never lost ;-)

I think there is also more strategy than one might think: you can choose perhaps to go on the tracks of the green player if he's winning, to stay in the center to get more easily bonuses (but you get your paint deleted more since others go more in the centers), to get the edges... I would like to play it with some human... next time I get a friend 'ere I'll tell you...

good job!

funkboy
2004.06.26, 12:24 AM
More difficult/aggressive computer players would be nice... this game is just plain fun!

diordna
2004.06.26, 05:51 PM
Ooh, I had no idea people would like it so much, seeing how it came in second to last in the contest :)

I fixed the bug. I was using the same variable to reference a buffer as I was using to calculate the blue value of a pixel in the final count-up. I also fixed another bug that no one noticed: now there is a timer bar at the bottom of the screen.

AI is really hard in this kind of game, since I can't really calculate color areas in real time. I think that instead, I will divide the screen into 16 areas and have each player add 1 to the area's place in an array so the computer will be able to tell which area it has visited the least. But then I might just end up with the computer going from area to area in sequence from first to last. Anyone got any bright ideas?

I will work on the powerup thing. Shouldn't be too hard. Also a better background graphic. And a better intro thingy. For you METAL buffs, I'm going to look at that copyrect drip example.

The concept isn't as original as I'd like to think :) It's actually based on a Windows game called BattlePainters, which is prettier but has an awful interface and costs money.

http://diordna.silvernetwork.net/CW.sit

blobbo
2004.06.26, 08:09 PM
wow, lots of fun! i really like it.

problem: i win every time. you need to greatly improve the ai, or add network support... but this is truly a fun game. congrats!

Steven
2004.06.26, 09:40 PM
It actually is quite fun :D

EvolPenguin
2004.06.27, 12:07 AM
Networking would be cool, but I'm kinda not sure if there really is a strategy to this game, like, I just run around trying to erase other people. I'm not sure how you really get good at this game, it seems soo random. Whatever, I kinda get it.

Alex

funkboy
2004.06.27, 01:17 AM
AI is really hard in this kind of game, since I can't really calculate color areas in real time. Anyone got any bright ideas?

One idea could be to look at the next pixel the computer is going to paint over, or a sample of the next few. If this sample is the same color as his color, then the computer should turn another way. If all 360 degrees around him are his same color, then he should sample a point twice or three times as far out. If those are also covered by him, then he should just pick an arbitrary direction and go for it.

Look at the paths each player is taking, and then modify them as other paths come up.

diordna
2004.06.27, 12:34 PM
Hmm, I like that funkboy. Will do.

If you want a challenge, make it a team game and put everyone except yourself on the other team.

Pheonix
2004.06.27, 12:56 PM
Nice game.

34%!!!!!

diordna
2004.06.27, 10:46 PM
Dan made me a nifty title graphic and I refurbished the title screen. New version in a day or two.

diordna
2004.06.28, 12:18 PM
Update:

-Getting a powerup no longer pauses the game. Powerups are now drawn as you move.
-New logo
-New option, 2x Evaluation, only samples every other pixel in the final count-up. Good for slow computers.
-Fixed bug where purple player's score would not be counted
-New player added: Orange
-Score counting is now more approximate (side effect of fixing above bug) - means that powerups now affect scores a tad less
-Changed main screen a bit to include key bindings

http://diordna.silvernetwork.net/CW.sit

funkboy
2004.06.28, 12:50 PM
Update:

-Getting a powerup no longer pauses the game. Powerups are now drawn as you move.

Yayyy!!! Thank you :)

However, it still seems to pause when a powerup is acquired - I think making it just flow would be even nicer, though playing a sound when one is picked up is good.

-New logo
-New option, 2x Evaluation, only samples every other pixel in the final count-up. Good for slow computers.
-Fixed bug where purple player's score would not be counted
-New player added: Orange
-Score counting is now more approximate (side effect of fixing above bug) - means that powerups now affect scores a tad less
-Changed main screen a bit to include key bindings


I like the other improvements, too.

Did you do the new AI? Because, if you did... it's not working. I got 38%, an all-new personal best :)

And, last but not least, a bug report:
When I hit command-Q in the middle of a game I just started, though, i crashed the game. It quit, but then it hung, and then Mac OS X 10.3.4 reported Canvas Wars 1.1 quit unexpectedly.

diordna
2004.06.28, 06:52 PM
Unfortunately, I cannot fix the "unexpectedly quit" bug. METAL sucks that way. *points to C++ book on desk*

The AI is no different. If you're having too easy of a time, up the number of players and play a team game where you are disadvantaged.

The pause when you get a powerup and when it appears is where I pause the game to play a sound. That'll get fixed eventually.

Pheonix
2004.06.29, 11:05 AM
Unfortunately, I cannot fix the "unexpectedly quit" bug. METAL sucks that way. *points to C++ book on desk*

The AI is no different. If you're having too easy of a time, up the number of players and play a team game where you are disadvantaged.

The pause when you get a powerup and when it appears is where I pause the game to play a sound. That'll get fixed eventually.

Metal also makes a point of havng to force quit apps, because it wont quit itself.

diordna
2004.07.03, 06:43 PM
Updated again. 1.1.1. Bug fixes.

http://diordna.silvernetwork.net/CW.sit

PowerMacX
2004.07.04, 09:47 PM
The bug I found: After I played through one game and won (i got 22% compared to everyone else's 20%... which seemed wrong, but I won't complain :)

Good...

34%!!!!!

Better...

I managed to make 40% I'm cool ;-), I never lost ;-)

Even better... but I got 101% !!!! :wow: (and the other 3 between 64 and 67).

When playing against a team (Team 1 vs computer's Team 2) I got 67% vs between 43 and 55 for the computer.

OK... so I guess it's a bug, but I won anyway!!! :p

This was previous version 1.1, I'm downloading the current version right now.
The thing is, I couldn't lose a single game (well, not that I tried). My "strategy": figure out wich opponent has more screen covered in it's color and paint over it.
This could be an easy improvement to the current AI...

Finally, the first time I played, I almost decided not to try a metal game ever again, but then realized that it was just an effect: When the "color gradient" starts to fill down the screen, it looks just as when Phanter has a kernel panic!!!! Man, you scared me! :blush:

Najdorf
2004.07.04, 10:06 PM
Argh... Versions 1.1 and 1.1.1 don't work on my Os 9 G3... (while 1.0 worked though had the mentioned bug)

I get and error when pressing "play": initscreen error:cannot allocate screen :-(

diordna
2004.07.04, 10:23 PM
Version 1.0 used a smaller screen size. This update should fix it. If it doesn't, push the memory settings even more.

http://diordna.silvernetwork.net/CW.sit

Najdorf
2004.07.06, 09:04 PM
Argh... now I can play 2 times in a row, but then it crashes... Oh my, now you should make a version in which you can play 3 times in a row ;-P

PowerMacX
2004.07.06, 09:31 PM
Version 1.1.1 works fine for me (it fixed the scoring bug).

Ideas:

Add little "eyes" to each "snake"
Add more powerups
Brain... dead... sorry, I can't think of more ideas :(

diordna
2004.07.06, 10:21 PM
Powerups such as?

And I REALLY like the eyes idea. Maybe I could make it an option...eyes, or a windshield, or a nose - user picks :)

diordna
2004.07.10, 02:02 PM
Updated. Now there's a music track.

http://diordna.silvernetwork.net/CW.sit

PowerMacX
2004.07.10, 03:26 PM
Here's another idea: Instead of using a color circle, use a sprite, an image: to see what I mean, try a sphere or a standard cocoa round button. If you draw many together, at a small distance one from the other (1-3 px), it creates a "thick paint" effect. You could limit the sprite to just 2 colors: base color and a darker shade of the same color (the "shadowed area", to give it a sense of depth) and after a game is finished, when you count how many pixels each player has, those two colors would add to the same player.

Hmmm... does any of that make sense? :wacko:

EDIT: Oh, and about the powerups, I meant more frequent powerups.

DaFalcon
2004.08.04, 02:16 AM
This plays like a great proof-of-concept for a game. But you said there is already a similar Windows game, so I guess it is more of a great port-of-concept :-)

Anyway, I love it. Spent about an hour and managed to lose twice. Once, the first time I added another player (purple) and the other time when yellow grabbed two powerups near the end turning me into a little spirograph white line twice.

I agree that I'd like to see better AI. One thing that kills the AI is that they all run towards a powerup, even the ones with no chance to get it. This means that the all have straight lines heading in the same direction, so they often cover each other up or at least make it real easy for me to cover them up. Also, it would be nice if they had some idea who was leading and tried to beat that player. Or, you could go for cheap AI and just have the enemies try to cover up the human player. It would be more challenging, anyway. And the AI just wastes itself by looping in circles the way it does. It should avoid that. I tried playing with the magic number, but to no avail.

More graphic effects would be wonderful. Giant paintbrushes obscuring the screen and held up by magical sparks ... or a sprite as was suggested ... make the players into Paint Bugs ... and they need to leave as much of their colorful "waste" behind as possible so that the Queen Paint Bug will want to mate with them. Also, and I'm sure this is out of the realm of possibility with METAL, but it would be great to have some slimy wet paint effects. I can just picture this game with fully rendered ooey gooey paint, and what eye candy that could be! You could even save the final works of art and choose your favorites for a gallery.

The music track is nice, the tone is good. It doesn't loop very well, but that isn't a huge deal.

I'm not sure I like the red gradient. At first I thought it was telling me that I, red, won. and then I realized it was counting and didn't know who won. And then I changed to orange anyway. A gradient is good, but red shows favorites :-)

I'd like to play this with other players. But too many players on one keyboard is sure to cause problems, isn't it? And I don't just mean with people's hands getting into each other's way.

A challenge mode would be cool. First a one-on-three, then some kind of "cover 70% before time expires" then a one on four, then "cover up 90% of this gray line within the time limit" where you have to try to follow a path as closely as possible, then a one of five battle, etc. That would move this further out of the realm of toy and more into the realm of game.

Just my thoughts and suggestions. Great game, I had fun :-) I just wanted to share!

diordna
2004.08.04, 11:51 AM
I have been working on a shareware version in the past couple of weeks. Changed powerup graphics, more polished title screens and sounds. I do like the idea if "paint bugs" and "mating with the queen" and all that, and since right now without the FPS limit, the whole thing runs at about 1000 FPS on a good day, I should be able to incorporate bug sprites. However, if that causes flicker, I'll have to scrap them. Read more for why it would cause flicker.

OK, so first to deal with the AI. Yes, I know it sucks. AI is hard in this situation because I can't do too much calculating - it slows the game down. I think that as far as powerups go, I will pick the 2 closest AI players and have them both dive for it, and the other 2 will keep going about their business. I haven't thought of a good way to determine in real time which player is leading. Falcon, keep playing with that AI number. Experiment with lower values and let me know what you like. Basically, AI movement is random until a powerup appears.

Graphics-wise, I think that a screen-obscuring powerup would be nice, but I don't know if I'll be able to manage it. As it is, I use no buffers at all simply because I can squeeze in a game loop before a monitor cycle. I always hated using dirty rects and could never get them quite right. I don't think I'll be able to make a vision blocker without buffers, and buffers would slow me down a lot. Eye candy in-game was always hard for me because it takes so many extra bits of code in such random places. I suppose ending animations wouldn't be too bad, but I just don't have the tools to do it. I don't have a job, so I can't afford apps that would let me make nifty eye candy and animation.

I think I will add a new powerup: Temporary Wall. When the player hits the powerup, they will be teleported somewhere else and a wall will be put up that no one can cross for 10 seconds.

I don't want to make powerups more frequent. They're only ever 10 seconds as it is. Here's a better idea: an option in the Options screen for powerup intervals.

I will change the ending gradient to reveal a picture of the Queen Paint Bug instead.

I had thought of the idea of a challenge mode but couldn't come up with any decent ideas for it. I like yours.

Like I said, the next version will be a big leap, since I'm going to shareware. Late this year or early next year is when the next version will be coming out. Thanks a lot for the input.

DaFalcon
2004.08.05, 09:55 PM
Another idea for a powerup is the swapperoo ... you get it and all other players switch places with another player. They will be disoriented for a few moments, while you continue on your way.

Another may be the single-direction limiter ... er... need a new name for that. But basically all other players can only turn in one direction (or go straight) for a short period of time.

I think that the powerup that makes all players into just lines should instead make them all the color white... so that way it isn't as unfair because you can cover up paint, but you just aren't painting your own color ... and be careful not to paint over your own color!

--

Along the lines of the bug concept, each player could have a weapon key, which emits a paint fart (okay, give it a new name! --the "stun splat"?) which would stun a player directly behind them for a couple moments. That could help deter players from following right behind and covering up other players, and also allows for some strategy in going up and trying to stun other players. Give players unlimited stuns, but make it take a couple seconds to "reload". Or, and this might work better, make the stuns come out like a black "splat" behind you, and if you are in the splatted space then you are stunned.... but the person who left the splat just covered up some of his own trail, so is not encouraged to splat too often.

These are all just ideas, but I like 'em :-)

BTW, for the shareware version will you be able to create a better more mac-friendly options/prefrences menu?? Or is that about the best METAL is capable of?

funkboy
2004.08.06, 12:10 AM
Awesome ideas, Falcon.

I love the white paint blob thing instead of just the white line - the white line makes the player feel like he's doing absolutely nothing. (instead of white, maybe black, the background color)
The paint fart options sounds awesome, too... maybe paint *bomb* could be the term? :)

Wish I could think of good ideas like that, but can't quite do it now... too busy working on tennis and whatnot.

Najdorf
2004.08.06, 05:29 AM
Yep, cool ideas. really great the one where you leave the stunnin splat.... oooh! that would make it just too fun... and then put inside special moves, combos, homing missiles, clustering granades, trick shots, free kicks...

No, really the stunning splat is cool. maybe you will have some problem making the AI avoid it...

The basic thing you should try to do for AI is make them avoid to stay on their own trace, but also that looks, if not too difficult, quite slowing.

diordna
2004.08.06, 03:12 PM
I think I'll just try to make the bots stay away from each other and if you get too close then they "hit you."

I was thinking "Paint Fart of Doom." I really, really, really like to say "paint fart" :D

diordna
2004.08.06, 06:35 PM
Current screenshot:

http://diordna.silvernetwork.net/Screenshot1.jpg

DaFalcon
2004.08.06, 07:05 PM
Black dots for eyes, huh? Doesn't look bad, though it probably looks better in motion.

Do you want some replacement powerup graphics??

diordna
2004.08.10, 10:45 AM
Why? Does the one in the screenshot suck? I kinda like the hand-drawn look.

DaFalcon
2004.08.10, 04:56 PM
If you like the look, then that's fine ;-) I'm not a fan of the hand-drawn-on-computer* look, but that's my personal preference :-)

*as opposed to an actual hand-drawn sketched look, which I think would be cool in a game, provided that all the graphics fit such a look.