Evac AKA I'm sick of all these zombie defence games being the same thing.

Started by Peepshow, December 05, 2009, 08:17:57 AM

Previous topic - Next topic

Peepshow

Edit: Forgot I could just edit the first post with code attachment. All new/current releases will be here.

As the title implies the game is of the Zombie defence variety. It's currently in the planning, recruitment and Alpha build creation stages of development.

The game - The basic gist is it is a top down Zombie defence game (since 2d wouldn't really work and 3d seems a stretch) but instead of being awarded points for kills/how long you last etc the player is given points for leaving their stronghold to rescue people, bringing them back to your evacuation centre and then calling a transport in to evacuate them. I'll be writing a more detailed version of what the game is about, various ideas for controls, music etc and some rubish wee drawings (Since what's a game idea without drawings?) some time soon and if I can get the scanner working. Watch this space.

Progress - I've got..... something. Pretty much a circle that shots more circles.

Recruitment - First off I may be positing this in the wrong area or might even be breaking a forum rule but I hope you shall forgive my ignorance. This seemed the only appropriate area to put this. As I stated above I'm looking for people wishing to get in on a long term project, who want to challenge their programming skills (Trust me there will be challenges with some of the ideas I have in mind), people looking to learn by doing and those who think this is a project worth doing. It's not just programmers I'm looking for. If you can do some art for sprites, compose some music or even pitch some ideas then you are welcome to join. The only expectation of you would be that you do something useful. I have already gained help in the form of a programmer by the name of Osprey and have a person in mind to do some music. If anyone wishes to help work on this project you can contact me hereby post or PM, at the GDN Wiki or by E-Mail which should be in my profile.

I'll now take the time to answer possiable (dam my crap spelling) questions that may arise.

Q: Why don't you do it yourself?
A: I'm trying! I've been trying for months. At some point you've just got to get help

Q: Your just saying that. Learn god dammit! Why aren't you trying harder?
A: See above and add not everyone's good at programming even with months of learning and crying in the corner.

Q: This seems like some Noob's attempt to get other people to do the hard work. Is it?
A: Well it is in some ways. Doesn't mean I wont be learning programming skills and helping every step of the way. Also even though programming isn't my strongest area doesn't mean I can't help in other areas to. I'm more of an organizer to be honest, making sure everyone knows what they are doing, what is needing done and providing suggestions on how they can go about it. I'm also a designer. I mean a real designer not a "Giant robot monkeys fighting each other would be awesome lol" (which it would). I take it very seriously and put a lot of thought into things like menu layouts, appropriate music, controls, gameplay balance and so on. When it come to the finished idea I never think that'll do.

Q: So we'll be your slaves and you get to live your dream?
A: Not at all. I put all the big decisions up to vote. If you don't like some of my ideas then tell me and I'll try to convince you otherwise. If I can't then I will try to find a way around it or if you have an idea then we'll try that. Hell at this stage I'm willing to work on a completely different game.

Q: This just seems like bull poop. How do I know you won't pull out after a week because your bored?
A: You don't. Even if I did there is nothing stopping you going on without me.

Q: What will I get out of it?
A: What do you want?
Q: Money?
A: If it's good enough to sell as an indie game then why not?
Q: Skills?
A: You'll have just as much chances to better your self on this project as you have any other.
Q: Glory?
A: Well I suppose you could if it is really good.
Q: Women?
A: Uh.. I guess you could. Not sure ho...
Q: A movie deal?
A: Now your just being daft!

Q: Ok Noob. Your starting to make some sense. What now?
A: Get in contact! You can contact me here by post or PM, at the GDN Wiki by post/PM or by E-Mail which should be in my profile. Like I said this is still in the planning stages so a lot of stuff needs to get done and we can't communicate by EMail/PM for ever so I'll need to set up a forum at least. Don't expect to jump straight in but don't think there will be nothing to do for weeks.

- Peepshow, shamelessly using forums as recruitment tools since 2009


kevin

       It's good to see that you're enthusiastic,  but a word of caution.   Most people who've been around programming communities long enough, will no doubt tell you, that  jumping into the 'group'  things too soon, will no doubt  end badly, for everyone...   As such,  in order to get people interested in participating in your project,  then you're  really going to have to demonstrate (to those potential helpers) that you're not another time waster.    Nobody wants to work on a project that doesn't have a fighting chance.  

      One way of doing that,  is by building a bare bones prototype the games core ideas.     Just a straight out  one level  demo , using mock up art & sound (not really required).     So what i'm saying, is forget about the big objectives for second and focus on the nuts and bolts.    If you can get the prototype to a point where the game starts to play well and looks like it has potential, then you'll also be able to gain the confidence of more helpers (Art / Sound / Coders).        One common mistake group projects make, is they focus on everything but the nuts and bolts.  

     Ultimately,  I think forming a group is an excellent idea ! - Many hands make light work and all that.    All i'm saying, is that  hey're notoriously difficult to get started for new comers, and can be very difficult to  manage and ultimately keep together.  


Peepshow

You make a good point Kevin and I agree with you. I wanted to wait until I had something at least but its proving difficult so I thought there wouldn't be any harm in trying now. Regardless I do plan a demo of sorts to be around by the end of January hopefully.

kevin

 
QuoteI wanted to wait until I had something at least but its proving difficult so I thought there wouldn't be any harm in trying now.

  yeah, there's no harm in it.

   Anyway,  I suggest posting what you have.   Form which, people can determine what kind of help you need in order to reach your next milestone(s).  

   If you haven't done so already,  try and break down your game features  into a list the mechanics / logic required.  (Stuff,  what rules the player has,  controls.. character interactions.. and so on).. 

 Upon doing that,  you'll end up a clearer series of steps towards the next goal.   There will one some things that are currently unknowns,  but these can be addressed as you move along.   One common programming misconception, is that we tackle everything in unison.  But really, it's quite the opposite.  We write one problem at a time.   


 


Peepshow

All right here is the current working version I've got so far. Don't expect much. Also that ain't me talking. I got it off of newgrounds. Edit: It seems the file is to big for an attachment. Anyone know a good file hosting site?

Quotetry and break down your game features  into a list the mechanics/logic required.

Working on that right now.


Peepshow

Here is a version without the menu music.
Edit: To the three people that has downloaded it. I know. I sure has hell was not kidding when I said I haven't got much.

Peepshow

Here's an ideas list for your enjoyment. Some of the mechanics should be included. I can think of a way to code every single idea in the document. It's just going to take ages to write it up to show how I think it could be done. I so confident of my ability to do this that if anyone is having trouble figuring out how to go about coding something then ask me and I'll have at least a very simple way of doing it for you in under a day. The more specific you want it the longer it is likely to take. A very simple example may be like this.

Q: I want my shotgun bullets to spread but can think of a way to do it.
A: Randomize the bullets spawn direction from the players weapon within a narrow margin (Adjust as needed). Make several bullets appear in the spawn area. Then move them.

Is this Pseduocode? Been years since I've done formal computing training.

kevin

QuoteIs this Pseduocode?

    Pseudo code is generally a series of steps showing the Actions/Decisions required to perform the given logic,  which in programming terms is known as an algorithm.  Anyway, so rather than writing the solution out in literal code (which might be big and complex for some problems), we just outline the steps required to solve the problem at hand.    This is shorter and lets us work out any flaws in the logic prior to implementation.

   So in theory, if you can follow the logic of a pseudo code snippet, you'll be able to construct a working solution in real program code (any language), this is programming, and  is much more important than knowing the language commands.   If the original logic works, and assuming you translated it correctly, then so will your program.

  Anyway,  lets have a look see at what you have for starters.

  Some questions,

   * What's kind of movement angles do you ultimately want  ?    As it seem you're using Integer variables to store the Positions/Speed vectors which probably should be floating point..  Assuming you want objects to be able to moving in any angle (0 to 360 degrees).   Otherwise you're be limited to something more like 8 way movement.

   In this version we're using Floating Point variables.  These store fractional parts..  



PlayerX#  =400
PlayerY#  =300

PLayerSpeedX#  = 0.5
PLayerSpeedY#  = 0.25

Setfps 60

; run this logic 500 times
for lp =0 to 500

Cls rgb(0,0,0)

Circle PlayerX#,playerY#,32,true

PlayerX#=PlayerX#+PlayerSpeedX#
PlayerY#=PlayerY#+PlayerSpeedY#

print PlayerX#
print PlayerY#

Sync

next

WaitKey




 Here's the same thing, but using integer variables


PlayerX  =400
PlayerY  =300

PLayerSpeedX  = 0.5
PLayerSpeedY  = 0.25


Setfps 60

; run this logic 500 times
for lp =0 to 500

Cls rgb(0,0,0)

Circle PlayerX,playerY,32,true

PlayerX=PlayerX+PlayerSpeedX
PlayerY=PlayerY+PlayerSpeedY

print PlayerX
print PlayerY


Sync
next

waitkey





 * The other question,  would be what's the thinking behind how the 'firing' logic seems to be detached from the player logic ?    The way it's currently set up,  means when you press the fire button, it may or may not fire.     This is caused by the routine waiting a certain period of time before allowing another bullet to be fired.    You could prolly tweak this, so  rather than waiting a set period, it checks how long the key has been up for (not being pressed). So if the player taps the fire key, it'll feel more responsive .




 

Peepshow

Just a notice to let everyone following this know that I'm still around. I've been distracted as of late by the brilliant GalCiv II and Christmassy stuff. I will have an actual game by January. (Maybe not but its helpful to set a deadline. Good motivation.)
Edit: From now on the current working version will be in the original post so check there every new release. Right now I need to figure out how to fix an "Image out of legal range" error. Anyone have an idea? I checked a post by LemonWizard regarding a similar problem but that didn't help.

kevin

 
QuoteRight now I need to figure out how to fix an "Image out of legal range" error. Anyone have an idea? I checked a post by LemonWizard regarding a similar problem but that didn't help.

Your variable is not visible inside the function/psub.  See Local Variables  



Peepshow

Just a note that there likely won't be any updates for a few months due to an excessive amount of stuff I have going on right now. I'll still be aiming for a demo by the end of this month if things go well.

Peepshow

Hello again. I'm back and I've made some progress. It still ain't a game yet but I've gotten some things done thanks to some help from a friend. I'm working on the sprite collisions right now. Any tips based on what I've got? I was told I might need a rewrite because of how sprite X,Y,Z values are handled.

http://www.mediafire.com/?sharekey=37af70a44b13883808f8df73f2072ed6ff665d76f86ca34fb16e5c9d3b204475

Current working version is what your looking for.

kevin


stevmjon

hey peepshow

i had a play of your demo, and just for fun i added to it a bit. i kept your code as in tact as i could. i made minimal changes.

> changed images to sprites, and added sprite collisions (player & weapon)
> changed the fire of weapon delay timer to start at same time weapon is fired.
> added 'heads up' display when you need to re-load
> bullet deleted when out of bounds (x direction only at the moment)

* see attachment for code only.

  keep up the good work , stevmjon

p.s.  you could try using different tabs to seperate different areas of your code.
It's easy to start a program, but harder to finish it...

I think that means i am getting old and get side tracked too easy.