A quick note-- I didn't know Plants vs. Zombies was already a thing (because apparently I've been living under a rock ) and I drew these before a friend told me about it. They don't look like the plants and zombies from the game, but keep in mind they can be re-drawn.

Can you add one or two more sprites per movement. It looks unnatural with just 2. I believe we were using the standing zombies walking. But of course a crawling zombie could put some originality feel to it.

I would focus more on the pea shooter looking thing facing the right, but could you add something like 4 images for swaying back and forth (idling) and 4 images for shooting his (pea) where his head moves back or something

EDIT:Oh i just got another idea for originalty based on your images The Merry Lurker. What if the zombies had a 5% chance of changing lanes. I have been playing it more since we came up with this idea, and i realized that you come to rely on the fact that once they spwn in that lane of grass, they will end up at the house on that lane of grass. Making it very predictable. There was actually a point in the full game, where a hoard of zombies penetrated far enough to where i had no more lawn mowers left, and i knew there was only like 4 zombies left, in the only lane i had pea shooters left. So if they were to change "lanes" it would make it very difficult at times.

The Merry Lurker wrote:A quick note-- I didn't know Plants vs. Zombies was already a thing (because apparently I've been living under a rock ) and I drew these before a friend told me about it. They don't look like the plants and zombies from the game, but keep in mind they can be re-drawn.

This is an excellent start. I'll hack up something as soon as I get a chance so we can better visualize.

Couple things. As Metul said, a fundamental projectile throwing plant is necessary. Also, I agree with Metul's analysis on the animation. 2 frames can look quite nice in retro style games but you might want to consider 3 or 4 here. Also we have transformation functions in pygame so don't worry about mirror images (i.e. left and right).

As for uniqueness I would like to stay as far away from the original as possible (perhaps completely diverging if we have inspiration enough and developing something completely unique). I was also playing with the idea of the plants as the antagonists attacking hordes of hapless protagonist zombies. As for zombies changing lanes this is something we can easily play around with once we have a working prototype.

As for somebody who doesn't even know anything about Plants vs Zombies, can you enlighten some more of the general scope of this project? Do you just want to clone this game in python? Can the original game be added onto by python? I find no introduction here.

octopez wrote:I guess you won't want to have an exact clone of Plants vs Zombies, do you?

Kebap wrote:As for somebody who doesn't even know anything about Plants vs Zombies, can you enlighten some more of the general scope of this project? Do you just want to clone this game in python? Can the original game be added onto by python? I find no introduction here.

The primary goal of this project was simply to try to work together as a group. Plants vs Zombies was suggested and people expressed interest so we have taken that as a starting point. I would personally like to end up with something that is fundamentally distinct in the end; but if nothing else is accomplished here than getting some experience working in a group, then the goal will have been accomplished.

Basically "Plants vs Zombies" is just a simple tower defense game, and is in itself not particularly unique. It gained its popularity due to its appealing graphical style and its casual game play; which starts simple enough for anyone and grows to be fairly challenging.

I don't think we should limit ourselves in any way if anyone has unique ideas to bring to the table. At the same time, having some generic target to aim at allows us to work towards a goal without being bogged down in planning out mechanics.

Thanks for the feedback on the sprites! I'll be working on them more, but I may be a little bit slower because my webcomic has been begging for attention. I do have a few questions, though, about future graphics.

*Is there a semifunctional version of the game that I can look at to get an idea of where you are, and what you need other than character sprites?*What about environments? Do you do one image, layered two-dimensional images, or tile-based maps? (or other?)*Diagonal sprites. Do you need them? Could you use them?*What dimensions should the sprites for the projectiles be?*Are buttons separate graphics? For example, would the "Start Game" etc. buttons be integrated in the title screen image, or virtually laid on top of it?*I've been assuming the imaginary camera angle is something in the area of top-down at roughly a 45-degree angle. (Think Pokemon) Is this right?*Are Zombies melee?

I'm sure I'll think of more later. In the meantime I'll be working on idling plants and walking zombies. Maybe I'll smooth out the animation for the crawlers, too, just for the sake of options.

Fun fact: the severed arm in the zombie's hand was added to be used as a potential projectile, in case one was needed.

Projectiles:Make projectiles an appropriate size for the sprite shooting them. After we have a graphic we can easily place them on a sheet to fit our needs.

Environment:I don't anticipate needing a tile map editor for this program but if it becomes necessary it is of course an option. I think environments consisting of one background layer and perhaps a simple ambient weather layer (ie rain, clouds etc) would be more than enough. We will start simple and go from there. If later we want a multilayer effect or find we need tile map editors, we can write that in.

Menu Buttons:As said, currently the placeholder menu uses simple highlighting text but this is probably not what the end product will look like. If you look at the official free flash version of PvZ, you can see they use a gravestone that highlights when the mouse hovers over it. We can easily accomplish similar (though I encourage you to be unique ). Basically if you have a good graphical idea we can probably accommodate you.

Diagonal sprites:Not positive what you mean here. You mean frames for the sprites traveling at angles? Currently this is not necessary. As Metul has said we do have rotation functions, although because rotation is destructive (especially on pixel art), individually drawing rotated versions is always superior when time allows. Perhaps in the future.

Looks really nice. I threw a resized version in my survive state to check out the animation. Unfortunately it doesn't show up well against my shitty stock grass background, but that is easily fixed. The grass background was never meant to be permanent. Are the bottom five frames death frames, or are they the tomato growing back after being thrown? Also, are your images easily resizable in blender (I resized them in PDN and they still look good, but of course they lost a little detail)? I have currently been working with 72x72 pixel frames. These allow us to maintain a board that is 9 cells across and still have a small buffer on the left and right.

On another issue:I realized that I unknowingly added a dependency on numpy by using the pygame.surfarray functionality. This was the simplest way to add semi-transparency to a surface that already contained per-pixel alpha (for the ghost images while placing a plant). Is everyone comfortable with this dependency?

-Mek

Edit:Pushed some minor changes to docs and various. Also made it so the Tomato Slinger can be placed on the grid in survive mode. Removed the background grass as it was obscuring the sprites.