Game Maker's Garage Forum

Game Maker's Garage => Group Projects => Topic started by: Zoo on January 31, 2011, 07:49:52 PM

Title: Retro games
Post by: Zoo on January 31, 2011, 07:49:52 PM
I think we should redo some old games and make them really cool like supa pong.
Heres a list
Beginner:
-Space invaders
-Frogger

Intermediate:
-Lunar lander
-Snake

Hard:
-Tetris
-Asteroids

Asteroids would be the hardest to make because of the rotating of the ship. I'm pretty sure neither GM or SC can rotate sprites.
Title: Re: Retro games
Post by: Gan on January 31, 2011, 08:11:45 PM
I think asteroids would be one of the easiest using the SCBox2D plugin. Make a no gravity level. Have a spaceship move using impulses, have circles as asteroids moving around...
Title: Re: Retro games
Post by: Charlo on January 31, 2011, 08:16:48 PM
I've been thinking of trying to implement Tetris in SC.  The hardest part would be rotating the pieces I think, because each piece would be made out of four individual sprites.  At least there are only four directions, whereas asteroids has 360 degrees of movement.
Title: Re: Retro games
Post by: Zoo on February 01, 2011, 04:10:09 PM
yeah, I think maybe there should be a "rotate sprite" command in GM 4.0
Title: Re: Retro games
Post by: Connors on February 01, 2011, 11:35:24 PM
I always wondered how you would make the math for a Tetris game work...
:) :D ;D
Let's do that one first!!! (*Insane grin*)

Title: Re: Retro games
Post by: Zoo on February 02, 2011, 10:19:48 AM
Are we gonna do it in SC or GM.
Either way, I Can make some art or something.
Title: Re: Retro games
Post by: Zoo on February 02, 2011, 10:20:30 AM
I think you would use like a grid of some kind. like the origanal
Title: Re: Retro games
Post by: Connors on February 02, 2011, 10:21:50 AM
Personally I think Lunar Lander sounds easier than Frogger but maybe not... As for the program it depends on who's involved here but of course I'd use SC.

Quote
I've been thinking of trying to implement Tetris in SC.  The hardest part would be rotating the pieces I think, because each piece would be made out of four individual sprites.  At least there are only four directions, whereas asteroids has 360 degrees of movement.
For asteroids maybe you could just have a bunch of different sprites and show the closest to the current angle. It would look more like the original anyways, because I think that's what they had to do.
Title: Re: Retro games
Post by: Zoo on February 02, 2011, 10:33:53 AM
Well if SC was used, I couldn't really help with code, but I'm not a scripting expert in gm either.
Title: Re: Retro games
Post by: Zoo on February 02, 2011, 03:34:32 PM
You would need at least 4 sprite of the ship if you were to do lunar lander.
(Plain, left booster, right booster, and up booster) But I would add two for if you were going up and to the side. I could do some art for most of these options.  8)
Title: Re: Retro games
Post by: Zoo on February 02, 2011, 03:37:45 PM
We could do frogger, and have that kid from rogue frog driving every car and call it something like "rogue frog 2: Revenge" lol. We'd have to get silverwind's permission though.
Title: Re: Retro games
Post by: Connors on February 02, 2011, 03:59:22 PM
I'm not familiar with Rogue Frog yet. Is it a game? CAN I PLAY IT!? :D
Title: Re: Retro games
Post by: Silverwind on February 02, 2011, 04:08:33 PM
Rogue Frog is a simple arcade game from the early Roguesoft era: http://www.gamemakersgarage.com/include/download.php?download=http%3A%2F%2Fgamemakersgarage.com%2Fdownloads%2Froguefrog.zip

I should really get around to re-uploading the Roguesoft website. It was handy for keeping all of my stuff in one place.

EDIT:

lol! Just got to level 4 on ridiculously hard. It's so scary! ;D

EDIT AGAIN:

My word! My old high score is 5274. I barely broke 3000 just now by reaching the last level, but that's hard enough!
Title: Re: Retro games
Post by: Connors on February 02, 2011, 04:37:57 PM
OK so I just made a little test using old Shooter Game code to make a simple tile map program but I realized you can't make a fullscreen map in 800x600 mode with 32X32 tiles without going over the 100 tile limit.100 tiles clearly isn't enough for a good Ship Lander level, as it would probably be 10X10 tiles.
I say we try to use the Paint method and make it collide with lines we draw. We could try for polygons that fill in with a color but that would be even harder. Any ideas? (I like Ship Lander)
Title: Re: Retro games
Post by: Zoo on February 02, 2011, 04:54:47 PM
If we do lunar lander we need to add different ships that have different speed/control. Maybe even make them unlockable. Oh and different difficulty levels, and powerups or something.
Title: Re: Retro games
Post by: Zoo on February 02, 2011, 04:59:36 PM
With the limit of sprites, snake would be impossible in GM. I hope GM 4.0 doesn't have that limit.
Title: Re: Retro games
Post by: Silverwind on February 02, 2011, 05:13:20 PM
Offhand I reckon snake would be moderately straightforward using IMAGEFILE and the V6 nav engine. I think the potential of the V6 nav engine is often overlooked due to it's almost isolated use in RPGs.
Title: Re: Retro games
Post by: Zoo on February 02, 2011, 05:17:29 PM
yeah
Title: Re: Retro games
Post by: Zoo on February 02, 2011, 05:30:37 PM
when I was a little kid, and I played tetris, I remeber being mad at the guy that dropped the peices  :P
Title: Re: Retro games
Post by: Zoo on February 02, 2011, 05:38:27 PM
I thought of some more good ones: Pacman and donkey kong
Title: Re: Retro games
Post by: Connors on February 03, 2011, 09:36:18 AM
Ok well here's what I was mulling over the other day:
That physics engine could prove invaluable for a few of these. For Asteroids we can possibly make the asteroids polygons and have a physics ship with a user-controlled rotation, eliminating the sprite problem. Same thing for Ship Lander, the levels could just have physics shapes that you collide with instead of a tile map.
Title: Re: Retro games
Post by: Gan on February 03, 2011, 01:13:18 PM
That's a good idea...
I have some features I want to add that should make these easier.
Title: Re: Retro games
Post by: Zoo on February 03, 2011, 03:22:24 PM
Yeah, but what about the art? A game can have great gameplay, but still be no fun if it has bad art. I don't think lunar lander would be very fun if the ship was just a triangle or something.
Title: Re: Retro games
Post by: Zoo on February 03, 2011, 03:23:28 PM
I can make some ship sprites. how big do you want them?
Title: Re: Retro games
Post by: Gan on February 03, 2011, 03:29:53 PM
True.
I'm going to add a create custom shape function where you can put multiple shapes into a single shape. You'd be able to make a ship that has triangles, boxes, and circles instead of it being a single triangle:
Single Polygon Space Ship
(http://cl.ly/102o3H2U362y1U110j0s/Triangle_Ship.png)
Custom Shape Space Ship
(http://cl.ly/0n191B3l3y2D3l2S1D1p/custom_shape.png)

But it would be really nice if Sc got sprite rotation.

EDIT: If you guys want to make a lander with sprites, you can still use the physics engine. Just set the space ship's fixed rotation to true and draw the sprite where the space ship should be.
Title: Re: Retro games
Post by: Zoo on February 03, 2011, 03:33:54 PM
Cool. in SC physics is there a way to change the gravity to be more like gravity on the moon?
Title: Re: Retro games
Post by: Gan on February 03, 2011, 03:35:42 PM
Yeah, set gravity to 1.6 and that should be pretty close to moon gravity.
Title: Re: Retro games
Post by: Zoo on February 03, 2011, 04:25:27 PM
I made snake sprites!
http://www.mediafire.com/?deb814hjx82i2qy
Title: Re: Retro games
Post by: Gan on February 03, 2011, 04:56:57 PM
Awesome. Where's its tail?
Title: Re: Retro games
Post by: Zoo on February 03, 2011, 05:12:15 PM
Lander music
http://www.mediafire.com/?q331v93j571je56
Title: Re: Retro games
Post by: Zoo on February 06, 2011, 12:00:14 PM
It's tail is the one with no eyes or nose. snake 2
Title: Re: Retro games
Post by: Connors on February 06, 2011, 09:14:28 PM
Great arcade music zoo! It's very catchy. The music is cool, so we should keep it for Frogger or some other game. But Ship Lander's theme is all precise and careful. Can you make a more serious or slower theme for Ship Lander?
Title: Re: Retro games
Post by: Zoo on February 07, 2011, 03:17:03 PM
Wait, X is involved here?
Title: Re: Retro games
Post by: Connors on February 07, 2011, 04:08:08 PM
Oh my gawd that was dumb. :P
Title: Re: Retro games
Post by: Zoo on February 07, 2011, 04:13:35 PM
lol, anyway here it is:
http://www.mediafire.com/?j1m3dw0bd336d2q
You have no idea how easy writing this was.
It is just holding down keys in garage band, in the "circuit dialog"
Title: Re: Retro games
Post by: Gan on February 07, 2011, 04:37:53 PM
That's way better than what I can do. I open GarageBand and gawk. Not sure what to do.
Title: Re: Retro games
Post by: Zoo on February 08, 2011, 03:17:07 PM
just open the musical typing window. Then play like a piano.
Title: Re: Retro games
Post by: Connors on February 08, 2011, 03:23:52 PM
Do you know anything about a way to organise notes by hand? It would help a lot in some cases, because I always screw up a tiny bit with complex songs. The work-around is slow the tempo while recording. ::)
Title: Re: Retro games
Post by: Zoo on February 08, 2011, 04:30:14 PM
yeah,
in the bottom left corner of the screen there's a little picture of scissors cutting string. click on that and you can edit individual notes. you could make said notes longer, shorter, you could move them or change their pitch. it's really a useful tool, and has a better sound quality than recording yourself playing a piano. Oh, and I think USB piano keyboards work with garage band if you have one.
Title: Re: Retro games
Post by: Gan on February 08, 2011, 04:50:12 PM
Yeah I just got the note editing working. It's awesome and easy. Gonna practice making songs as soon as GarageBand finishes it's 1.2gb update in 4 hours.

Note, before you can edit notes:
(1) Create a region of track to place notes on.
(2) Select the note type.
(3) Command-Click places a note.
Title: Re: Retro games
Post by: Silverwind on February 08, 2011, 05:09:49 PM
Composing a song note by note is a very rewarding accompishment. I'm only accustomed to simple tunes with minimal instruments, but I've really enjoyed the process of composing the score for Elathondrèoth. I particularly like choosing which instruments to include in which areas, for example using a wooden drum and a hollow sounding flute in the forest, whilst using an eerie organ for the graveyard.

I've got 15 tracks just about finished now, and almost 30 that either aren't finished or are but I don't feel fit in the game world anymore.
Title: Re: Retro games
Post by: EqwanoX on February 09, 2011, 12:04:44 PM
gauntlet is a good classic game to make. and not hard iether, you could just modify the v7 demo to shoot projectiles
Title: Re: Retro games
Post by: Connors on February 09, 2011, 12:38:20 PM
Well I still don't have Game Maker...
But I'd be willing to work with someone on Gauntlet, it sounds fun!
And I can probably help with code a little since the logic works the same way, I just don't know many of GM's commands.
Title: Re: Retro games
Post by: Zoo on February 09, 2011, 03:13:58 PM
I love that gauntlet voice.
Choose your player
Elf! Wizzard! Warrior!
Lol.
Yeah, thats a good game. if we do gauntlet, we should give it a different theme though. And how about adding upgrades and getting rid of the warp tiles that like take you from level one to level 16. I can get to level 20 with no trouble at all because of those.
Title: Re: Retro games
Post by: Zoo on February 09, 2011, 03:15:21 PM
If you don't know GM commands it's OK. You could do art or music or even just share ideas.
Title: Re: Retro games
Post by: Zoo on February 13, 2011, 12:09:56 PM
Has anyone made any progress? I could make more spites/songs.
Title: Re: Retro games
Post by: EqwanoX on February 13, 2011, 01:28:40 PM
what about gauntlet gameplay with the gm vs sc scenario of the v7 demo
Title: Re: Retro games
Post by: Zoo on February 13, 2011, 01:39:36 PM
Someone could make a gauntlet engine so anyone could make a gauntlet game. What program (GM or SC) can handle bigger scrolling maps? Theres the animation in gauntlet too. every character has 8 different directions and at least 3 frames for walking. It would be hard to make, but still very rewarding.
Title: Re: Retro games
Post by: Connors on February 13, 2011, 10:23:46 PM
One idea is to do the graphics DROD style and make it exactly straight down, so you only need to draw them twice. And the thing about Gauntlet is it would re-use lots of code, which helps.
Title: Re: Retro games
Post by: EqwanoX on February 14, 2011, 12:17:31 PM
with the new rotate sprite command we only need ONE sprite for each character
Title: Re: Retro games
Post by: Zoo on February 14, 2011, 03:09:09 PM
Rotate sprite command? SC has a rotate sprite command?  :o Maybe I should learn how to use it.
Title: Re: Retro games
Post by: Zoo on February 14, 2011, 03:12:21 PM
Cool. I can make some sprites, but I cant do walking animation very well. I could  make the standing still version, and someone else could animate it. For some reason, the way people walk intrigues me, and I can't seem to replicate it in animation.
Title: Re: Retro games
Post by: Zoo on February 14, 2011, 05:49:34 PM
Oh cool! Instead of Grid based gauntlet, we can do an ultra cool rotatey sprite thingy. We could also use a Rotate sprite command for asteriods.
Title: Re: Retro games
Post by: Zoo on February 14, 2011, 05:49:47 PM
Physics pinball anyone?
Title: Re: Retro games
Post by: EqwanoX on February 15, 2011, 12:30:52 PM
ooohhh, pinball is a great idea for the physics engine, someone HAS to do that

gridnav is a little primitive for a guantlet clone, this new spriteNav system would be much better
http://www.mediafire.com/?a6xif1v1hffmcl9

i dont know why mike is always saying sprite rotation has to be secret and isnt supported, it works fine with everything
Title: Re: Retro games
Post by: Zoo on February 15, 2011, 03:21:01 PM
Wait, sprite rotation is a secret! Oh No!!! Now we have to kill everyone on the GMG!
Title: Re: Retro games
Post by: Zoo on February 15, 2011, 03:28:32 PM
I just downloaded SC. I think it's a little overwhelming all the windows that hit you right when you open it.
Title: Re: Retro games
Post by: EqwanoX on February 15, 2011, 03:48:18 PM
everyone is always intimidated by sc, its the same thing as gm, just play around with it and it gets easier the more you get familiar with it
Title: Re: Retro games
Post by: Zoo on February 15, 2011, 04:19:09 PM
You dont need sprites in the same folder as the game?  :P
Title: Re: Retro games
Post by: Zoo on February 15, 2011, 04:29:22 PM
Anyone have any demos to post? How about source code.
Title: Re: Retro games
Post by: Connors on February 15, 2011, 05:34:02 PM
Quote
You dont need sprites in the same folder as the game?  :P
You have to load sprites into the project and give them names.
If it's a .PNG you can just click "Import" and it loads the mask automatically.
Quote
Anyone have any demos to post? How about source code.
I wish I had a better demo, but I've really just been playing around with SCBox2D and trying all the features as they get added. :) I also tried to do stuff I've seen elsewhere, including a very successful chain/rope, a Ship Lander ship and a ball with a mace hanging from it using the chain. (based on http://www.fun-motion.com/physics-games/hammerfall/)
Title: Re: Retro games
Post by: Connors on February 15, 2011, 09:57:34 PM
Now that Gan has made some epic progress with his program, what do you think of this game concept:
I was reading in National Geographic about how there's so much junk orbiting around the Earth they are thinking of ways to get rid of it, mostly by pushing it into a decaying orbit where it will disintegrate falling into the atmosphere. So I though I could try to use SCBox2D to make an arcade game where you remote pilot a satellite-robot and push the floating trash to the bottom of the screen and get points. Think Asteroids, except more complicated. The dangers (at least in the arcade game) are: colliding with the trash, accidentally smashing working satellites and possibly even falling to Earth yourself. ;D
Your tools would likely all be for moving things - robot arms, a tether with a magnet, a net and maybe a raygun. Depends what I can make with what I've got to work with. (the tether is the trickiest).\\
Title: Re: Retro games
Post by: EqwanoX on February 16, 2011, 01:44:14 PM
updated spritenav, you can throw axes now
http://www.mediafire.com/?1po1dy9buuuq6dz
Title: Re: Retro games
Post by: Zoo on February 16, 2011, 03:25:01 PM
It doesn't seem to work. When I open it, it says:
An exception has occured
Stability may decrease.

And when I go to run it, the picture window is black.
Title: Re: Retro games
Post by: Zoo on February 16, 2011, 03:27:24 PM
Quote
Now that Gan has made some epic progress with his program, what do you think of this game concept:
I was reading in National Geographic about how there's so much junk orbiting around the Earth they are thinking of ways to get rid of it, mostly by pushing it into a decaying orbit where it will disintegrate falling into the atmosphere. So I though I could try to use SCBox2D to make an arcade game where you remote pilot a satellite-robot and push the floating trash to the bottom of the screen and get points. Think Asteroids, except more complicated. The dangers (at least in the arcade game) are: colliding with the trash, accidentally smashing working satellites and possibly even falling to Earth yourself. ;D
Your tools would likely all be for moving things - robot arms, a tether with a magnet, a net and maybe a raygun. Depends what I can make with what I've got to work with. (the tether is the trickiest).\\

Good idea. You could maybe like use the space bar to switch tools. The raygun could just get rid of the junk, but reload slowly.
Title: Re: Retro games
Post by: EqwanoX on February 17, 2011, 09:53:34 AM
works for me, try downloading again, are you useing b3.1? make sure its opening b3.1
Title: Re: Retro games
Post by: Zoo on February 17, 2011, 03:19:59 PM
I'm not sure. Could I have a link to download it?
Title: Re: Retro games
Post by: Zoo on February 17, 2011, 03:20:55 PM
Oh yeah. I'm on b3.
Title: Re: Retro games
Post by: Zoo on February 17, 2011, 04:34:16 PM
Oh wow, That's epic. have you tried making enemys/spawns yet?
Title: Re: Retro games
Post by: Gan on February 17, 2011, 05:22:19 PM
This is awesome!

I think Sc is evolving.
Title: Re: Retro games
Post by: Zoo on February 17, 2011, 08:34:42 PM
yeah. The eight way movement has a very gauntlet like feel.
Title: Re: Retro games
Post by: Connors on February 17, 2011, 09:07:11 PM
I got a funny idea:
I'll make a funny arcade game where you are a crazy man who is obsessed with the internet and has to get home to his computer by a certain time to update his web page but his car broke down, so he's going on foot. You have to run across the city across four- or five-lane roads and not die.
You guys can try and guess what it's called.

EDIT: @Eq just checked out the great sprite nav, and there's one problem, that you move faster going diagonally, because 2 forces add to together. I might try my own fix later, I like messing with people's code. :P
Title: Re: Retro games
Post by: Gan on February 17, 2011, 10:15:08 PM
RoadRunner!
Title: Re: Retro games
Post by: Connors on February 17, 2011, 10:49:47 PM
Nice one Gan! (http://www.gamemakersgarage.com/yabb/images/laugh.gif) (Real LOL)
I was actually thinking of calling it "Blogger".

@Eq: Here, I changed it just a tiny bit, now the speed is the same going diagonally.
https://sites.google.com/site/onronc/SpriteNav1.1.2.scproj?attredirects=0&d=1
Title: Re: Retro games
Post by: EqwanoX on February 18, 2011, 11:07:17 AM
nice, we need to add enemy spawning next, then it would be a game.
Title: Re: Retro games
Post by: Zoo on February 18, 2011, 03:09:08 PM
Gauntlet has large maps that scroll. Is there any way to do that? I like the blogger idea.
Title: Re: Retro games
Post by: EqwanoX on February 19, 2011, 11:28:57 AM
maybe, that would take some fancy codeing though and a prerendered sprite map. we could make this into a smashtv clone the way it is right now though
Title: Re: Retro games
Post by: EqwanoX on February 19, 2011, 12:27:57 PM
spritenav as it is right now only has to push the player sprite. scrolling would mean pushing all boundry sprites, enemy sprites, and projectile sprites. so the alternative is to make a renders map as one sprite and check boundy coordinates.

this is the best i can do with scrolling maps while keeping the smooth movement, its laggy even with a small map with no enemies, so i think the best idea would be to use v7 for scrolling

http://www.mediafire.com/?wq2ck8a89dc3j8p

it basically uses grid code to identify and save boundry coordinates, it then runs a FOR loop to check if each coordinate is touching the player sprite

i remember matt saying nthfield is slow and inefficient, maybe it would run faster without that, im not sure.

matt, i meant to ask you, how do you know nthfield is slow? and how slow is it?
Title: Re: Retro games
Post by: Connors on February 19, 2011, 12:35:38 PM
Then I still like Zoo's idea. Actually the code for SmashTV would wind up being pretty similar to Gauntlet. We've still got to make lots of enemies that all charge the player at once. And if we make it much like the original rooms wouldn't need tile maps for walls, because they are all totally open - just make one big room sprite.
Title: Re: Retro games
Post by: Gan on February 19, 2011, 12:36:30 PM
I use to use NTHFIELD tons in Sc Physics to transfer data. I had believed it to be one of the major sources of slow down. Cause looping through characters of incredibly long strings 30 times a second seemed slow. Now I've scaled back.
I haven't done any official tests on it but I suppose someone should.
Make a project that records the start time, puts a number or string in an array, takes it out, records the new time and prints the amount of ticks that had gone by.
Then do the same with a fake array.

That'd allow us to do a direct side-by-side comparison of array VS NTHFIELD.
Title: Re: Retro games
Post by: Connors on February 19, 2011, 12:46:03 PM
I know some programs can make 2-D arrays, instead of 1-D. Could you maybe look into that? You would get values with 2 numbers: if mapArray(x,y) = 1 then...
Then there's TNT Basic which has pre-rendered sprite maps built in and hasn't lagged for me yet.
Title: Re: Retro games
Post by: EqwanoX on February 19, 2011, 01:26:58 PM
i updated the original spritenav system with enemies, its starting to get a little laggy, but thats on my g5
http://www.mediafire.com/?8cn48kx47zpepmd
Title: Re: Retro games
Post by: Zoo on February 19, 2011, 10:48:12 PM
Great Eq, but unlike gauntlet, it takes like 5 seconds to die. Is there any way to make it use spawns?
Title: Re: Retro games
Post by: EqwanoX on February 20, 2011, 10:30:06 AM
spawns? what do you mean? allies?

i added a map editor in the map method. so laggy! i gotta get an intel!
http://www.mediafire.com/?4b6opf3j2belfu3

we could make this work like the old zelda games where it would scroll to the next area when you touch the edge of the screen. this would allow for large maps and not sacrifice smooth movement

it gets laggy with lots of blocks, we could use the x and yrepeatsprite to make large walls with just one sprite but they would have to be manually coded
Title: Re: Retro games
Post by: Gan on February 20, 2011, 10:40:01 AM
That's awesome. It is a tiny bit laggy on my machine as well.
Title: Re: Retro games
Post by: Zoo on February 20, 2011, 01:07:35 PM
like the little spots that make enemys until you destroy them.
Title: Re: Retro games
Post by: Zoo on February 20, 2011, 01:11:34 PM
Wows. I just realized that this could make a sweet shooting game. Think about it. Hoards of zombies coming from all sides of the screen, and you need to shoot as many as you can before you die. This is the best real-time battle engine i've seen on the GMG. I like the zelda idea. It would be a good compermise
Title: Re: Retro games
Post by: Zoo on February 20, 2011, 01:12:55 PM
Quote
i added a map editor in the map method. so laggy! i gotta get an intel!
It doesn't lag for me at all.
Title: Re: Retro games
Post by: Zoo on April 11, 2011, 05:11:20 PM
Are we still working on this? It'd be a shame to let a good gauntlet engine go to waste.
Title: Re: Retro games
Post by: EqwanoX on April 12, 2011, 08:50:54 AM
yea i like the "left 4 dead" idea, and shooting bullets will run smoother than shooting rotating axes, so thats a good idea too. ill work on converting the axes to bullets. you wanna do zombie sprites?

idea:
keep axes as a special weapon that kills multiple enemies? so the axe only stops when it hits a wall or goes off screen
Title: Re: Retro games
Post by: Connors on April 12, 2011, 02:30:39 PM
Trying to remember the name of that old game I played where you're constantly running to the right and you only have 2 buttons (jump and duck). (That's my idea for a quick SC game to make XD).
Title: Re: Retro games
Post by: Zoo on April 12, 2011, 03:17:01 PM
your green warrior guys look like zombies already. Just add blood and Presto! You have a zombie.
Title: Re: Retro games
Post by: Connors on April 12, 2011, 04:32:41 PM
Oh yeah, I forgot:
And I second the idea of zombies. It'd be like Boxhead.
Title: Re: Retro games
Post by: EqwanoX on April 13, 2011, 09:43:42 AM
i changed to bullets and added ammo pickups. now i remember why we bailed on this, the speed problems, i limited the on-screen enemies from 20 to 5 to help. i tryed to add a number of blocks that would probly be an average for maps to get an idea of the average speed we'll be dealing with, it doesnt look like that many blocks but theres actually 90

http://cl.ly/0p3k1F1y0043361t1T3u
Title: Re: Retro games
Post by: Connors on April 13, 2011, 01:30:00 PM
You think it would run faster if you made the background a single image and not tiles?
Title: Re: Retro games
Post by: Zoo on April 13, 2011, 04:26:32 PM
Connors is right. It runs lag free for me, but i'm on an intel. This is great. Maybe add health packs and multiple guns and enemies. You could do it in waves of zombies, where you can get upgrades, ammo, health, and new guns in an in between wave shop.
Title: Re: Retro games
Post by: Connors on April 13, 2011, 10:20:04 PM
I just tried out 1.4 (wasn't on my own computer before)!
This is cool, it was laggy for me though. Like I said, the tile floor isn't necessary. And if it's gonna be guns now, maybe you could just make a flash appear and have it hit instantly with some form of ray casting. It's faster and looks better than actually drawing a bullet.

Oh yeah, and nice graphics.
Title: Re: Retro games
Post by: EqwanoX on April 14, 2011, 09:48:16 AM
thats actually a great idea, useing an instant weapon cuts out alot of code, i was able to increase the amount enemies

compiled for best performance
http://cl.ly/3y1W0k0L2q3B3B313K0j

the only problem i notice is it doesnt register three keydowns at the same time, so you cant shoot when running diagonally

the tile floor is one sprite, i use spriterepeat which is like texture mapping. the blocks are individual sprites, but i dont think thats not what slows it down. it just has to check so many coodinates, theres over 100 blocks now multiplied my enemies and the player
Title: Re: Retro games
Post by: Zoo on April 14, 2011, 03:13:06 PM
Space marine? Oh well. He who makes the game names the game. The gun noise is a little loud.
It needs:
•More enemies (2 hit zombies, bosses, ect)
•Health packs
•More weapons
•A plot
•Waves of enemies.

But for a SC game, It's pretty epic as it is.
Title: Re: Retro games
Post by: Zoo on April 14, 2011, 03:47:36 PM
Could I have a download of a non-compiled version?
Title: Re: Retro games
Post by: Connors on April 14, 2011, 06:17:42 PM
So, great, now I guess he has a ray gun. XD
Pretty cool though, except the flash goes through the walls part of the way.
Title: Re: Retro games
Post by: EqwanoX on April 15, 2011, 11:14:47 AM
i fixed the sound, and laser doesnt penetrate walls as far

heres the sourse, remember to close the variable window for better performance
http://cl.ly/0B3D2T0T330c3s2z0O2v

i made it easy to adjust the max amount of on-screen enemies, on line 9 in open-card
Title: Re: Retro games
Post by: Zoo on April 15, 2011, 04:17:53 PM
There was a glitch. I got white noise when I shot after I got more ammo. SC has a problem with sounds I think. Or maybe it's just your games. Other than that, It works just as well. Thanks for the source. Imma gonna compile it for P.C. and send it to my friend.
Title: Re: Retro games
Post by: EqwanoX on April 16, 2011, 11:13:57 AM
i didnt get the sound glitch after i compiled, but i dont know what thats about, and this time i didnt compress it when i uploaded
Title: Re: Retro games
Post by: EqwanoX on April 16, 2011, 03:22:07 PM
i added a fame per second counter and a display for enemies on-screen. i tryed to sharpen the masks for sprites, i think the transperent edges might have caused some slow-down

http://cl.ly/1J2u1R3z3i3s060a0G0y

my results:  (while holding an arrow key)
3 enemies : 10 fps
5 enemies : 7 fps
10 enemies : 4 fps
15 enemies : 3 fps
20 enemies : 3 fps

Title: Re: Retro games
Post by: Zoo on April 16, 2011, 03:57:41 PM
It does get a little slow at times, but the engine works pretty good. There's the sound bug. It only happens after you reload.
Title: Re: Retro games
Post by: EqwanoX on April 17, 2011, 11:30:55 AM
-fixed spawn timer
-added bombs (command key)
-changed fire button to control key
-made fireing MUCH more responsive, and now you can run diagonally and shoot at the same time, and you can hold it down for rapid fire.

http://cl.ly/0D3I4530100j1G2s0D3d
(close variable window for best performance)
Title: Re: Retro games
Post by: Zoo on April 17, 2011, 12:24:34 PM
There's three things this game really needs:
•Health packs
•Bombs and ammo need to respawn.
•Sound glich needs fixing.
I like the rapid fire, and bombs are helpful. Way to go!
Title: Re: Retro games
Post by: EqwanoX on April 17, 2011, 12:58:15 PM

i think there should be a fixed amount of pickups for a map, if they respawn the player could just sit in one place for infinate ammo

have a certain amount of kills for the next level

we need map designs for levels
Title: Re: Retro games
Post by: Zoo on April 17, 2011, 02:10:48 PM
Ah, were making it a real game then? I can design maps. How should I do that?
Title: Re: Retro games
Post by: EqwanoX on April 17, 2011, 02:13:42 PM
go in the map method, 1s are walls, A is ammo pickups, b is bomb pickups. then post it
Title: Re: Retro games
Post by: Zoo on April 17, 2011, 02:17:25 PM
Method. I see. I'm not used to SC.
Title: Re: Retro games
Post by: Zoo on April 17, 2011, 02:19:51 PM
Mind if I add K for key and D for door? I have a few Ideas, and a key door script seems simple enough.
Title: Re: Retro games
Post by: Zoo on April 17, 2011, 02:34:56 PM
This is just like grid nav. I did the tutorial level, complete with dialogue. I can supply you with storyline, If you'd like.
Tutorial level

Shows room
Main character: Augh.... I should get out of here...
Help window: Grab a key open the door.

LET line$(1)=  "11111111111D11111111111"
LET line$(2)=  "10000000000000000000001"
LET line$(3)=  "10000000000000000000001"
LET line$(4)=  "10000000000000000000001"
LET line$(5)=  "10000000000000000000001"
LET line$(6)=  "10000000000000000000001"
LET line$(7)=  "10000000000000000000001"
LET line$(8)=  "10000000000000000000001"
LET line$(9)=  "10000000000000000000001"
LET line$(10)="11111111100000111111111"
LET line$(11)="10000000000000000000001"
LET line$(12)="10000000000000000000001"
LET line$(13)="1000000000KAB0000000001"
LET line$(14)="10000000000000000000001"
LET line$(15)="10000000000000000000001"
LET line$(16)="10000000000000000000001"
LET line$(17)="11111111111111111111111"

When the player reaches the key the door opens and a zombie enters
Help window: Quick, grab the ammo
Main character: What the...?
Help window: Hit control to shoot the zombie.

When the player shoots the zombie
Help window: Great.
Zombies break the walls and start to surround the character.
Help window: Grab the bomb and use command to set it off.

When player uses bomb
Help window: Now, go to the door.

---------

Lol. I forgot to hit  the no smiley button, so there was a guy in the middle of my code smiling.
Title: Re: Retro games
Post by: EqwanoX on April 17, 2011, 05:48:17 PM
i like the left 4 dead gameplay idea better, where you fight a wave of zombies to comlete the level, we just need levels, also mark the starting position with an x
Title: Re: Retro games
Post by: Zoo on April 17, 2011, 07:26:39 PM
Ah, ok. I Thought this was still a gauntlet-type game
Title: Re: Retro games
Post by: Connors on April 17, 2011, 10:45:59 PM
Well in Gauntlet you did have a goal, right? (in L4D  it's the safe room).

Oh yeah and if it's future themed now how about even though it's cliché as hell the plot is that you are on a spaceship, everyone is now a zombie and your goal is to survive and reach a space pod I mean, escape pod that works. (perhaps some don't work/got taken and you have to keep looking?)

EDIT: played the latest at 6 fps, but still seriously it's really cool. XD one thing I've noticed is the zombies keep hitting walls and not coming closer because they don't line up with you. It's bugging me. Any chance of adding rudimentary path finding? (or at least make them able to walk around corners.)

EDIT 2: You probably already know this but it would be cool if the sprite had the gun centered so the shots come out of the barrel.
Title: Re: Retro games
Post by: Zoo on April 18, 2011, 03:16:14 PM
Oh. I didn't notice the shots not coming out of the gun. I vote that doesn't change. It'd be hard to aim. Are we doing waves or the find-the-goal type game play. If we do a wave type, upgrades and other guns will be important. There's lots of flash games like this. They could help you decide on weapons and such.
Title: Re: Retro games
Post by: Connors on April 18, 2011, 05:39:21 PM
Quote
Oh. I didn't notice the shots not coming out of the gun. I vote that doesn't change. It'd be hard to aim. Are we doing waves or the find-the-goal type game play. If we do a wave type, upgrades and other guns will be important. There's lots of flash games like this. They could help you decide on weapons and such.
It'd be trickier but I say find-the-goal is way cooler. You could have a good storyline set up that way too. Gosh I need to find a place that I can try this thing out at full speed.
[picky graphics suggestions] And I meant the player's SPRITE should be changed because it looks off. And maybe make the beam/explosion a bit smaller so it matches the scale better? It's like a foot wide now.[/picky graphics suggestions]
Title: Re: Retro games
Post by: Zoo on April 18, 2011, 05:52:08 PM
I agree with Connors about the find the goal thing. Then we can have more storyline, and cutscenes. The wave thing is a little overdone anyway. Also, that would make map design more fun. But it's your choice.
Title: Re: Retro games
Post by: EqwanoX on April 19, 2011, 09:16:55 AM
ok lets go for a find the goal objective, this is turning into a 2d version of doom, thats sort of what i envisioned at the beginning with the space marine
Title: Re: Retro games
Post by: Zoo on April 19, 2011, 03:25:43 PM
Ok. Before we start the major game-making, I think we should do some brainstorming.
First of all, what is the game's setting
Second, what will the plot be
Third, Who's doing what (I can help with general ideas, map design, and maybe music. I can't really do much along the lines of programming, though.)

Are we going to add cutscenes and an intro? If so, what program should we make these in?
2D animation software anyone?

I really want GMG to finish a really good group project.

One final thought before I hit send,
When/If this goes up on the site, under developer, is it going to say Equinox, Various, or like "The [Insert project name here] Development team"

-zoo
Title: Re: Retro games
Post by: Zoo on April 19, 2011, 03:27:36 PM
Oh, one more thing, This doesn't really belong in trash talk. Should we start another thread in group projects?
Title: Re: Retro games
Post by: EqwanoX on April 19, 2011, 09:20:17 PM

setting will be doom-like
so far, im doing programming and graphics, your doing maps/levels, anyone can contribute any ideas or talents
probly no plot, cutscenes or intro, its very straight forward (like doom)
everyone will be listed individully in the credits
Title: Re: Retro games
Post by: Zoo on April 20, 2011, 03:08:18 PM
Great. Any other powerups/weapons you want to add?
I think there should be health packs (Marked with an H or + on the level)
Title: Re: Retro games
Post by: EqwanoX on April 20, 2011, 04:07:42 PM
yea i gotta add health paks and maybe a weapon that shoots through walls

heres an update with keycards
http://cl.ly/130W0c3p2k2j3s46202x
Title: Re: Retro games
Post by: Zoo on April 20, 2011, 04:35:16 PM
Wow. Can't wait to mess around with that.
Hey did you know in version 1.6, if you make an all ammo map, it wont run?
It doesn't need a weapon that can shoot through walls because the bomb already does that.
Title: Re: Retro games
Post by: Connors on April 20, 2011, 05:51:53 PM
Definately move this to group projects!
OK here's my epic plot:

A spaceship's crew is overcome with a strange illness, which soon causes irreversible brain damage, those who get it eventually turn on the others and become zombies blah blah blah you have to escape. You find out that many escape pods are damaged or have been taken by crew members who didn't want to wait till they were full (basterds) and you have to find a way off the ship.

It's not too complicated, and we don't have to add much to the engine, just graphics. But I'm sure you could add more wall graphics yeah?
...And if we decide the game needs more added I think there should be a mole on the ship who sabotaged everything on purpose whom you want to find.
Title: Re: Retro games
Post by: x on April 20, 2011, 06:29:19 PM
Quote
Definately move this to group projects!
OK here's my epic plot:

A spaceship's crew is overcome with a strange illness, which soon causes irreversible brain damage, those who get it eventually turn on the others and become zombies blah blah blah you have to escape. You find out that many escape pods are damaged or have been taken by crew members who didn't want to wait till they were full (basterds) and you have to find a way off the ship.

It's not too complicated, and we don't have to add much to the engine, just graphics. But I'm sure you could add more wall graphics yeah?
...And if we decide the game needs more added I think there should be a mole on the ship who sabotaged everything on purpose whom you want to find.

That sounds a lot like Dead Space...
Title: Re: Retro games
Post by: Zoo on April 20, 2011, 08:51:28 PM
How about bosses? Maybe "King Zombie" and of course you'd have to fight that mole. This game is coming along quite nicely.
In the map editor, what are the x's and R's? and T's and K's
Title: Re: Retro games
Post by: EqwanoX on April 20, 2011, 09:06:49 PM
 just look at the coding below the map code. each IF THEN is labeled

     IF mid$(line$(y),x,1)="x" then   <--"x" letter is here, which is a zombie
         LET enemysprite+=1
         CREATESPRITE enemysprite, "sprites", 55,0, 55,55     //zombie
         MOVESPRITE enemysprite, x-1*44, y-1*44, 1
      END IF

what about a title?

would anyone be interested in applying for a dev account on the mac app store? maybe we can put this up when its done. i dont have 10.6 so i cant, i suppose i could buy it but ide rather apple go f*ck themselves :)
Title: Re: Retro games
Post by: Silverwind on April 21, 2011, 09:06:27 AM
Gan's a famous registered Apple Developer! Soon to be infamous with his super special awesome chocolate coated secret project...
Title: Re: Retro games
Post by: Zoo on April 21, 2011, 03:30:53 PM
Hmmm.... It'd be cool to send it to apple. I didn't think apple accepted games made in GM or SC. Doesn't a developer account cost $100.00 a year? Some pretty stupid games make it big on the app store. Making it free would only make our chances better. Gan could help us.
Let's just concentrate on making it for the GMG first.
I'm bad at naming things, but if I think of any i'll post.
I thought of an idea for the last level. You make it to the escape pod and you have to fly it to a safe planet, and land it. We could do the lander idea along with the zombie idea.
Title: Re: Retro games
Post by: EqwanoX on April 21, 2011, 05:14:58 PM
not the iphone app store, the mac app store, the game just has to be packaged in xcode to qualify for the mac app store

i added health packs, and boots that increase speed. and i restructured the code to support different enemies, enemies can now have varied health, damage, and speed
http://cl.ly/191P1k253i251a2L3W09
Title: Re: Retro games
Post by: Zoo on April 21, 2011, 05:24:30 PM
Oh. I knew that. I'm used to GM. It compiles in RB.
Title: Re: Retro games
Post by: Zoo on April 21, 2011, 05:26:51 PM
Link doesn't work...
Title: Re: Retro games
Post by: Gan on April 21, 2011, 05:41:22 PM
I could get a Mac Dev account. $100. But there's no guarantee they'd accept an Sc game. Has to be of good enough quality. Then I couldn't guarantee a profit to pay off the $100.
I suppose I could try packaging it in Xcode.
Title: Re: Retro games
Post by: Zoo on April 21, 2011, 05:48:40 PM
I'd put releasing it off 'till we finish.
Title: Re: Retro games
Post by: EqwanoX on April 22, 2011, 07:16:46 AM
link works now
http://cl.ly/191P1k253i251a2L3W09

i think ill limit the amount of enemies per level to stop them from spawning at some point

i could shorten the range of the gun and have a pickup that increases it for an upgrade

should i add a melee attack?
Title: Re: Retro games
Post by: Zoo on April 22, 2011, 12:02:55 PM
Yeah. A melee weapon could be a light saber or a taser or a piece of radioactive toast.......
A melee weapon is needed because running out of ammo is a problem.
Title: Re: Retro games
Post by: EqwanoX on April 22, 2011, 01:41:12 PM
we can always change the value for ammo pickups, or just add more ammo pickups. i think running out of ammo is suspenseful, i think adding a melee weapon might make it to easy

other than that, i think we can start making levels now

im gonna make an enemy limit per level so theyll stop spawning at some point
Title: Re: Retro games
Post by: EqwanoX on April 22, 2011, 03:07:07 PM
added enemy limit and the goal. i added a new level to show how it works. all you gotta do is add a CASE for each level in the map method. i like the idea of the escape pod for the last level

http://cl.ly/3c3R1F120l1B07040m2C
Title: Re: Retro games
Post by: Zoo on April 22, 2011, 06:45:27 PM
Looks good. I don't want to start map design until the engine is complete. So you have to get to the portal to get to the next level? I was thinking maybe more like gauntlet with larger levels and going from room to room like in Quest of Magic with the northroom southroom eastroom westroom. Other than that, it's got enough. I think the difficulty level is good. Not too easy, but not too hard. I have to go to church, I'll probably post tomorrow.
Title: Re: Retro games
Post by: EqwanoX on April 23, 2011, 09:32:07 AM
the grid is 17x23, if i add scrolling off-screen like in zelda, then the edges of the screen that dont branch into other rooms would have to be walled off, which would add like 20 blocks per edge which greatly slows down the engine but i could add a doorway sprite or something that will connect to another rooms, the same way as the portal
Title: Re: Retro games
Post by: Connors on April 23, 2011, 10:18:19 AM
A doorway sounds like a good plan, just use tilesprite for walls...
This still lags like hell for me, so I can't say much else. Except that you need to fix his gun so it points where the laser is coming out.
Title: Re: Retro games
Post by: Zoo on April 23, 2011, 11:30:05 AM
The character sprite gun thing doesn't really bother me too much. Of course, if we end up making this one of the most successful SC games of all time (By getting it on the app store) then we need to make it perfect. It's not very slow for me. When you get to the second portal, it speeds things up so much, with no walls and no powerups, it's funny how the zombies run at least triple the speed they used to.
Title: Re: Retro games
Post by: EqwanoX on April 23, 2011, 03:02:56 PM
compile the source for best performance, otherwise close the variable window

theres no way to adust the laser, i would have to adjust the character sprite so the gun is center, which ill get to eventually, i just want to get the basics down

with multiple rooms the locations of on-screen enemeies for each room would have to be saved when a new room is entered. also level designing will be more complex. im reluctnant about this, cause right now level designing is easy and fun
Title: Re: Retro games
Post by: Zoo on April 23, 2011, 03:29:59 PM
I see.
So, should the actual level design begin?
Title: Re: Retro games
Post by: EqwanoX on April 23, 2011, 04:08:32 PM
yea i think we should bail on the rooms idea, it would be really hard to program, i would have to restructure alot of the code.
Title: Re: Retro games
Post by: Zoo on April 23, 2011, 04:41:54 PM
Okay.
Title: Re: Retro games
Post by: Connors on April 24, 2011, 10:54:36 PM
So what are you going to do then?? Have each screen be a different level? You can't backtrack and explore around then. But then I guess it's too early to decide exactly what it will do and how.
But here's my two cents: if you use a different card for every room you can set it up however you like and have each card say what rooms it connects to.
Title: Re: Retro games
Post by: Gan on April 24, 2011, 11:01:59 PM
That's how QOM works. Very nice way of organizing.
Title: Re: Retro games
Post by: Connors on April 24, 2011, 11:12:27 PM
That's what I can't do with mine though, no cards. I want to figure it out but if I put all that info (connected rooms, dialogues, treasure) in the same code file I'd likely go nuts.
Title: Re: Retro games
Post by: Gan on April 24, 2011, 11:18:38 PM
Hm. Probably best to separate into code files.
In Xcode you'd just make different classes to split them up, or just have verything in one class but fold the code so only a certain level is showing.
Title: Re: Retro games
Post by: EqwanoX on April 25, 2011, 09:16:32 AM
Quote
So what are you going to do then?? Have each screen be a different level? You can't backtrack and explore around then. But then I guess it's too early to decide exactly what it will do and how.
But here's my two cents: if you use a different card for every room you can set it up however you like and have each card say what rooms it connects to.
but theres alot more to it, you gotta save all the enemy postitions, enemy types, pickups, keycards, and so on for each room. not to mention it would make level designing much harder. i think the gameplay should be fast paced,  and backtracking would just slow down the experience

basically right now, advanceing to the next level restores your regular speed so you can get the boots pickup for each level, keys get cleared, and health and ammo carry over

i want to alter the graphics more for the different enemy types, and ill work on a boss fight, if you fight boss' one on one we can probly add projectiles for the boss without slowing down the engine
Title: Re: Retro games
Post by: Zoo on April 25, 2011, 10:32:47 AM
Yeah, sound's great. I'll keep working on basic levels.
Maybe there should be like 3 or 4 levels to a set of levels, then a boss battle, then a cutscene, then you get basic stats back and start the next set. That would organize things a little. How big is the window the game is in? I could work on a menu in Photoshop.
Title: Re: Retro games
Post by: Zoo on April 25, 2011, 02:11:03 PM
Here's a map


   LET spawntimer=8    //time between enemy spawning
   LET enemylimit=50    //enemies in level
   LET maxenemy=17   //maximum amount of enemies on-screen
   LET line$(1)=  "00000000000000000000000"
   LET line$(2)=  "10000111100000000000000"
   LET line$(3)=  "1000019h100000000000000"
   LET line$(4)=  "1000011R100000000000000"
   LET line$(5)=  "10000000000000000000000"
   LET line$(6)=  "100000000000p0000000000"
   LET line$(7)=  "10000000000000000000000"
   LET line$(8)=  "10000000011111110000000"
   LET line$(9)=  "1000000001BpAA010000000"
   LET line$(10)="10000000010000010000000"
   LET line$(11)="10000000011111010000000"
   LET line$(12)="100111T1111111010111110"
   LET line$(13)="1001xxx00001a10101xxx10"
   LET line$(14)="1001g0x000b0a10101k0y10"
   LET line$(15)="10001ux10000a0010tbaa10"
   LET line$(16)="10001111111111110111110"
   LET line$(17)="10000000000000000000000"
  
Title: Re: Retro games
Post by: EqwanoX on April 25, 2011, 02:18:24 PM
hey gan, if you get a licence on the mac app store for a year, can you release as many games as you want within that year with no extra charges? would you want to try to submit gangwars while we work on this game? i went to the gangwars guys house and he doesnt live there anymore so i dont think we would have to worry about royalty fees or anything
Title: Re: Retro games
Post by: EqwanoX on April 25, 2011, 02:55:39 PM
thats a good start. just make the player work a little harder. i tweaked it a little to show you. try not to wall off the edge of the screen and you should be ok

   LET line$(1)=  "000010000000001hbh10000"
   LET line$(2)=  "000010000000001000100A0"
   LET line$(3)=  "0A10001T10Y00011R110000"
   LET line$(4)=  "0A1000T9T000000000000Y0"
   LET line$(5)=  "0111101T111111111100000"
   LET line$(6)=  "00000010000100000000000"
   LET line$(7)=  "00YY001h010001000000000"
   LET line$(8)=  "00011R11111111011100011"
   LET line$(9)=  "1011z000010A0A01A00000A"
   LET line$(10)="00010g010RbzA001000Y000"
   LET line$(11)="0K0100z1011111110000000"
   LET line$(12)="11111111001AA1p1011R110"
   LET line$(13)="0hA1xxx00010010101b0h10"
   LET line$(14)="00010b0100110101010u010"
   LET line$(15)="000000010000000101A0A10"
   LET line$(16)="0001111111111111011111h"
   LET line$(17)="000000A0000000A000000A1"
Title: Re: Retro games
Post by: Zoo on April 25, 2011, 02:57:45 PM
Oops. I actually forgot about that. Um... Yeah. There wasn't supposed to be a wall there.
Title: Re: Retro games
Post by: Gan on April 25, 2011, 03:02:45 PM
Quote
hey gan, if you get a licence on the mac app store for a year, can you release as many games as you want within that year with no extra charges? would you want to try to submit gangwars while we work on this game? i went to the gangwars guys house and he doesnt live there anymore so i dont think we would have to worry about royalty fees or anything
Yeah, unlimited amount of apps. As for the gangwars, who is this guy? I'd hate to put up a game that isn't fully yours. Well, I could put it up free but we'd have to make sure we're in the clear if it's a paid game.
Title: Re: Retro games
Post by: Zoo on April 25, 2011, 03:03:32 PM
I like it.
I'll make more maps.
Title: Re: Retro games
Post by: Zoo on April 25, 2011, 03:34:32 PM
I just made an intro to the game, Mind if I call the space station the player is in "Station EQ"? It sounds cool, and it is your game. Some airplanes autosend messages to an airport or whatever if something goes wrong. In my menu, it shows a screen of a computer that says that an auto sent message is incoming. Then it shows a message and says it was sent at 5:47 4/5/20XX. Then it says: Respond? Y/N. I'm thinking if you hit Y it starts the game, and if you hit N it quits.
http://www.mediafire.com/?5y3vsyq939d8p2x
I didn't make it a movie yet, but it should work if you throw it together in iMovie.
Title: Re: Retro games
Post by: Gan on April 25, 2011, 06:53:55 PM
I like it:
Retro Game Title Movie (http://cl.ly/2U1c0i1p0e1D0i2a0a1b)
Title: Re: Retro games
Post by: Zoo on April 25, 2011, 06:56:13 PM
Thanks. With a little movie editing, gan turns 21 pictures into an intro to a video game. What's the music you used, Can I have a download so we can loop it at on the menu?
Title: Re: Retro games
Post by: Gan on April 25, 2011, 07:05:35 PM
http://cl.ly/2Y3m2L393q2a1T0R463Y

This includes 3 different music tracks, I only used the first. The other two may come in handy for levels or something.
Title: Re: Retro games
Post by: EqwanoX on April 25, 2011, 09:01:09 PM
Quote
I like it:
Retro Game Title Movie (http://cl.ly/2U1c0i1p0e1D0i2a0a1b)
THATS cool, we'll definatly use that

slight update, i tryed to center the laser, and i added a gun upgrade that has longer range and does more damage
http://cl.ly/0I3K0c1v200O2h1z050Z
Title: Re: Retro games
Post by: Connors on April 25, 2011, 11:05:46 PM
I like how it's still called "Sprite Nav v0.x.x". That should be the secretive "development name" until it's released. XD

So, which sounds should be used for the menu? I say pressing "Y" plays #3 (shortened to a few seconds). Afterwards it goes back to 1 or 2, maybe at random.

Let me know if you decide to add some more graphics tiles, or proper animations. I like animating. Even if it's simple stuff like recoil or zombies leaning left and right when they walk it helps it look better.
Does using recreate sprite before updating the screen slow down the game very much?
What about seeing your own feet move?

EDIT: Try replacing "updatescreen" in the timer with:
Code: [Select]
         LET check = (check * -1) + 1
         IF check = 1 then UPDATESCREEN
         END IF
That updates every other frame, it should be faster. Let me know what you think, and if it looks too choppy or weird. I think it's fast enough though.
Title: Re: Retro games
Post by: Zoo on April 26, 2011, 03:23:05 PM
I think hitting Y should open a "New game" "Load game" menu. I think we need to work on a boss level now. Any ideas for a first boss? We also need a cutscene before (Or after) said boss. I have an idea, if you want to stick with the computer console idea. A cutscene could be as simple as:
Now loading pictures from EQ station.....
Then it shows a picture or zombies. Then opens anothe picture of some more zombies or maybe the main character shooting zombies. I've seen Eq's art before, he's pretty good at drawing. Maybe he could do the pictures. I'm a crummy artist. Anybody willing to do a computer voice? You can change your voice with garage band, or just use one of the mac voices.
Voice acting isn't needed to badly, but would make the game more lifelike and interesting.
I think the weapon is a good idea. Maybe you could make it so you can toggle between weapons, and give them different ammo, and make the green gun slower but stronger, and the yellow one faster but weaker.

Just some ideas,
            -Zoo
Title: Re: Retro games
Post by: Gan on April 26, 2011, 04:35:01 PM
Give me a script and I can play around with voice tuning.
I've only recorded and changed my voice once, that was for Rock Paper Scissors Extreme!

Whoa, this is a group project now? It's gonna die.
Title: Re: Retro games
Post by: webmaster804 on April 26, 2011, 05:33:43 PM
Hey, hate to interfere but my brother (zoo804) just showed me the progress so far and i've got a few comments.
These are mostly from a players point of view.
At the beginning of a round i recommend the screen lock for like 3 seconds and your player be highlighted. When ever I would first get to a new level i would have to find my guy and by that point i would be half dead. That might just be me but it cant hurt to try and I bet it would be simple to do.
I like how it gives you time to think in between each room and having to decide where to go next gives it an element of strategy. Makes you think things like: is it worth the 3 zombies to try to get the ammo and the key? Or should I try for the health first? I like this a lot because most shooters are just point gun shoot zombie move on. The way this game works means you need a plan and strategic thinking not just a quick shooting reflex.
One more problem I have is that if you die you have to go all the way back to the beginning. The way the game seems to work its hard to beat a level all in one go. So having to go back and replay the whole game every time is frustrating.
i love the game and if theres anything I can do to help don't hesitate to ask (just gonna warn you I have almost no skill whatsoever with script or stuff like that)
Title: Re: Retro games
Post by: Zoo on April 26, 2011, 05:40:02 PM
Gan,
I would start by doing anything the computer says, in your best robot voice. Then maybe a few small expression the player says randomly in game. Like sounds of pain, and maybe some "Ha, Take that"s or something. Since this really has no story yet, there aren't any scripts yet. But I'm sure we'll have some in the near future.
Title: Re: Retro games
Post by: Connors on April 26, 2011, 06:32:49 PM
I'm going to look at this soon on a better computer (school's computer), so I can give better advice and probably try to make levels. I like making levels.
Title: Re: Retro games
Post by: EqwanoX on April 27, 2011, 09:46:22 PM
webmaster had some good thoughts, i can see how its confusing at the beginning when you dont know where your character is, ill figure out something to fix that. i added lives though, and armor that cuts damage in half, and i fixed some bugs.

http://cl.ly/0w0I1S2z3o0g472u362b

i would like to draw a doom-like title screen, but i dont think i can do more scene-oriented artwork than that cause its just to time consuming and probly isnt needed in this type of quick action game. but i still like the intro idea

i would like to start makeing more enemy and boss sprites, the graphics are pretty simple to make i just need inspiration, anyone have any ideas? otherwise ill probly just copy more doom designs

we could still use some more regular and boss levels/arenas, if anyone can make any ill add them in the next update
Title: Re: Retro games
Post by: Connors on April 28, 2011, 12:30:11 PM
Quote
Does using recreate sprite before updating the screen slow down the game very much?
What about seeing your own feet move?
- Connors on animated sprites
Title: Re: Retro games
Post by: Zoo on April 28, 2011, 03:12:02 PM
w00t. Connors is making animations. It'll be awesome if it doesn't slow the game down a lot. OK I found a glitch. When I beat level one, I went on to the next stage, and being the smart gamer, I set off a bomb to destroy all the zombies closing in on me. It showed my character die, and even though I had 2 lives, It gave me the game over screen.
Title: Re: Retro games
Post by: EqwanoX on April 28, 2011, 07:05:42 PM
fixed
http://cl.ly/3I1W1q4734120B2h242n

i dont know how much slow-down animations would be, its worth a try, ill test it
Title: Re: Retro games
Post by: Zoo on April 28, 2011, 08:06:50 PM
No background.... :(
Title: Re: Retro games
Post by: EqwanoX on April 28, 2011, 09:10:12 PM
fixed
http://cl.ly/2P3m241q3u2A30323v0F
Title: Re: Retro games
Post by: Connors on April 28, 2011, 10:36:44 PM
made one today:
(http://i1215.photobucket.com/albums/cc511/Connor_McHarney/attack1.gif)
I'll try making him lean left and right for walking next.
As for the player, you could try switching between rotating +/- 3 degrees, so he moves his arms left and right.
(feel free to edit or remove the extra blood, I just put that in for style 8))
Title: Re: Retro games
Post by: Zoo on April 29, 2011, 03:10:19 PM
Cool! We're at 1.8.9 now? Only one more version 'til 1.9!
Title: Re: Retro games
Post by: Zoo on April 29, 2011, 03:19:39 PM
Nice sprites, Connors. Either you or Eq can do a boss-sprite. I have some boss-map ideas. Is there a way to have it when the player walks into a certain area, cut to a scene or something. For boss levels, the goal should appear after the boss is dead, along with several powerups. Like in gauntlet.
Title: Re: Retro games
Post by: EqwanoX on April 29, 2011, 07:30:43 PM
Quote
Nice sprites, Connors. Either you or Eq can do a boss-sprite. I have some boss-map ideas. Is there a way to have it when the player walks into a certain area, cut to a scene or something. For boss levels, the goal should appear after the boss is dead, along with several powerups. Like in gauntlet.
yea that would be easy. post the map then seperately post the lines of the map that are changed, JUST the lines that are changed no need for the whole map

thats a good animation, i added it and found the reason why sprite rotation isnt supported. recreateing a rotated sprite doesnt update the mask, so im waiting on mike to see what he can do. but as far as i can tell it doesnt seem to slow down to much
Title: Re: Retro games
Post by: webmaster804 on May 04, 2011, 09:08:51 PM
hey guys would it be ok if i made a level?
 i have some ideas
also you should start with lives this is one of the only games ive played where you start at zero just sayin
Title: Re: Retro games
Post by: Connors on May 04, 2011, 10:53:30 PM
A bit of advice from someone who has played a lot of really good and really bad arcade games:
Try to keep the normal (not boss) levels from becoming too repetitive. Throw in some tricks, like perhaps an exit door on one level that lets out a few more zombies you have to kill/avoid to move on. The good thing about SC is you can do these things easily because you can put in unique code on each card.
OOH or how about a level with a key card inside an airlock so you have to close the outside door before opening the inside door or you get sucked out into space* and die rather hilariously. At least it's hilarious to the designers anyways.
Oh and yes Webmaster, I think they said anyone can submit maps and ideas.

*Technically you'd be pushed out. The so-called suction is from the air pressure on board escaping.
Title: Re: Retro games
Post by: Zoo on May 05, 2011, 03:22:54 PM
Yeah, web's got a point. not many games start with 0 lives.
Knowing him, he'll make some pretty good levels. He's creative like that.
I like the vacuum idea. We'll need to add something that says to do that first though.
Web also had an idea to add the menu and a game over screen (with a retry button of course), for letting people test it. I imagine it's quite annoying to have to quit an app and run again every time you die.

How about save points, were you go back to if you run out of lives, and you can save. Like some sort of machine in game that saves your game and heals you when you walk over it. It'd only have to do this after a boss level, or after a really long set of levels. It should be challenging, but it's a little harsh to make a player start over the entire game after every death. I understand that's what the lives are for.

How about adding a survival mode, where zombies, ammo, armor, and bombs all spawn forever until you die. You would have one life only, and (If SC can do this, I don't know about it's online functions) try to get a high score online.

Also, maybe some difficulty levels. These would determine starting lives, zombie spawn rate, number of onscreen zombies at a time, and health.

Ok, that's it.
-zoo
Title: Re: Retro games
Post by: Connors on June 04, 2011, 08:03:54 PM
AAAAAaaaaaaaaaaand it's stopped.
Title: Re: Retro games
Post by: Zoo on June 05, 2011, 07:32:40 PM
well, duh. It's a group project.
No matter how awesome they are, they are doomed to fail.
We should have left it in Trash Talk.
Title: Re: Retro games
Post by: Zoo on June 24, 2011, 10:54:58 AM
Hey, is this ready for level design, or are we adding any new features? I'd love to have this done by the end of summer, but I'm a bit of a dreamer. I sure hope this does get finished. I'd hate for an awesome thing like this to go to waste. Ah, yes, we were working on the boss part.
Title: Re: Retro games
Post by: Connors on June 25, 2011, 12:10:49 AM
Okay here's the deal:
I can't really help you guys out on level design and boss programming because my computer runs it at 2-6 FPS. But if you just give me an idea of what the boss is/the size of the sprites I can put together some graphics. Or if you send me a basic drawing I'll be glad to help touch it up.
And I might look into the airlock puzzle on my own, that's not as hard to test.
Title: Re: Retro games
Post by: Zoo on June 25, 2011, 08:34:40 AM
Yeah, and can we make it so each level has it's own spawn rate? Or is it already like that? I don't remember. What version are we on? 1.8.9?
An airlock puzzle, eh Connors? That's a neat idea. Sure you can help with level design, just post your level here, and we'll test it for you.
I'll be making more levels as soon as we know that it's done.
Title: Re: Retro games
Post by: Zoo on June 27, 2011, 02:35:41 PM
Sure thing. Is Eq still alive? It's his game. I can't make all the choices about levels and stuff, but I'd work on a few designs for a King Zombie. He could break up into smaller zombies once you defeat him, or he could spawn little zombies at you, if just killing him isn't hard enough. I didn't read your post wrong, by the way. I still think you can do level design, and I'll test your levels, and tell you how they work. Or compile them, so you could test them on a friend's P.C. or at the library or your school or something.
Title: Re: Retro games
Post by: Zoo on June 27, 2011, 02:36:49 PM
Wait, did you delete your post while I was typing? Or did my mind just make it up?
Title: Re: Retro games
Post by: Connors on June 27, 2011, 02:47:25 PM
I thought they changed it so that zombie's spawns are marked on the map. And I guess I can work on levels but you guys can modify them if you need to! I might not realize it's too hard or too easy. What's your plan for lives/saving? We don't have to recycle a system we've seen. The real point of lives or health is that you are punished for repeated mistakes. You could even have more frequent save points or health pickups and remove lives altogether.
Title: Re: Retro games
Post by: Zoo on June 27, 2011, 02:49:48 PM
Yeah, if Eq ever comes back, he should probably make savepoints and such.
Title: Re: Retro games
Post by: Connors on June 29, 2011, 02:24:46 PM
There are some things that I/we could program ourselves, I could help with that since it doesn't involve playing through levels so much.

But is there a way you could make sure it reset to the save point on its own without forcing the player to load a game again?
Title: Re: Retro games
Post by: Zoo on June 29, 2011, 03:24:27 PM
I'm pretty new to SC, but if it's anything like GM, the saving is pretty confusing. I'd say if Eq never comes back to stick to the normal saving system. He'll probably know how to do some of that saving stuff though. Some of the other people around here are pretty good at SC. They could try to adopt the coding bit of the project. I can do more levels, and you can help with the sprites and ideas.
Plus if I collect 3 more of the 10 sacred code-stones and level up, I can roll against 5 to try to raise a SC veteran from the dead.
Title: Re: Retro games
Post by: Zoo on July 03, 2011, 12:48:15 PM
For anyone who wants to make levels, here's the blank level template:
Just fill out the variables, then copy-paste it into a CASE for testing

   LET spawntimer=0    //time between enemy spawning
   LET enemylimit=0    //enemies per level
   LET maxenemy=0   //maximum amount of enemies on-screen
   LET line$(1)=  "00000000000000000000000"
   LET line$(2)=  "00000000000000000000000"
   LET line$(3)=  "00000000000000000000000"
   LET line$(4)=  "00000000000000000000000"
   LET line$(5)=  "00000000000000000000000"
   LET line$(6)=  "00000000000000000000000"
   LET line$(7)=  "00000000000000000000000"
   LET line$(8)=  "00000000000000000000000"
   LET line$(9)=  "00000000000000000000000"
   LET line$(10)="00000000000000000000000"
   LET line$(11)="00000000000000000000000"
   LET line$(12)="00000000000000000000000"
   LET line$(13)="00000000000000000000000"
   LET line$(14)="00000000000000000000000"
   LET line$(15)="00000000000000000000000"
   LET line$(16)="00000000000000000000000"
   LET line$(17)="00000000000000000000000"


Key:

p = player spawn
Wall/stage elements:
1 = wall
0 = nothing
R = red door
T = blue door
9 = goal

Powerups:
A = ammo
b = bomb
h = health
g = boots
f = rifle
L = life
d = armor

Keys:
K = red key
u = blue key

Enemies:
x = 1 health zombie
Y = 2 health zombie
Z = 3 health zombie

Thanks, and remember to post finished levels here for review, and to be put in the finished game.
Title: Re: Retro games
Post by: Zoo on July 03, 2011, 12:51:02 PM
Don't have a mac? Don't worry. We'll do the testing for you if you post it here, or we can put it in to a compiled game for you. Just edit it in TextEdit or whatever.
Title: Re: Retro games
Post by: Zoo on July 03, 2011, 05:36:26 PM
Hey Connors, there's a few bugs. Can you try to fix them?  It tells you about them the second you run the game, so it shouldn't be hard to find them.
Title: Re: Retro games
Post by: Connors on July 05, 2011, 07:40:09 PM
OH got it, I'll do that first chance I get. Where's your latest version of the program because I have one that isn't bugged.
Title: Re: Retro games
Post by: Zoo on July 06, 2011, 10:04:06 AM
I'm on 1.8.9 what's the latest? You can download 1.8.9 on the other forums.
Title: Re: Retro games
Post by: Zoo on December 14, 2011, 04:10:43 PM
This is really awesome. Why has it stopped? I'll make levels again.
Title: Re: Retro games
Post by: Zoo on December 17, 2011, 10:40:38 AM
It's missing menus, cutscenes, and any sort of story, but I agree, the engine is finished. I'll keep making levels, and anyone with any skill at making menus can make one. I'd like to see this as a finished game.
Title: Re: Retro games
Post by: Silverwind on December 26, 2011, 07:17:27 AM
Wowza! Just checked out the game and I'm blown away! I got to level 4 and reckon that's enough for a finished release. Love to see it with a title screen and some background music, but it's a smashing top quality release as it is. Excellent job!
Title: Re: Retro games
Post by: EqwanoX on December 26, 2011, 07:34:40 AM
this came a long way from a gauntlet clone, i remember when the guy would shoot bullets, then someone said make it a laser and it made the game so much better
Title: Re: Retro games
Post by: Silverwind on December 26, 2011, 09:40:20 AM
Couldn't resist making a Doom-esque soundtrack for it:

http://www.mediafire.com/?y2iryyfj43pixye
Title: Re: Retro games
Post by: Connors on December 26, 2011, 12:32:32 PM
Cool soundtrack, although it's pretty much a remix of the exact same music from Doom. ::)

And can I request you guys post the link to the newest build again? Don't remember where it was.
Title: Re: Retro games
Post by: EqwanoX on December 27, 2011, 08:40:48 AM
im pretty sure we left off at v1.8.9. its still on my cloud account

http://cl.ly/2P3m241q3u2A30323v0F
Title: Re: Retro games
Post by: EqwanoX on January 14, 2012, 10:51:37 AM
are we done with this? cause i think i'll upload it to the downloads
Title: Re: Retro games
Post by: Zoo on January 14, 2012, 12:06:44 PM
We need a title screen, and more levels, but I'd say we're done with gameplay.
Title: Re: Retro games
Post by: EqwanoX on January 14, 2012, 03:25:23 PM
quick update, added some new levels, and secret walls
http://cl.ly/2e1g0m3K3T2I1b393R09
Title: Re: Retro games
Post by: Connors on January 14, 2012, 09:40:20 PM
This has come a long way! It's true it still really needs a title screen and didn't someone make a cool intro a while back? My computer was set up so if I hit control+any arrow it does different system commands like showing all windows or the DASHBOARD which really messed me up. :P Think you could add a change controls option? I know that just takes more work... I suppose for now I could just change the key to option. I'd like to add levels when I have time too.
EDIT: I keep getting killed only because it looks like three zombies when it's like eight because they OVERLAP. Every blammin' time. :( I got to level 2 though...
I wonder if it runs faster for me?
EDIT 2: Starting level 3 with  a swarm of 10 green zombies was not cool. They're easy to kill but not if you have 5 ammo left or something... I suppose that's partly the player's fault for not bringing enough but it can send them into an impossible situation. And absolutely add a short delay at the start of a level with some teleporting animation so you see where your guy starts. I haven't got the levels memorized like you guys who designed it!
[/wall of text] [/criticism]
Title: Re: Retro games
Post by: EqwanoX on January 15, 2012, 09:21:50 AM
dont forget to look for secret walls. *hint esspecially on the level where your spawned next to 10 enemies. if you dont have ammo in that situation just run, theres ammo nearby. im gonna have to add a teleport animation
Title: Re: Retro games
Post by: EqwanoX on January 15, 2012, 03:55:30 PM
added teleport animation (much better), a title screen, and tweaked the levels a bit
Title: Re: Retro games
Post by: Connors on January 15, 2012, 04:25:28 PM
Any issues with from now on changing the shoot key to use "optionkey"? I have a hard time without changing it.
Title: Re: Retro games
Post by: EqwanoX on January 16, 2012, 10:58:53 AM
shoot to option? or bomb to option? i think it makes more sense for control to be shoot like in common mainstream games. i did the title screen, just continued with the DOOM theme,


(http://i40.photobucket.com/albums/e202/eqwanoxgames/title-1.png)
Title: Re: Retro games
Post by: Connors on January 16, 2012, 11:04:12 AM
That title screen is made of awesome. I like how you did the floor, is this all Photoshop?

And I meant change shoot to option because control messed me up but that's just me on 10.7. >_>
Title: Re: Retro games
Post by: Gan on January 16, 2012, 12:00:00 PM
Tha title screen is full of epic! :O It appears that your skilling is rising above that of a professional.
Title: Re: Retro games
Post by: Charlo on January 16, 2012, 12:29:22 PM
Agreed, that title screen is awesome.  The text could be better though, it looks really plain compared to the detailed artwork behind it.
Title: Re: Retro games
Post by: EqwanoX on January 16, 2012, 01:22:27 PM
thanks everyone. i tryed to add the video intro gan made, but when i click the screen while its playing it pauses and theres no way to resume it so it may just confuse the player if i left it in there cause it just freezes up.
That title screen is made of awesome. I like how you did the floor, is this all Photoshop?
oh god yes, photoshop is my jesus

Agreed, that title screen is awesome.  The text could be better though, it looks really plain compared to the detailed artwork behind it.
yea what font should i use? i messed around with it but i couldnt find one that looked right

i added a speed limiter, so when the frames per second goes over 7 it adjusts the time to 5. i also forgot to mention i added demon enemies, their grid id is "6"

heres a new level i'm working on
Code: [Select]
   LET spawntimer=8    //time between enemy spawning
   LET enemylimit=25    //enemies in level
   LET maxenemy=12   //maximum amount of enemies on-screen
   LET line$(1)=  "00010010010901001001000"
   LET line$(2)=  "0F0R00000100010000000b0"
   LET line$(3)=  "0001000001h0h1000001000"
   LET line$(4)=  "11110010011T11001001111"
   LET line$(5)=  "00000010a01010a01000000"
   LET line$(6)=  "00000010001010001000000"
   LET line$(7)=  "00111111011R11011111100"
   LET line$(8)=  "00160010001010001006100"
   LET line$(9)=  "0000UhR0A00h00a0RhK0000"
   LET line$(10)="00100010x00000x01000100"
   LET line$(11)="00111111110001111111100"
   LET line$(12)="00000h10000000001h00000"
   LET line$(13)="00000010000000001000000"
   LET line$(14)="12110010000000001001121"
   LET line$(15)="00010000000p00000001A0A"
   LET line$(16)="0g02x0000000000000x20d0"
   LET line$(17)="00010010000000001001A0A"

Title: Re: Retro games
Post by: EqwanoX on January 16, 2012, 01:47:59 PM
does anyone want to make a level? cause i need ideas. its pretty easy and i could tweak it before adding it to the game. should there be an ending?
Code: [Select]
LET line$(1)=  "00000000000000000000000"
LET line$(2)=  "00000000000000000000000"
LET line$(3)=  "00000000000000000000000"
LET line$(4)=  "00000000000000000000000"
LET line$(5)=  "00000000000000000000000"
LET line$(6)=  "00000000000000000000000"
LET line$(7)=  "00000000000000000000000"
LET line$(8)=  "00000000000000000000000"
LET line$(9)=  "00000000000000000000000"
LET line$(10)="00000000000000000000000"
LET line$(11)="00000000000000000000000"
LET line$(12)="00000000000000000000000"
LET line$(13)="00000000000000000000000"
LET line$(14)="00000000000000000000000"
LET line$(15)="00000000000000000000000"
LET line$(16)="00000000000000000000000"
LET line$(17)="00000000000000000000000"

p=player spawn point

1=wall             //objects
2=false wall
R=red door
T=blue door
9=goal

a=ammo       //pick-up items
b=bomb
d=armor
h=health pack
F=rifle
g=boots
L=xtra life

K=red key      //keys
U=blue key

x=green zombie    //enemies
y=blue zombie
z=red zombie
6=demon
Title: Re: Retro games
Post by: Gan on January 16, 2012, 01:52:14 PM
Hey guys, got an idea for fixing the video.

Silverwind's QoM intro consisted of just showing a bunch of images very fast.
I can split the video into images and we can show them like a video using Sc's DrawInage command.

I'll be home in like 20 min, I'll give it a spin.
Title: Re: Retro games
Post by: EqwanoX on January 16, 2012, 01:59:51 PM
got a better idea, line up all the images in one image so i can import it as a sprite and just run a timer to cycle through them with sprite cutting. it would look like this

createsprite 1, "intro", 0,0,windowwidth, windowhieght
movesprite 1, 0,0
on timer 1
let frame+=1
recreatesprite 1, "intro", frame*width, windowheight, windowwidth, windowhieght
end timer
Title: Re: Retro games
Post by: EqwanoX on January 16, 2012, 02:16:29 PM
also i can scale it down so it doesnt use so much space and impose it on a computer screen like this

(http://i40.photobucket.com/albums/e202/eqwanoxgames/introidea.png)
Title: Re: Retro games
Post by: Connors on January 16, 2012, 02:30:15 PM
LOL futurepad I want one! XD
And cool idea to make the movie. Do it.
EDIT: About the font: Also try applying effects to a text layer to make it more interesting, textures, drop shadow, borders etc. I'm trying to remember just where it was and what works, I no longer have my own copy of PS. :,(
Title: Re: Retro games
Post by: Gan on January 16, 2012, 04:29:42 PM
This is what I got regarding the Intro Vid.

http://cl.ly/2z2r3c3s0D1P1U3f4323

Runs smooth for me. We can always lower the timer FPS and make it skip every other frame to make it run smoother.
Title: Re: Retro games
Post by: EqwanoX on January 16, 2012, 08:17:19 PM
i tryed to do it with paint commands cause it only took about 50 lines of code, and we dont have to deal with the 20mb's of frames. i liked that blur effect, but this way its bundled all in one simple app. i also added a fade to black effect, it came out pretty good, it needs an ending though, ill think of something
Title: Re: Retro games
Post by: Gan on January 16, 2012, 08:22:39 PM
Nice! I like it!
Title: Re: Retro games
Post by: Zoo on January 17, 2012, 04:31:04 PM
sorry, I haven't checked this for a while. Wow. Looks like you've made progress. Sweet title screen btw.

Weren't we going to make a boss battle level? The code would be simple enough, just add another type of zombie with way more health. You could go on to make a big hideous mess of green, rotting flesh sprite, maybe make little zombies spawn from it to distract you, and make the portal appear when you kill it.

If you need ideas for levels, I can help, but when it comes to actually making them, it turns out I'm not very good. I made a Pac-Man level, 4 zombies in a middle area, walls forming a maze, power ups in the corners and ammo in every blank space. Sadly, this was too much for SC to handle, so I got an error message.

Also, this game has potential to do great things. With what we have so far, we could expand it into something much greater. A complete single player campaign with a storyline would be cool.

 A survival mode, could be made by adding a timer to a level, making ammo/bombs/armor spawn every once and a while, after maybe 10 zombies killed you could get the better gun. Or maybe you just get rid of ammo entirely and give the character a machine gun that overheats if you shoot it too long. Or a store menu, where you spend points you get from killing zombies on upgrades and ammo, and bombs.

While I'm throwing ideas that will probably never happen out here..... ONLINE MULTIPLAYER! CO-OP CAMPAIGN!! MELEE WEAPONS!!! SNIPER RIFLES!!!! MINIGUNS!!!!! PLAYER CLASSES!!!!!! BONUS LEVELS!!!!!!!! EASTER EGGS!!!!!!!!!!! 3D RENDERED CUTSCENES!!!!!!!!!!!!!

*Please note that the above statements are caused by zoo's overactive imagination, and will never be expected of anyone. He seems to have blown up an impossible/highly unlikely ideas grenade.
Title: Re: Retro games
Post by: Gan on January 17, 2012, 04:58:26 PM
Mmmmm, 3D cutscenes. I suppose it'd be possible to take some of Eq's drawings and make a pseudo 2D/3D cutscene. Like the room could be 3D(basically a box,with box like objects-textured with Eq's floor and wall graphics). Powerups, zombies and the main character could be plain 2D textured planes. Could be done using Blender...
I can't guarantee it'd look good but...

Hey Eq if you could send me your PSD files for the wall and ground in your title image, I could attempt to make a 3D look alike in Blender.
Title: Re: Retro games
Post by: Zoo on January 17, 2012, 05:58:48 PM
I wish I had blender skillz. I can make a video of a dancing square. That's about it.
Title: Re: Retro games
Post by: EqwanoX on January 18, 2012, 09:44:30 AM
theres a new demon enemy that is kind of like a boss, it appears around the 7th or 8th level. i also added secret walls. right now theres 10 levels, i would like to make 15 levels and split it into 3 episodes that the player can select from like the original doom. can you post that pacman level? thats a good idea. theres a limit to the amount of pick-ups you can put on a map. cause it would make the level unbalanced. i would like to tweak it and put it in the game.

hey gan, do you still have the last recent source i posted? you can export the sprite sheet for the raw tiles. the wall texture in the title is a key door with the red colored in gray
Title: Re: Retro games
Post by: Gan on January 18, 2012, 12:14:59 PM
Awesome sauce! Gonna try this out...
Title: Re: Retro games
Post by: Zoo on January 18, 2012, 03:38:51 PM
I deleted it when it didn't work  :-[

I can easily recreate it.
Title: Re: Retro games
Post by: Gan on January 19, 2012, 10:27:11 AM
Here's my 3D try at recreating the level.

http://cl.ly/1P3r2D3U392N1h3E3B0m

It's a bit fast, so I need to slow it down a bit and bump up the FPS to make it smoother.
I also want to add upgrades to the 3D mockup. (Look at the 1st and 2nd second in the video. It switches from orthographic to perspective view. The level sorta pops out at ya when it switches to perspective)

What do you think so far? Worthy enough to make a neat cutscene?
Title: Re: Retro games
Post by: EqwanoX on January 19, 2012, 11:01:25 AM
thats awesome! we gotta use this for the ending or something. can you make the key doors look flat instead of blocks?
Title: Re: Retro games
Post by: Gan on January 19, 2012, 11:44:26 AM
Better?
Orthographic View
(http://cl.ly/3O0W0q2u3D181c2V3A1t/Retro%20Pic%201.jpg)
Perspective View
(http://cl.ly/0g0N241f1P3G2m1Z3n2Q/Retro%20Pic%202.jpg)
Title: Re: Retro games
Post by: EqwanoX on January 19, 2012, 12:44:22 PM
thats perfect. maybe i could do a detailed front view of the main character and you can do a dive down view like in the video you posted except after it spins around it then zooms onto the character? then the level starts.
Title: Re: Retro games
Post by: EqwanoX on January 19, 2012, 12:48:12 PM
do you think it would look better with a light in each room rather than one light shining over the whole level? and maybe have no light in some areas like it was blown out
Title: Re: Retro games
Post by: Gan on January 19, 2012, 01:49:04 PM
Yeah, I'm fairly sure I can handle what you want. If the player's 2D, he's gonna look flat if I zoom from above.

I'll change the lighting a bit.

I can also make fancy door swishes.
Also, on the doors I can add a light that runs across the top. It'd be red or blue signifying the key color so the player would know from looking above.
Title: Re: Retro games
Post by: Gan on January 19, 2012, 02:15:19 PM
http://cl.ly/1v1q1B0v3q2s0w011j2v (http://cl.ly/1v1q1B0v3q2s0w011j2v)

Lights are a bit changed, the video runs at 60fps(really smooth) instead of the previous 24fps.
Added rotating ammo. I guess I can make the ammo move a different way or not animate at all.
Title: Re: Retro games
Post by: Zoo on January 19, 2012, 03:35:34 PM
Oh my. I was only exploding ideas like a potato in a microwave, but good job.
Title: Re: Retro games
Post by: Circuit on January 19, 2012, 04:12:46 PM
Looks good!  And the game is pretty fun.  It needs more levels though.  You know, if there was a tool that made level-making easier, then people might be more inclined to make them.  Hmm...
Title: Re: Retro games
Post by: EqwanoX on January 19, 2012, 06:24:55 PM
Looks good!  And the game is pretty fun.  It needs more levels though.  You know, if there was a tool that made level-making easier, then people might be more inclined to make them.  Hmm...
i thought about that, but dude, it couldnt BE easier. you literally just place the digit corrosponding to the item, and thats it. would you consider makeing a level?

LET line$(1)=  "00000000000000000000000"
LET line$(2)=  "00000000000000000000000"
LET line$(3)=  "00000000000000000000000"
LET line$(4)=  "00000000000000000000000"
LET line$(5)=  "00000000000000000000000"
LET line$(6)=  "00000000000000000000000"
LET line$(7)=  "00000000000000000000000"
LET line$(8)=  "00000000000000000000000"
LET line$(9)=  "00000000000000000000000"
LET line$(10)="00000000000000000000000"
LET line$(11)="00000000000000000000000"
LET line$(12)="00000000000000000000000"
LET line$(13)="00000000000000000000000"
LET line$(14)="00000000000000000000000"
LET line$(15)="00000000000000000000000"
LET line$(16)="00000000000000000000000"
LET line$(17)="00000000000000000000000"

p=player spawn point

1=wall             //objects
2=false wall
R=red door
T=blue door
9=goal

a=ammo       //pick-up items
b=bomb
d=armor
h=health pack
F=rifle
g=boots
L=xtra life

K=red key      //keys
U=blue key

x=green zombie    //enemies
y=blue zombie
z=red zombie
6=demon
Title: Re: Retro games
Post by: Circuit on January 19, 2012, 06:52:48 PM
Sure, I'll make a level.  But I'd like to make a level editor as well.  ;D  I'm not criticizing the lack of an editor, I'm offering to make one, if that's OK.  I don't want to argue, but I think it would be a LOT easier than typing in letters/numbers and trying to imagine what the level looks like.
Title: Re: Retro games
Post by: Zoo on January 19, 2012, 07:11:51 PM
I agree. A level editor would be cool. Would there be any way to import them without closing the game, and playing it right away? Like a professional game?
Title: Re: Retro games
Post by: Connors on January 19, 2012, 07:33:27 PM
It would just read from a text file so you could do it whenever you needed to in the code. I think I could work out how to make it... I just need to read up on SC's file commands.
Title: Re: Retro games
Post by: Gan on January 19, 2012, 09:12:30 PM
I'd say go for it!

A bit more on the 3D cutscene... Eq, if you could make a full detailed front of the main character I have 2 ideas. We could (1) add in the 2D character to the cutscene or (2) I could try and make him 3D using the image as reference and a texture.

I've attached an attempt of making his top armor.
Title: Re: Retro games
Post by: Charlo on January 19, 2012, 09:45:10 PM
I made a level editor for my work-in-progress SC game.  It's just for my own personal use at the moment (debating on whether or not to include it in the game), but it does save the level to a text file so I can copy it into SC's code editor.  It would not be too hard to have it load the level from that text file...

So if somebody wants to give it a shot and runs into a problem, just let me know.   :)
Title: Re: Retro games
Post by: EqwanoX on January 20, 2012, 10:33:52 AM
Sure, I'll make a level.  But I'd like to make a level editor as well.  ;D  I'm not criticizing the lack of an editor, I'm offering to make one, if that's OK.  I don't want to argue, but I think it would be a LOT easier than typing in letters/numbers and trying to imagine what the level looks like.
you can make one if you want. when using the source you can test the level as you make it though, you dont have to imagine what it looks like. i did a quick screen cast on how to make levels
http://screencast.com/t/JD7gzJmF
Title: Re: Retro games
Post by: Gan on January 20, 2012, 04:33:52 PM
(http://cl.ly/0m313f3K3f402v073S0h/Screen%20Shot%202012-01-20%20at%204.30.37%20PM.png)
The plan here was to work on his armor, extend it to full body armor, give it a head and some arms and bam. He'd be completely 3D. Needs a lot more tweaking but I'm gonna devote more time to the HTML5 GM.
Title: Re: Retro games
Post by: Circuit on January 21, 2012, 01:07:48 AM
Looks good Gan.  I'm continually amazed by all of the things that you can do with computers.  Sometimes I think that you must actually be an advanced AI or something.   ;)

I've finished version 1.0 of the level editor.  Click an icon on the right to select a type of sprite, and then click in the grid area to set it in the level.  Drag to set several tiles at a time.  Use the File menu to erase, load, and save level files, and click the "Export Code" button to save a code file.  (It's the same thing as a level file, but with LET statements and variable names.)
(http://i1223.photobucket.com/albums/dd504/Circuit11/spacemarineleveleditor.png)

UPDATES: "Export Code" button replaced with "View Code", which shows the level code in a text window.  You can remove a sprite by clicking it while the same type of sprite is selected.  The editor's row$() array is now called line$(), the same as the game, so that code can be copied into the project file and viewed that way (although that's not the best way).  The New, Open, and Save features from the File menu are duplicated by buttons named "Erase Level", "Open Level", and "Save Level".  The program prompts you to confirm when you try to erase a level, and it should also prompt you when you quit, but for some reason the quit prompt doesn't appear in the compiled program.
Title: Re: Retro games
Post by: EqwanoX on January 21, 2012, 07:33:13 AM
wow, nice. well i guess ill be useing this to make levels from now on. think ill add a textwindow command to display the level in text so i can just copy and paste it into the game. shweet
Title: Re: Retro games
Post by: EqwanoX on January 21, 2012, 09:07:58 AM
The plan here was to work on his armor, extend it to full body armor, give it a head and some arms and bam. He'd be completely 3D. Needs a lot more tweaking but I'm gonna devote more time to the HTML5 GM.
it might be easier to have a different still action pic at the end of each episode?
Title: Re: Retro games
Post by: Zoo on January 21, 2012, 09:37:32 AM
That level editor is really cool! I remade the pacman level , and made another random level. The pac-man one should be after the boss level as a bonus round or something.
random level
Code: [Select]
LET spawntimer = 5    //time between enemy spawning
LET enemylimit = 30    //enemies per level
LET maxenemy = 10    //maximum amount of enemies on-screen
LET line$(1)  =  "000000000000001aKaa1aaa"
LET line$(2)  =  "00000000000000100001aFa"
LET line$(3)  =  "000000000000001xxxx1aaa"
LET line$(4)  =  "111111111110001xxxx1000"
LET line$(5)  =  "00a00000001111100001000"
LET line$(6)  =  "0a9a0000001000100001000"
LET line$(7)  =  "00b000000010p01110111R1"
LET line$(8)  =  "00000000001000000000000"
LET line$(9)  =  "000000000011111R1111R11"
LET line$(10) =  "00000000001000000010000"
LET line$(11) =  "00000000001000000010000"
LET line$(12) =  "0000111111100000001hzad"
LET line$(13) =  "0000100000T00060001hbag"
LET line$(14) =  "00001011111000000011111"
LET line$(15) =  "0000T000aL10000000000U1"
LET line$(16) =  "00001000aa1111111111111"
LET line$(17) =  "00001000aa1000000000000"
Pacman
Code: [Select]
LET spawntimer = 5    //time between enemy spawning
LET enemylimit = 30    //enemies per level
LET maxenemy = 10    //maximum amount of enemies on-screen
LET line$(1)  =  "111111aaaaaaaaaaa111111"
LET line$(2)  =  "1Lhaaaaaaaaaaaaaaaaahd1"
LET line$(3)  =  "1haaaaa1aaaa1aaaa1aaah1"
LET line$(4)  =  "1aaaaaa1aaaa1aaaa1aaaa1"
LET line$(5)  =  "1aaaaaa1aaaa1aaaa1aaaa1"
LET line$(6)  =  "aaaaaaaaaaaaaaaaaaaaaaa"
LET line$(7)  =  "a1111111a1110011a11111a"
LET line$(8)  =  "aaaaaaaaa1zzzz01aaaaaaa"
LET line$(9)  =  "1a11111aa1000001a1111a1"
LET line$(10) =  "aaaaaaaaa1111111aaaaaaa"
LET line$(11) =  "1aaaaaaaaaaaaaaaaaaaaa1"
LET line$(12) =  "11a11111111111111111011"
LET line$(13) =  "1aaaaaaaaaaapaaaaaaaaa1"
LET line$(14) =  "1a1111111111111111111a1"
LET line$(15) =  "1b1a1aaa1aaa1aaa1aaa1b1"
LET line$(16) =  "1Fbaaa1aaa1aaa1aaa1abg1"
LET line$(17) =  "11111111111111111111111"
Title: Re: Retro games
Post by: EqwanoX on January 21, 2012, 12:09:38 PM
yea this level editor is great. i tweaked those levels a bit. try not to wall off the edges of the screen cause thats where enemies respawn

random level
Code: [Select]
   LET spawntimer = 5    //time between enemy spawning
   LET enemylimit = 30    //enemies per level
   LET maxenemy = 10    //maximum amount of enemies on-screen
   LET line$(1)  =   "00019000001000100002000"
   LET line$(2)  =   "000111111010d01AKA01aFa"
   LET line$(3)  =   "00L001000010A010Ax01000"
   LET line$(4)  =   "000001060011R11100111R1"
   LET line$(5)  =   "00000100001000100001000"
   LET line$(6)  =   "00000000001000100001000"
   LET line$(7)  =   "121111110010p0000000000"
   LET line$(8)  =   "00000000001000000000000"
   LET line$(9)  =   "000000000A1000000000000"
   LET line$(10) =  "000111111110x0000011R11"
   LET line$(11) =  "0002000000T00000001000Y"
   LET line$(12) =  "0001000000111110011YAg0"
   LET line$(13) =  "000100000A1000600010Y00"
   LET line$(14) =  "00010011111000000011211"
   LET line$(15) =  "000100000A1000000000000"
   LET line$(16) =  "00000060b020000000000U0"
   LET line$(17) =  "000000000A1000000000000"
pacman
Code: [Select]
   LET spawntimer = 15    //time between enemy spawning
   LET enemylimit = 30    //enemies per level
   LET maxenemy = 9    //maximum amount of enemies on-screen
   LET line$(1)  =   "000a0000a0001000a000a00"
   LET line$(2)  =   "00111001111010111101110"
   LET line$(3)  =   "0F11100111101011110111g"
   LET line$(4)  =   "0Y0000000000p00000000Y0"
   LET line$(5)  =   "00111010011111110101110"
   LET line$(6)  =   "h000001000100010010000h"
   LET line$(7)  =   "111110100000R0000101111"
   LET line$(8)  =   "000000000111T1110000000"
   LET line$(9)  =   "00a000100100000101000a0"
   LET line$(10) =  "11111010h1009001h101111"
   LET line$(11) =  "00000010011111110100000"
   LET line$(12) =  "001110000000b0000000110"
   LET line$(13) =  "U000101101111111011010K"
   LET line$(14) =  "11001000000010000000101"
   LET line$(15) =  "0000Z010000010000100Z00"
   LET line$(16) =  "001111111100Z0011111100"
   LET line$(17) =  "00000a000000h0000a00000"

check out this level

Code: [Select]
   LET spawntimer = 5    //time between enemy spawning
   LET enemylimit = 30    //enemies per level
   LET maxenemy = 10    //maximum amount of enemies on-screen
   LET line$(1)  =  "000000h00000h00000h0000"
   LET line$(2)  =  "00000000000000600000000"
   LET line$(3)  =  "00111100110010001001100"
   LET line$(4)  =  "001a000100101000101dF10"
   LET line$(5)  =  "001a0001g01010101010010"
   LET line$(6)  =  "001110010yR01a1a1010y10"
   LET line$(7)  =  "001a0001011001K10011R10"
   LET line$(8)  =  "00111100111001010010010"
   LET line$(9)  =  "00000006000100000000600"
   LET line$(10) =  "00000000000000000000000"
   LET line$(11) =  "00100010011001000010000"
   LET line$(12) =  "0011001010U100100100000"
   LET line$(13) =  "001a101010z100011000000"
   LET line$(14) =  "00101a10Rzz1000110000p0"
   LET line$(15) =  "0010011010y1001001001T1"
   LET line$(16) =  "001000100110010y0010T9T"
   LET line$(17) =  "000000000000000000001T1"
Title: Re: Retro games
Post by: Connors on January 21, 2012, 12:16:13 PM
The plan here was to work on his armor, extend it to full body armor, give it a head and some arms and bam. He'd be completely 3D. Needs a lot more tweaking but I'm gonna devote more time to the HTML5 GM.
it might be easier to have a different still action pic at the end of each episode?
It would be easier AND fit the rest of the artwork better. Gan would have his work cut out for him trying to animate that guy, especially like a killing the boss scene.
Title: Re: Retro games
Post by: EqwanoX on January 21, 2012, 12:18:42 PM
plus, just rendering the character in 3d would be a ton of work in itself. BUT, i think we can still use a still from the 3d level behind more of my doom art parodies. i would also like to come up with silly names for the episodes like "knee deep in the dead" to "knee deep out of bed"? i dont know, maybe ill just say "episode 1" and so on. but by haveing episodes dividing up the levels eliminates any need for a save feature. i was thinking of 5 levels per episode. i have the levels for the first 3 episodes, and i was thinking of maybe haveing a secret fourth episode of levels made by gmg members?
Title: Re: Retro games
Post by: Circuit on January 21, 2012, 02:29:40 PM
I'm glad you guys like the level editor.  Please let me know if you find any bugs.  I haven't tested the levels by copying them into the game yet.
I just added a text window to replace the Export Code feature.  That's what I wanted to do originally, but I didn't do it at first because I didn't think it was possible to print several lines of text at a time.  But then I figured out a way to do it using CHR$(13), the linefeed character.  Also, removing sprites is easier now.  The new version is attached to my previous post:
http://gamemakersgarage.com/forum/index.php?topic=180.msg20370#msg20370
Title: Re: Retro games
Post by: Connors on January 21, 2012, 03:08:48 PM
I wonder if we can get it to let us paste code into the editor to make changes?
Title: Re: Retro games
Post by: Zoo on January 21, 2012, 03:15:13 PM
Maybe some of the people on board had a laser gun when they got infected, and died fighting, so the zombies have guns and shoot at you. This would be interesting, because if you can make enemies that shoot, maybe one of the bosses could be a guy with a gun who joined forces with the zombies to kill you or something. Wasn't there going to be a giant mole boss that went underneath the floor and came out under you and attacked you, and you could only shoot him when he was above ground, or am I crazy? Anyway, if you had enemies with guns,  you could change the sprites, and poof, it's a war game.
Title: Re: Retro games
Post by: Zoo on January 21, 2012, 03:27:22 PM
Here's another level, I haven't played the new version yet, so I have no Idea how strong the brown furry thing is. He's like miniboss right? Like 5 HP? I'll have to check. Feel free to edit it.

Code: [Select]
LET spawntimer = 5    //time between enemy spawning
LET enemylimit = 30    //enemies per level
LET maxenemy = 10    //maximum amount of enemies on-screen
LET line$(1)  =  "0001x0x00x11aaaaabdh010"
LET line$(2)  =  "000100000011aaaaagFh010"
LET line$(3)  =  "00010000001111111111010"
LET line$(4)  =  "11110000001100000001010"
LET line$(5)  =  "00K1T111111100000001010"
LET line$(6)  =  "0p00aaaaaaTR0600000T0R0"
LET line$(7)  =  "0001R111111100000001010"
LET line$(8)  =  "11110000001100000001010"
LET line$(9)  =  "00010000001100000001010"
LET line$(10) = "090100U0001111111111010"
LET line$(11) = "000100000011aaaaaaaaa10"
LET line$(12) = "00010z0z0z11aaaaaaaaa10"
LET line$(13) = "1T11111111111111111111T"
LET line$(14) = "00000000000000000000000"
LET line$(15) = "06000z00000z00000z00000"
LET line$(16) = "00000000z00000z00000000"
LET line$(17) = "00000000000000000000000"
Title: Re: Retro games
Post by: Zoo on January 21, 2012, 03:39:24 PM
Level 3 is WAY to hard. it needs either more walls or less zombies spawning.
Title: Re: Retro games
Post by: Connors on January 21, 2012, 04:23:33 PM
What do you think? Any constructive criticism? Is it hard enough?
Code: [Select]
LET spawntimer = 5    //time between enemy spawning
LET enemylimit = 45    //enemies per level
LET maxenemy = 20    //maximum amount of enemies on-screen
LET line$(1)  =  "11110001001001000200101"
LET line$(2)  =  "11009000010z000010010h0"
LET line$(3)  =  "10100000000000000000000"
LET line$(4)  =  "1U0111x11z1111111z11TT1"
LET line$(5)  =  "0000001yh100y0000110000"
LET line$(6)  =  "00z0000x100111000010000"
LET line$(7)  =  "000a100100100010001001y"
LET line$(8)  =  "1001a0010y1ap01x00T0001"
LET line$(9)  =  "1000000R0y10001x00T0000"
LET line$(10) = "1100000R000101000010000"
LET line$(11) = "aF1000010001x0000010110"
LET line$(12) = "00a111100000x000001y0a0"
LET line$(13) = "100R0000010001000001111"
LET line$(14) = "0x110010101010110000000"
LET line$(15) = "111000111z000z001110g01"
LET line$(16) = "110000yTd10aKa01hb0110x"
LET line$(17) = "11010101011111111122221"

And I think other bosses would be cool, a tunneling one is fine, it could warn you visually where it's going to come up. But I don't know about guns, how could you dodge in this game? You aren't the fastest hero. On second thought maybe you could do it, if the boss really telegraphs when it's about to fire.

Here's a thought for possible gameplay: Boss has rocket launcher but is very slow. It has to reload and then you shoot it. It points straight at you and takes a moment to aim down the sight before firing and that's when you move out of the rocket's path, and away from the walls it might explode on. We could consider having it get hit by the explosions if you trick it... Or if you're so dang good you can shoot rockets in mid air.

Easier to program version: Nasty big one that waits and then charges at you whenever it has a clear shot.

EDIT: changed 1 thing
Title: Re: Retro games
Post by: Gan on January 21, 2012, 04:52:37 PM
It can't handle my level...

Code: [Select]
LET spawntimer = 5    //time between enemy spawning
LET enemylimit = 60    //enemies per level
LET maxenemy = 10    //maximum amount of enemies on-screen
LET line$(1)  =  "9xyzxaaaaaaaaaaaaaxzyx9"
LET line$(2)  =  "xxyzaa11111111111aazyxx"
LET line$(3)  =  "yyyaa1000000000001aayyy"
LET line$(4)  =  "zzaa100000000000001aazz"
LET line$(5)  =  "xxa10001110001110001axx"
LET line$(6)  =  "zza1001gbF101Fbg1001azz"
LET line$(7)  =  "yya1001daaa0aaad1001ayy"
LET line$(8)  =  "xxa1001Kah101haU1001axx"
LET line$(9)  =  "6xaT000111000111000Rax6"
LET line$(10) = "xxa10000000000000001axx"
LET line$(11) = "yya1001aa00000aa1001ayy"
LET line$(12) = "zza10001aaaaaaa10001azz"
LET line$(13) = "xxa10000111111100001axx"
LET line$(14) = "zzaa1000000L0000001aazz"
LET line$(15) = "yyyaa1000000000001aayyy"
LET line$(16) = "xxyzaa11111111111aazyxx"
LET line$(17) = "9xyzxaaaaaaaaaaaaaxzyx9"

(http://cl.ly/0i2i0T3n1A122q0X0v0k/Screen%20Shot%202012-01-21%20at%204.40.43%20PM.png)

Quote
Looks good Gan.  I'm continually amazed by all of the things that you can do with computers.  Sometimes I think that you must actually be an advanced AI or something. 
01010100011010000110000101101110-erm, I mean thanks.

Quote
Gan would have his work cut out for him trying to animate that guy, especially like a killing the boss scene.
I'm thinking animation wouldn't be so hard, worst part is actually modeling it. After I model it, I just set the bone structure of the model and then position the bones to animate. That's actually one of the easier parts. Just gotta... make it.


Way cool level editor.
Title: Re: Retro games
Post by: Circuit on January 21, 2012, 06:13:05 PM
Way cool level editor.
Thanks Gan.   :D

It's great to see people making levels with my editor.  This is exactly what I was hoping would happen.  If we make more maps, the game can get finished sooner.  I really like these levels, BTW.  The Smiley map looks intense!

I just want to remind you guys that it's possible to save and load your levels through the File menu.  I didn't intend to force people to copy code into the Space Marine project file in order to see what a level looks like.  (That's what you guys have been doing, right?)  I intended for people to use my level editor to import/export level files and view them with greater ease.  You should post your saved files here, instead of copying code.  The View Code button is primarily intended for Eqwanox to use, to make it more convenient for him to copy levels from the editor to the game.

^ EDITED 3/24/12 because, wow, that was poorly written before.  Sorry guys.

If you haven't already, please download the latest version, v1.3.  It's attached to my other post.  The File menu functions have been duplicated as buttons, to make their usefulness more obvious.  Some other small but significant changes have been made, such as replacing the Export Code function with a text window that displays the code.  (Eq was going to add that because it's more useful to him than saving the code to a file.)  This is the last update, I swear, unless someone finds a serious bug:
http://gamemakersgarage.com/forum/index.php?topic=180.msg20370#msg20370
Title: Re: Retro games
Post by: Circuit on January 21, 2012, 07:01:07 PM
Hey Gan, I just realized that you were speaking literally when you said "the game can't handle my level."  It's because your level doesn't have a player spawn point.  I think you've confused the extra life icon with the player spawn icon.  The little guy is an extra life.  The player spawn icon is in the middle of the top row of icons.
Also, there are too many enemies.  Most of them stay frozen and won't move, because the number of them is greater than the maxenemy and enemylimit variables.  You should remove most of the zombies, decrease the spawntimer, and increase maxenemy and enemylimit.  You can still have just as many zombies, or even more, but they have to appear gradually.
Title: Re: Retro games
Post by: Gan on January 21, 2012, 07:26:39 PM
Oh hahaha. Figures.

I'm gonna... go work on the HTML5 GM.
Title: Re: Retro games
Post by: Connors on January 21, 2012, 07:31:36 PM
changed 1 small detail on my level.
Title: Re: Retro games
Post by: EqwanoX on January 22, 2012, 07:37:35 AM
What do you think? Any constructive criticism? Is it hard enough?
this is a good level, i just had to make a few adjustments cause it was running at 2-3 frames per second for me. so i reduced the on screen enemies to 15 from 20 and took out about 30 blocks that werent needed. try not to wall off edges of the map cause thats where enemies respawn and also the edge of the screen is a wall anyway
Code: [Select]
LET spawntimer = 5    //time between enemy spawning
LET enemylimit = 30    //enemies per level
LET maxenemy = 15    //maximum amount of enemies on-screen
LET line$(1)  =  "00000000001000000000000"
LET line$(2)  =  "000090000001000010000h0"
LET line$(3)  =  "01100000000000000100000"
LET line$(4)  =  "1U011101101111111011TT1"
LET line$(5)  =  "00000010h100y0000110000"
LET line$(6)  =  "00z00000100111000010000"
LET line$(7)  =  "000a1001001000100010010"
LET line$(8)  =  "0001a0010y1ap01000T0000"
LET line$(9)  =  "0000000R0y10001000T0000"
LET line$(10) = "1100000R000101000010000"
LET line$(11) = "aF100001000100000010110"
LET line$(12) = "000111100000xx00001y0a0"
LET line$(13) = "000R0000010001000001111"
LET line$(14) = "11110010101010110000000"
LET line$(15) = "001000111z000z001110g01"
LET line$(16) = "A00000yTd10aKa01hb01100"
LET line$(17) = "00100001010000010000021"
i was thinking maybe we should have the enemies spawn anywhere on the map?

i'll look into making an enemy that shoots a laser weapon, but projectiles cause to much lag
Title: Re: Retro games
Post by: Connors on January 22, 2012, 12:26:59 PM
i was thinking maybe we should have the enemies spawn anywhere on the map?
OK, seriously listen, I've already had enemies spawn right on top of me when I was too close to the edge and it's been a constant thing with this game... Having them spawn randomly anywhere would just be horrifying. XD I think we should just rewrite some of the spawn code to randomly pick only non-blocked squares. It would pick a random number from 1 to the number of open squares on the edge. Then it would use a FOR loop to go around the edge until it got to that number of open squares, and place the enemy. That way it picks a random open square and they always get into the level... AND you could control what rooms they can get into. Also if a room has more open walls more zombies tend to show up there.
Title: Re: Retro games
Post by: Zoo on January 22, 2012, 01:19:49 PM
Maybe we need an unlocked door, so you can let the player choose when to fight some zombies, but save the keys for later.
Title: Re: Retro games
Post by: Zoo on January 22, 2012, 01:26:43 PM
Is space marine the official name now?
Title: Re: Retro games
Post by: Zoo on January 22, 2012, 01:33:57 PM

Here's a boss level. Replace the demon with a boss. The last room before the boss is completely walled off so you're at full health to fight him. Needs on kill doors though, as it is the player could sneak past the boss to the exit.

Code: [Select]
LET spawntimer = 5    //time between enemy spawning
LET enemylimit = 30    //enemies per level
LET maxenemy = 10    //maximum amount of enemies on-screen
LET line$(1)  =  "00000011111111111100000"
LET line$(2)  =  "000000000000p0000000000"
LET line$(3)  =  "00000011111111111100000"
LET line$(4)  =  "00K0001aaa0090aaa100U00"
LET line$(5)  =  "a0000a100000b00001a000a"
LET line$(6)  =  "1R1111111111T1111111T11"
LET line$(7)  =  "0000001d00000000b100000"
LET line$(8)  =  "00000010000000000100000"
LET line$(9)  =  "0a000010000060000100a00"
LET line$(10) = "0a000010000000000100a00"
LET line$(11) = "000z00100000000001000y0"
LET line$(12) = "00000010000000000100000"
LET line$(13) = "1R1111111111T1111111T11"
LET line$(14) = "0000001aaaa1R1aaa100000"
LET line$(15) = "0000001hg000L00Fh100000"
LET line$(16) = "000y00T0000000000R00z00"
LET line$(17) = "00000011111111111100000"
Title: Re: Retro games
Post by: Gan on January 22, 2012, 07:08:55 PM
(http://f.cl.ly/items/0U261C0K2R3h1o3y271B/Screen%20Shot%202012-01-22%20at%207.08.31%20PM.png)

The porportions are a bit off but it's lookin a little better. Needs more tweaking, thinner and more round legs.
Title: Re: Retro games
Post by: EqwanoX on January 23, 2012, 07:40:23 AM
his knees seem to be bending sideways? i think if you fix that and stretch the legs out it would look alot better, and then you could work from there just adding definition.
(http://i40.photobucket.com/albums/e202/eqwanoxgames/ScreenShot2012-01-22at70831PM.png)
Title: Re: Retro games
Post by: Gan on January 23, 2012, 08:07:27 AM
That's intense!
I'm definitely gonna try this. Awesome pointers!
Title: Re: Retro games
Post by: Zoo on January 23, 2012, 03:30:33 PM
Great job with the 3D character! looking awesome. Is Eq gonna make the textures?
Title: Re: Retro games
Post by: Connors on January 23, 2012, 07:30:08 PM
This is reminding me of some of the things I had to do in Animation class. We never really got into texture mapping, maybe I'll look at some tutorials when I've got the time.
Title: Re: Retro games
Post by: Gan on February 08, 2012, 10:12:25 PM
I've done a bit of a retro re-write in HTML5:
http://gamemakersgarage.com/html5/HTML5-ShareGame.php?gameID=156

You guys can check out the source in the templates section of the HTML5 GM. Or paste this code into the HTML5 GM:
Code: [Select]
["1.0","156","Space Marine","1024","768",true,[{"name":"Main","methods":[{"name":"Global Variables","code":"//Declare variables here. They can be used anywhere in this class if declared here.\n\n//Set the current level to null\nvar level = null\nvar gameProgress = 0\n\n\n//Set the intro to 0 so it begins\nvar introStage = 0  //0 is Loading, 1 is Computer screen, 2 is Title Screen\nvar introCount = 0\n//Make a timer to run the intro\nvar introTimer = new Timer(\"RunIntro()\", 1.0/60.0)\n\n\n\nvar MainMenu = 0\nvar GameScreen = 1\n\nvar currentScreen = MainMenu","special":1,"parameters":""},{"name":"Game Open","code":"//This activates when your game starts. Remember! All commands and variables are case sensitive.\n\n//Load all the stuff\nLoadImage(\"Computer\")\nLoadImage(\"Title\")\nLoadImage(\"Sprites\")\nLoadImage(\"Button\")\nLoadSound(\"Item\")\nLoadSound(\"Ammo\")\nLoadSound(\"Shoot\")\nLoadSound(\"Door\")\nLoadSound(\"Health\")\nLoadSound(\"Shoot2\")\nLoadSound(\"Dead\")\nLoadSound(\"Bomb\")\nLoadSound(\"Teleport\")\nLoadSound(\"Gameover\")","special":2,"parameters":""},{"name":"Key Down","code":"//This is triggered when a key is pressed.","special":3,"parameters":""},{"name":"Key Up","code":"//This is triggered when a key is let go.","special":4,"parameters":""},{"name":"Mouse Down","code":"//This is triggered when the mouse is pressed.","special":5,"parameters":""},{"name":"Mouse Up","code":"//This is triggered when the mouse is let go.\nif currentScreen = MainMenu Then\n  if introStage = 1 Then\n    introStage = 2\n    introCount = 0\n  else if introStage = 2 Then\n    if MouseX() >= 456 and MouseX() <= 568 and MouseY() >= 475 and MouseY() <= 525 Then\n      if currentScreen = MainMenu Then\n        introTimer.Stop()\n        introCount = 0\n      End If\n\n      LoadLevel()\n    End If\n  End If\nEnd If","special":6,"parameters":""},{"name":"Mouse Move","code":"//This is triggered when the mouse moves.","special":7,"parameters":""},{"name":"Game Close","code":"//This activates when your game closes.","special":8,"parameters":""},{"name":"RunIntro","code":"//Count will increase 60 frames per second\nClearScreen()\nif introStage = 0 Then\n  var progress = 0\n  var progressMax = 14\n  if ImageIsLoaded(\"Computer\") Then\n    progress += 1\n  End If\n  if ImageIsLoaded(\"Title\") Then\n    progress += 1\n  End If\n  if ImageIsLoaded(\"Sprites\") Then\n    progress += 1\n  End If\n  if ImageIsLoaded(\"Button\") Then\n    progress += 1\n  End If\n  if SoundIsLoaded(\"Item\") Then\n    progress += 1\n  End If\n  if SoundIsLoaded(\"Ammo\") Then\n    progress += 1\n  End If\n  if SoundIsLoaded(\"Shoot\") Then\n    progress += 1\n  End If\n  if SoundIsLoaded(\"Door\") Then\n    progress += 1\n  End If\n  if SoundIsLoaded(\"Health\") Then\n    progress += 1\n  End If\n  if SoundIsLoaded(\"Shoot2\") Then\n    progress += 1\n  End If\n  if SoundIsLoaded(\"Dead\") Then\n    progress += 1\n  End If\n  if SoundIsLoaded(\"Bomb\") Then\n    progress += 1\n  End If\n  if SoundIsLoaded(\"Teleport\") Then\n    progress += 1\n  End If\n  if SoundIsLoaded(\"Gameover\") Then\n    progress += 1\n  End If\n  //Draw Background\n  SetFillColor(\"Black\")\n  FillRect(0,0,1024,768)\n  //Draw Text\n  SetFillColor(\"White\")\n  context.font = \"60pt Calibri\";\n  SetStringAlign(\"center\")\n  DrawString(\"Loading...\", 512, 300)\n  //Draw Loading Bar\n  SetFillColor(\"Red\")\n  FillRect(100,668,824*progress/progressMax,40)\n  SetStrokeColor(\"Silver\")\n  DrawRect(100,668,824,40)\n  if progress = progressMax Then\n    If introCount >= 40 Then\n      introStage = 1\n      introCount = 0\n    End If\n  else\n    introCount = 0\n  End If\nEnd If\nif introStage = 1 Then\n  //Draw the computer\n  SetImageDrawOrigin(0,0)\n  DrawImage(\"Computer\",0,0)\n  if introCount >= 0 Then\n    SetFillColor(\"rgb(0,255,0)\")\n    context.font = \"15pt Calibri\";\n    SetStringAlign(\"left\")\n    DrawString(\"/STARTUP.TRNS\", 260, 180)\n  End If\n  if introCount >= 60 Then\n    var text = \"\"\n    if introCount >= 100 Then\n      text += \".\"\n    End If\n    if introCount >= 140 Then\n      text += \".\"\n    End If\n    if introCount >= 180 Then\n      text += \".\"\n    End If\n    if introCount >= 220 Then\n      text += \".\"\n    End If\n    if introCount >= 260 Then\n      text += \".\"\n    End If\n    DrawString(text, 260, 200)\n  End If\n  if introCount >= 300 Then\n    SetFillColor(\"rgb(255,0,0)\")\n    DrawString(\"_WARNING_\", 260, 220)\n  End If\n  if introCount >= 320 Then\n    DrawString(\"DOWNLOADING DATA...\", 260, 240)\n  End If\n  if introCount >= 360 Then\n    DrawString(\"INCOMING TRANSMISSION...\", 260, 260)\n  End If\n  if introCount >= 400 Then\n    DrawString(\"'SPACE STATION EQWANOX HAS BEEN SEVERELY DAMAGED\", 260, 300)\n    DrawString(\"IN NEED OF EMERGENCY EVAC.'\", 260, 320)\n  End If\n  if introCount >= 550 Then\n    DrawString(\"SENT AT 5:47 4/5/2130\", 260, 340)\n  End If\n  if introCount >= 700 Then\n    var color = ((100-(800-introCount))/100)\n    SetFillColor(\"rgba(0,0,0,\"+color+\")\")\n    FillRect(0,0,1024,768)\n  End If\n  if introCount >= 800 Then\n    introStage += 1\n    introCount = 0\n  End If\nEnd If\nif introStage = 2 Then\n  //Draw Title Screen With Button\n  SetImageDrawOrigin(0,0)\n  DrawImage(\"Title\",0,0)\n  SetImageDrawOrigin(0.5,0.5)\n  DrawImage(\"Button\",512,500)\n  SetFillColor(\"White\")\n  context.font = \"20pt Calibri\";\n  SetStringAlign(\"center\")\n  DrawString(\"Play\", 512, 510)\n\n  if introCount <= 100 Then\n    var color = ((100-introCount)/100)\n    SetFillColor(\"rgba(0,0,0,\"+color+\")\")\n    FillRect(0,0,1024,768)\n  End If\n  if introCount >= 101 Then\n    introTimer.Stop()\n    introCount = 0\n  End If\nEnd If\nintroCount += 1","special":0,"parameters":""},{"name":"LoadLevel","code":"currentScreen = GameScreen\nif gameProgress = 0 Then\n  //Create a new level using the level 1 data\n  var spawntimer = 5    //time between enemy spawning\n  var enemylimit = 60    //enemies per level\n  var maxenemy = 10    //maximum amount of enemies on-screen\n  var grid = new Array()\n  grid[0] = \"9xyzxaaaaaaaaaaaaaxzyx9\"\n  grid[1] = \"xxyzaa11111111111aazyxx\"\n  grid[2] = \"yyyaa1000000000001aayyy\"\n  grid[3] = \"zzaa100000000000001aazz\"\n  grid[4] = \"xxa10001110001110001axx\"\n  grid[5] = \"zza1001gbF101Fbg1001azz\"\n  grid[6] = \"yya1001daaa0aaad1001ayy\"\n  grid[7] = \"xxa1001Kah101haU1001axx\"\n  grid[8] = \"6xaT000111000111000Rax6\"\n  grid[9] = \"xxa10000000000000001axx\"\n  grid[10] = \"yya1001aa00000aa1001ayy\"\n  grid[11] = \"zza10001aaaaaaa10001azz\"\n  grid[12] = \"xxa10000111111100001axx\"\n  grid[13] = \"zzaa1000000p0000001aazz\"\n  grid[14] = \"yyyaa1000000000001aayyy\"\n  grid[15] = \"xxyzaa11111111111aazyxx\"\n  grid[16] = \"9xyzxaaaaaaaaaaaaaxzyx9\"\n\n  level = new Level(spawntimer, enemylimit, maxenemy, grid)\nEnd If","special":0,"parameters":""}],"permanent":true,"special":1},{"name":"Level","methods":[{"name":"On Construction","code":"this.badGuys = new Array()\n\nthis.player = new Character(this, \"player\")\n\nthis.spawnTimer = spawntimer\nthis.enemyLimit = enemylimit\nthis.maxEnemy = maxenemy\n\n//Now cycle through the grid and put it into 2D array form - Width 23, Height 17\nthis.grid = new Array()\nfor x = 0 to 22\n  this.grid[x] = new Array()\n  for y = 0 to 16\n    this.grid[x][y] = grid[y].charAt(x)\n  next\nnext\n\n\n//Go through grid and determine player location, create baddies\nfor x = 0 to 22\n  for y = 0 to 16\n    if this.grid[x][y] = \"p\" Then\n      this.player.x = x*44+22\n      this.player.y = y*44+22\n    End If\n    if this.grid[x][y] = \"x\" Then\n      var c = new Character(this, \"green\")\n      c.x = x*44+22\n      c.y = y*44+22\n      this.badGuys.push(c)\n    End If\n    if this.grid[x][y] = \"y\" Then\n      var c = new Character(this, \"blue\")\n      c.x = x*44+22\n      c.y = y*44+22\n      this.badGuys.push(c)\n    End If\n    if this.grid[x][y] = \"z\" Then\n      var c = new Character(this, \"red\")\n      c.x = x*44+22\n      c.y = y*44+22\n      this.badGuys.push(c)\n    End If\n    if this.grid[x][y] = \"6\" Then\n      var c = new Character(this, \"boss\")\n      c.x = x*44+22\n      c.y = y*44+22\n      this.badGuys.push(c)\n    End If\n  next\nnext\n\n//Now set up the logic and draw timer\nthis.timer = new Timer(\"LogicAndDraw()\", 1.0/30.0, this)","special":1,"parameters":"spawntimer, enemylimit, maxenemy, grid"},{"name":"LogicAndDraw","code":"//Logic\n\n//Move player\nvar moveX = 0\nvar moveY = 0\nIf KeyIsPressed(37) Then\n  moveX -= 1\nEnd If\nIf KeyIsPressed(39) Then\n  moveX += 1\nEnd If\nIf KeyIsPressed(38) Then\n  moveY -= 1\nEnd If\nIf KeyIsPressed(40) Then\n  moveY += 1\nEnd If\nthis.player.Run(moveX, moveY)\n\n//Move all the characters\nfor i = 0 to this.badGuys.length-1\n  this.badGuys[i].RunAI()\nnext\n\n//Draw\nClearScreen()\n\n//Now loop through all the tiles and draw them\nSetImageDrawOrigin(0,0)\n  for x = 0 to 22\n    for y = 0 to 16\n      if this.grid[x][y] = \"1\" Then\n        DrawImageSection(\"Sprites\", 220, 110, 44, 44, x*44, y*44, 44, 44, 0)\n      else\n         DrawImageSection(\"Sprites\", 220, 0, 44, 44, x*44, y*44, 44, 44, 0)\n      End If\n    next\n  next\n\n//Draw player\nthis.player.Draw()\n\n//Draw the baddies\nfor i = 0 to this.badGuys.length - 1\n  this.badGuys[i].Draw()\nnext","special":0,"parameters":""}],"permanent":false,"special":0},{"name":"Character","methods":[{"name":"On Construction","code":"this.type = type\nif type = \"player\" Then\n  this.health = 100\n  this.maxHealth = 100\n  this.x = 0\n  this.y = 0\n  this.direction = \"down\"\n  this.speed = 13/5\n  this.spriteSheetX = 0\n  this.spriteSheetY = 0\n  this.spriteSheetWidth = 55\n  this.spriteSheetHeight = 55\nEnd If\nif type = \"green\" Then\n  this.health = 100\n  this.maxHealth = 100\n  this.x = 0\n  this.y = 0\n  this.direction = \"down\"\n  this.speed = 5/5\n  this.spriteSheetX = 330\n  this.spriteSheetY = 0\n  this.spriteSheetWidth = 55\n  this.spriteSheetHeight = 55\nEnd If\nif type = \"blue\" Then\n  this.health = 100\n  this.maxHealth = 100\n  this.x = 0\n  this.y = 0\n  this.direction = \"down\"\n  this.speed = 8/5\n  this.spriteSheetX = 385\n  this.spriteSheetY = 0\n  this.spriteSheetWidth = 55\n  this.spriteSheetHeight = 55\nEnd If\nif type = \"red\" Then\n  this.health = 100\n  this.maxHealth = 100\n  this.x = 0\n  this.y = 0\n  this.direction = \"down\"\n  this.speed = 12/5\n  this.spriteSheetX = 440\n  this.spriteSheetY = 0\n  this.spriteSheetWidth = 55\n  this.spriteSheetHeight = 55\nEnd If\nif type = \"boss\" Then\n  this.health = 100\n  this.maxHealth = 100\n  this.x = 0\n  this.y = 0\n  this.direction = \"down\"\n  this.speed = 8/5\n  this.spriteSheetX = 495\n  this.spriteSheetY = 0\n  this.spriteSheetWidth = 110\n  this.spriteSheetHeight = 110\nEnd If\n\n\nthis.level = level","special":1,"parameters":"level, type"},{"name":"Draw","code":"IF this.direction=\"up\" then this.rotation=180\nIF this.direction=\"down\" then this.rotation=0\nIF this.direction=\"left\" then this.rotation=90\nIF this.direction=\"right\" then this.rotation=270\nIF this.direction=\"leftup\" then this.rotation=180-45\nIF this.direction=\"rightup\" then this.rotation=180+45\nIF this.direction=\"leftdown\" then this.rotation=45\nIF this.direction=\"rightdown\" then this.rotation=-45\n\nSetImageDrawOrigin(0.5,0.5)\nDrawImageSection(\"Sprites\", this.spriteSheetX, this.spriteSheetY, this.spriteSheetWidth,this.spriteSheetHeight, this.x, this.y, this.spriteSheetWidth, this.spriteSheetHeight, this.rotation)","special":0,"parameters":""},{"name":"Run","code":"//Do collision code here\n\nif moveX = 1 Then this.direction = \"right\"\nif moveX = -1 Then this.direction = \"left\"\nif moveY = 1 Then this.direction = \"down\"\nif moveY = -1 Then this.direction = \"up\"\n\nif moveY = 1 and moveX = 1 Then this.direction = \"rightdown\"\nif moveY = -1 and moveX = 1 Then this.direction = \"rightup\"\nif moveY = 1 and moveX = -1 Then this.direction = \"leftdown\"\nif moveY = -1 and moveX = -1 Then this.direction = \"leftup\"\n\n//Get the player's approximate new tile\nvar newX = (this.x + moveX*this.speed)\nvar newY = (this.y + moveY*this.speed)\nvar tileX = Round(newX/44)\nvar tileY = Round(newY/44)\n\n//Now loop through a 3x3 tile radius with the player's tile in the middle and detect if the player's too close\nfor x = tileX - 1 to tileX + 1\n  for y = tileY - 1 to tileY + 1\n    if x >= 0 and y >= 0 and x < 23 and y < 23 and level.grid[x][y] = \"1\" Then\n      var padX = this.spriteSheetWidth-15\n      var padY = this.spriteSheetHeight-15\n      var lb = (x*44+22)-padX, rb = (x*44+22)+padY, ub = (y*44+22)-padX, db = (y*44+22)+padY\n      if newX > lb and newX < rb and newY > ub and newY < db Then\n        if newX > lb and newX < rb and this.y > ub and this.y < db Then \n          moveX = 0\n        end if\n        if newY > ub and newY < db and this.x > lb and this.x < rb  Then\n          moveY = 0\n        End If\n      End If\n    End If\n  next\nnext\nif newX < 22 Then newX = 22\nif newY < 22 Then newY = 22\nif newX > 23*44-22 Then newX = 23*44-22\nif newY > 15*44-22 Then newY = 15*44-22\nif moveX != 0 Then this.x = newX\nif moveY != 0 Then this.y = newY","special":0,"parameters":"moveX, moveY"},{"name":"RunAI","code":"var moveX = 0\nvar moveY = 0\nif level.player.x < this.x-10 Then moveX = -1\nif level.player.x > this.x+10 Then moveX = 1\nif level.player.y < this.y-10 Then moveY = -1\nif level.player.y > this.y+10 Then moveY = 1\nthis.Run(moveX, moveY)","special":0,"parameters":""}],"permanent":false,"special":0}],[{"name":"Button","source":"http://www.gamemakersgarage.com/RetroGame/button.jpg","isImage":true},{"name":"Computer","source":"http://www.gamemakersgarage.com/RetroGame/compter.jpg","isImage":true},{"name":"Sprites","source":"http://www.gamemakersgarage.com/RetroGame/sprites.png","isImage":true},{"name":"Title","source":"http://www.gamemakersgarage.com/RetroGame/title.jpg","isImage":true},{"name":"Item","source":"http://www.gamemakersgarage.com/RetroGame/item.mp3","isImage":false},{"name":"Ammo","source":"http://www.gamemakersgarage.com/RetroGame/ammo.mp3","isImage":false},{"name":"Shoot","source":"http://www.gamemakersgarage.com/RetroGame/shoot.mp3","isImage":false},{"name":"Door","source":"http://www.gamemakersgarage.com/RetroGame/door.mp3","isImage":false},{"name":"Health","source":"http://www.gamemakersgarage.com/RetroGame/health.mp3","isImage":false},{"name":"Shoot2","source":"http://www.gamemakersgarage.com/RetroGame/shoot2.mp3","isImage":false},{"name":"Dead","source":"http://www.gamemakersgarage.com/RetroGame/dead.mp3","isImage":false},{"name":"Bomb","source":"http://www.gamemakersgarage.com/RetroGame/bomb.mp3","isImage":false},{"name":"Teleport","source":"http://www.gamemakersgarage.com/RetroGame/teleport.mp3","isImage":false},{"name":"Gameover","source":"http://www.gamemakersgarage.com/RetroGame/gameover.mp3","isImage":false}]]

I actually didn't convert the code, I did just re-made it from how the game looked.
If one of you guys could re-do my movement code, that'd be fantastic cause it's not as awesome as the original movement.

Edit: If it looks slow, that's just because we need to up the movement speed of the player and bad guys.
Title: Re: Retro games
Post by: Circuit on February 08, 2012, 10:46:43 PM
Looks good!  I really like the new OOP code style.
Title: Re: Retro games
Post by: EqwanoX on February 09, 2012, 07:07:08 AM
holy shit, well done. its so smmoooth, i love it. we gotta port over the levels.
Title: Re: Retro games
Post by: Connors on February 09, 2012, 08:57:12 AM
EDIT: I figured out why it was hard-coded to 1 and fixed Gan's bloody movement/rotation code to use Greater Than and Less Than zero so you can set the variable "speed" to whatever you want, without editing 14 numbers. @Gan: stats such as speed, attack power, bomb radius and whatever else you can think of should be variables so we can tweak gameplay if we want.
But that's another thing, should all powerups carry over or not? In the Silver Creator game you kept your gun and I think armor at the end of a level but not the boots! You also lose them all when you die. You should never be stuck without items that might be required because of one mistake. We should just decide what you keep when you die, for example you keep better weapons after death because they can be essential but lose extra things such as extra armor and speed.
And finally, the object oriented code is way cool and should make it much easier to edit different types of enemies and add items.
I keep thinking of stuff to add, umm let me make sure I got it all...
Oh yeah! The movement code is divided between the level class and the character class. Was that really necessary? And Gan you never use Switch statements they're so useful! It probably won't be a problem but I would have done it different. XD
EDIT #20:
If you try to run around the outside of the smiley face level there's an invisible wall! Might want to fix it.

Code: [Select]
<script src='http://www.gamemakersgarage.com/html5/jquery.min.js'></script>
<script src='http://www.gamemakersgarage.com/html5/HTML5-Commands.js'></script>
<div style='text-align:center;'>
<div id='holder' style='width:100%;height:100%'>
<canvas id='gameCanvas' width='1024' height='768' style='cursor:default;outline: none;position:relative;margin:0;padding:0px;top:0px;background:transparent;'></canvas>
</div>
</div><script type='text/javascript'>
var errorLoc = 'Critical error- unable to parse and inject Javascript, check your End IFs and Next end tags. Probably missing one.';
window.onerror=function(msg, url, line){
 reportError('An error has occurred! \nMessage: ' + msg + ' \nLocation: ' + line);
 return true;
}
</script><script type='text/javascript'>
var canvas = document.getElementById('gameCanvas');
var context = canvas.getContext('2d');
prepareCommands();
var imageArray = new Array();
imageArray["Button"]= "http://www.gamemakersgarage.com/RetroGame/button.jpg";
imageArray["Computer"]= "http://www.gamemakersgarage.com/RetroGame/compter.jpg";
imageArray["Sprites"]= "http://www.gamemakersgarage.com/RetroGame/sprites.png";
imageArray["Title"]= "http://www.gamemakersgarage.com/RetroGame/title.jpg";
var soundArray = new Array()
soundArray["Item"]= "http://www.gamemakersgarage.com/RetroGame/item.mp3";
soundArray["Ammo"]= "http://www.gamemakersgarage.com/RetroGame/ammo.mp3";
soundArray["Shoot"]= "http://www.gamemakersgarage.com/RetroGame/shoot.mp3";
soundArray["Door"]= "http://www.gamemakersgarage.com/RetroGame/door.mp3";
soundArray["Health"]= "http://www.gamemakersgarage.com/RetroGame/health.mp3";
soundArray["Shoot2"]= "http://www.gamemakersgarage.com/RetroGame/shoot2.mp3";
soundArray["Dead"]= "http://www.gamemakersgarage.com/RetroGame/dead.mp3";
soundArray["Bomb"]= "http://www.gamemakersgarage.com/RetroGame/bomb.mp3";
soundArray["Teleport"]= "http://www.gamemakersgarage.com/RetroGame/teleport.mp3";
soundArray["Gameover"]= "http://www.gamemakersgarage.com/RetroGame/gameover.mp3";
var mousePressed= false;
var lastKeyPressed = null;
var keyPressedArray = new Array();
for (i = 0; i < 300; i++) {keyPressedArray.push(false);}var mouseX = 0;
var mouseY = 0;


var level = null;
var gameProgress = 0;

var introStage = 0;
var introCount = 0;

var introTimer = new Timer("RunIntro()", 1.0/60.0);
var MainMenu = 0;
var GameScreen = 1;
var currentScreen = MainMenu;
function Game_Open() {


LoadImage("Computer");
LoadImage("Title");
LoadImage("Sprites");
LoadImage("Button");
LoadSound("Item");
LoadSound("Ammo");
LoadSound("Shoot");
LoadSound("Door");
LoadSound("Health");
LoadSound("Shoot2");
LoadSound("Dead");
LoadSound("Bomb");
LoadSound("Teleport");
LoadSound("Gameover");
}
function Key_Down() {

}
function Key_Up() {

}
function Mouse_Down() {

}
function Mouse_Up() {

if ( currentScreen == MainMenu ) {
if ( introStage == 1 ) {
introStage = 2;
introCount = 0;
} else  if ( introStage == 2 ) {
if ( MouseX() >= 456 && MouseX() <= 568 && MouseY() >= 475 && MouseY() <= 525 ) {
if ( currentScreen == MainMenu ) {
introTimer.Stop();
introCount = 0;
}
LoadLevel();
}
}
}
}
function Mouse_Move() {

}
function Game_Close() {

}
function RunIntro() {

ClearScreen();
if ( introStage == 0 ) {
var progress = 0;
var progressMax = 14;
if ( ImageIsLoaded("Computer") ) {
progress += 1;
}
if ( ImageIsLoaded("Title") ) {
progress += 1;
}
if ( ImageIsLoaded("Sprites") ) {
progress += 1;
}
if ( ImageIsLoaded("Button") ) {
progress += 1;
}
if ( SoundIsLoaded("Item") ) {
progress += 1;
}
if ( SoundIsLoaded("Ammo") ) {
progress += 1;
}
if ( SoundIsLoaded("Shoot") ) {
progress += 1;
}
if ( SoundIsLoaded("Door") ) {
progress += 1;
}
if ( SoundIsLoaded("Health") ) {
progress += 1;
}
if ( SoundIsLoaded("Shoot2") ) {
progress += 1;
}
if ( SoundIsLoaded("Dead") ) {
progress += 1;
}
if ( SoundIsLoaded("Bomb") ) {
progress += 1;
}
if ( SoundIsLoaded("Teleport") ) {
progress += 1;
}
if ( SoundIsLoaded("Gameover") ) {
progress += 1;
}

SetFillColor("Black");
FillRect(0,0,1024,768);

SetFillColor("White");
context.font = "60pt Calibri";
SetStringAlign("center");
DrawString("Loading...", 512, 300);

SetFillColor("Red");
FillRect(100,668,824*progress/progressMax,40);
SetStrokeColor("Silver");
DrawRect(100,668,824,40);
if ( progress == progressMax ) {
if ( introCount >= 40 ) {
introStage = 1;
introCount = 0;
}
} else {
introCount = 0;
}
}
if ( introStage == 1 ) {

SetImageDrawOrigin(0,0);
DrawImage("Computer",0,0);
if ( introCount >= 0 ) {
SetFillColor("rgb(0,255,0)");
context.font = "15pt Calibri";
SetStringAlign("left");
DrawString("/STARTUP.TRNS", 260, 180);
}
if ( introCount >= 60 ) {
var text = "";
if ( introCount >= 100 ) {
text += ".";
}
if ( introCount >= 140 ) {
text += ".";
}
if ( introCount >= 180 ) {
text += ".";
}
if ( introCount >= 220 ) {
text += ".";
}
if ( introCount >= 260 ) {
text += ".";
}
DrawString(text, 260, 200);
}
if ( introCount >= 300 ) {
SetFillColor("rgb(255,0,0)");
DrawString("_WARNING_", 260, 220);
}
if ( introCount >= 320 ) {
DrawString("DOWNLOADING DATA...", 260, 240);
}
if ( introCount >= 360 ) {
DrawString("INCOMING TRANSMISSION...", 260, 260);
}
if ( introCount >= 400 ) {
DrawString("'SPACE STATION EQWANOX HAS BEEN SEVERELY DAMAGED", 260, 300);
DrawString("IN NEED OF EMERGENCY EVAC.'", 260, 320);
}
if ( introCount >= 550 ) {
DrawString("SENT AT 5:47 4/5/2130", 260, 340);
}
if ( introCount >= 700 ) {
var color = ((100-(800-introCount))/100);
SetFillColor("rgba(0,0,0,"+color+")");
FillRect(0,0,1024,768);
}
if ( introCount >= 800 ) {
introStage += 1;
introCount = 0;
}
}
if ( introStage == 2 ) {

SetImageDrawOrigin(0,0);
DrawImage("Title",0,0);
SetImageDrawOrigin(0.5,0.5);
DrawImage("Button",512,500);
SetFillColor("White");
context.font = "20pt Calibri";
SetStringAlign("center");
DrawString("Play", 512, 510);
if ( introCount <= 100 ) {
var color = ((100-introCount)/100);
SetFillColor("rgba(0,0,0,"+color+")");
FillRect(0,0,1024,768);
}
if ( introCount >= 101 ) {
introTimer.Stop();
introCount = 0;
}
}
introCount += 1;
}
function LoadLevel() {
currentScreen = GameScreen;
if ( gameProgress == 0 ) {

var spawntimer = 5;
var enemylimit = 60;
var maxenemy = 10;
var grid = new Array();
grid[0] = "9xyzxaaaaaaaaaaaaaxzyx9";
grid[1] = "xxyzaa11111111111aazyxx";
grid[2] = "yyyaa1000000000001aayyy";
grid[3] = "zzaa100000000000001aazz";
grid[4] = "xxa10001110001110001axx";
grid[5] = "zza1001gbF101Fbg1001azz";
grid[6] = "yya1001daaa0aaad1001ayy";
grid[7] = "xxa1001Kah101haU1001axx";
grid[8] = "6xaT000111000111000Rax6";
grid[9] = "xxa10000000000000001axx";
grid[10] = "yya1001aa00000aa1001ayy";
grid[11] = "zza10001aaaaaaa10001azz";
grid[12] = "xxa10000111111100001axx";
grid[13] = "zzaa1000000p0000001aazz";
grid[14] = "yyyaa1000000000001aayyy";
grid[15] = "xxyzaa11111111111aazyxx";
grid[16] = "9xyzxaaaaaaaaaaaaaxzyx9";
level = new Level(spawntimer, enemylimit, maxenemy, grid);
}
}
function Level(spawntimer, enemylimit, maxenemy, grid) {
this.LogicAndDraw= function() {


var moveX = 0;
var moveY = 0;
var speed = 3;
if ( KeyIsPressed(37) ) {
moveX -= speed;
}
if ( KeyIsPressed(39) ) {
moveX += speed;
}
if ( KeyIsPressed(38) ) {
moveY -= speed;
}
if ( KeyIsPressed(40) ) {
moveY += speed;
}
this.player.Run(moveX, moveY);

for ( var i  =  0 ;  i  <=  this.badGuys.length-1; i ++) {
this.badGuys[i].RunAI();
}

ClearScreen();

SetImageDrawOrigin(0,0);
for ( var x  =  0 ;  x  <=  22; x ++) {
for ( var y  =  0 ;  y  <=  16; y ++) {
if ( this.grid[x][y] == "1" ) {
DrawImageSection("Sprites", 220, 110, 44, 44, x*44, y*44, 44, 44, 0);
} else {
DrawImageSection("Sprites", 220, 0, 44, 44, x*44, y*44, 44, 44, 0);
}
}
}

this.player.Draw();

for ( var i  =  0 ;  i  <=  this.badGuys.length - 1; i ++) {
this.badGuys[i].Draw();
}
}
this.badGuys = new Array();
this.player = new Character(this, "player");
this.spawnTimer = spawntimer;
this.enemyLimit = enemylimit;
this.maxEnemy = maxenemy;

this.grid = new Array();
for ( var x  =  0 ;  x  <=  22; x ++) {
this.grid[x] = new Array();
for ( var y  =  0 ;  y  <=  16; y ++) {
this.grid[x][y] = grid[y].charAt(x);
}
}

for ( var x  =  0 ;  x  <=  22; x ++) {
for ( var y  =  0 ;  y  <=  16; y ++) {
if ( this.grid[x][y] == "p" ) {
this.player.x = x*44+22;
this.player.y = y*44+22;
}
if ( this.grid[x][y] == "x" ) {
var c = new Character(this, "green");
c.x = x*44+22;
c.y = y*44+22;
this.badGuys.push(c);
}
if ( this.grid[x][y] == "y" ) {
var c = new Character(this, "blue");
c.x = x*44+22;
c.y = y*44+22;
this.badGuys.push(c);
}
if ( this.grid[x][y] == "z" ) {
var c = new Character(this, "red");
c.x = x*44+22;
c.y = y*44+22;
this.badGuys.push(c);
}
if ( this.grid[x][y] == "6" ) {
var c = new Character(this, "boss");
c.x = x*44+22;
c.y = y*44+22;
this.badGuys.push(c);
}
}
}

this.timer = new Timer("LogicAndDraw()", 1.0/30.0, this);
}
function Character(level, type) {
this.Draw= function() {
if ( this.direction=="up" )  this.rotation=180;
if ( this.direction=="down" )  this.rotation=0;
if ( this.direction=="left" )  this.rotation=90;
if ( this.direction=="right" )  this.rotation=270;
if ( this.direction=="leftup" )  this.rotation=180-45;
if ( this.direction=="rightup" )  this.rotation=180+45;
if ( this.direction=="leftdown" )  this.rotation=45;
if ( this.direction=="rightdown" )  this.rotation=-45;
SetImageDrawOrigin(0.5,0.5);
DrawImageSection("Sprites", this.spriteSheetX, this.spriteSheetY, this.spriteSheetWidth,this.spriteSheetHeight, this.x, this.y, this.spriteSheetWidth, this.spriteSheetHeight, this.rotation);
}
this.Run= function(moveX, moveY) {

if ( moveX > 0 )  this.direction = "right";
if ( moveX < 0 )  this.direction = "left";
if ( moveY > 0 )  this.direction = "down";
if ( moveY < 0 )  this.direction = "up";
if ( moveY > 0 && moveX > 0 )  this.direction = "rightdown";
if ( moveY < 0 && moveX > 0 )  this.direction = "rightup";
if ( moveY > 0 && moveX < 0 )  this.direction = "leftdown";
if ( moveY < 0 && moveX < 0 )  this.direction = "leftup";

var newX = (this.x + moveX*this.speed);
var newY = (this.y + moveY*this.speed);
var tileX = Round(newX/44);
var tileY = Round(newY/44);

for ( var x  =  tileX - 1 ;  x  <=  tileX + 1; x ++) {
for ( var y  =  tileY - 1 ;  y  <=  tileY + 1; y ++) {
if ( x >= 0 && y >= 0 && x < 23 && y < 23 && level.grid[x][y] == "1" ) {
var padX = this.spriteSheetWidth-15;
var padY = this.spriteSheetHeight-15;
var lb = (x*44+22)-padX, rb = (x*44+22)+padY, ub = (y*44+22)-padX, db = (y*44+22)+padY;
if ( newX > lb && newX < rb && newY > ub && newY < db ) {
if ( newX > lb && newX < rb && this.y > ub && this.y < db ) {
moveX = 0;
}
if ( newY > ub && newY < db && this.x > lb && this.x < rb ) {
moveY = 0;
}
}
}
}
}
if ( newX < 22 )  newX = 22;
if ( newY < 22 )  newY = 22;
if ( newX > 23*44-22 )  newX = 23*44-22;
if ( newY > 15*44-22 )  newY = 15*44-22;
if ( moveX != 0 )  this.x = newX;
if ( moveY != 0 )  this.y = newY;
}
this.RunAI= function() {
var moveX = 0;
var moveY = 0;
if ( level.player.x < this.x-10 )  moveX = -1;
if ( level.player.x > this.x+10 )  moveX = 1;
if ( level.player.y < this.y-10 )  moveY = -1;
if ( level.player.y > this.y+10 )  moveY = 1;
this.Run(moveX, moveY);
}
this.type = type;
if ( type == "player" ) {
this.health = 100;
this.maxHealth = 100;
this.x = 0;
this.y = 0;
this.direction = "down";
this.speed = 13/5;
this.spriteSheetX = 0;
this.spriteSheetY = 0;
this.spriteSheetWidth = 55;
this.spriteSheetHeight = 55;
}
if ( type == "green" ) {
this.health = 100;
this.maxHealth = 100;
this.x = 0;
this.y = 0;
this.direction = "down";
this.speed = 5/5;
this.spriteSheetX = 330;
this.spriteSheetY = 0;
this.spriteSheetWidth = 55;
this.spriteSheetHeight = 55;
}
if ( type == "blue" ) {
this.health = 100;
this.maxHealth = 100;
this.x = 0;
this.y = 0;
this.direction = "down";
this.speed = 8/5;
this.spriteSheetX = 385;
this.spriteSheetY = 0;
this.spriteSheetWidth = 55;
this.spriteSheetHeight = 55;
}
if ( type == "red" ) {
this.health = 100;
this.maxHealth = 100;
this.x = 0;
this.y = 0;
this.direction = "down";
this.speed = 12/5;
this.spriteSheetX = 440;
this.spriteSheetY = 0;
this.spriteSheetWidth = 55;
this.spriteSheetHeight = 55;
}
if ( type == "boss" ) {
this.health = 100;
this.maxHealth = 100;
this.x = 0;
this.y = 0;
this.direction = "down";
this.speed = 8/5;
this.spriteSheetX = 495;
this.spriteSheetY = 0;
this.spriteSheetWidth = 110;
this.spriteSheetHeight = 110;
}
this.level = level;
}
$('#gameCanvas').ready(function() {Game_Open();});
$('#gameCanvas').keydown(function(e){ lastKeyPressed = e.keyCode; keyPressedArray[lastKeyPressed] = true; Key_Down(); return false; });
$('#gameCanvas').keyup(function(e){ lastKeyPressed = e.keyCode; keyPressedArray[lastKeyPressed] = false; Key_Up(); return false; });
$('#gameCanvas').mousedown(function(e){ mouseX = getMousePos(canvas,e).x; mouseY = getMousePos(canvas,e).y; mousePressed = true; $(this).focus(); Mouse_Down(); return false; });
$(window).bind('mouseup',function(e){ mouseX = getMousePos(canvas,e).x; mouseY = getMousePos(canvas,e).y; mousePressed = false; Mouse_Up(); return false; });
$('#gameCanvas').mousemove(function(e){ mouseX = getMousePos(canvas,e).x; mouseY = getMousePos(canvas,e).y; Mouse_Move(); return false; });
$('#gameCanvas').attr('tabindex', '0');
jQuery('#gameCanvas').bind('beforeunload', function(){ Game_Close(); $(window).unbind('mouseup');});
</script>
Title: Re: Retro games
Post by: Gan on February 09, 2012, 11:21:05 AM
Hmmm. Connors, the speed wasn't hard coded. MoveX and MoveY are 1 or -1 to define the movement direction.
Speed is actually stated in the Character's On Construct method. And it's applied in the Run method.

The movement thing I want fixed is how the character can all too easily catch on corners of the blocks. And how the big bad guy can't go through tiny spaces.

I'll fix the invis wall.
Title: Re: Retro games
Post by: Connors on February 09, 2012, 12:20:38 PM
Gan, the speed of the whole game can easily be changed, but I'd MUCH RATHER be able to change individual numbers for how fast you walk, or how much damage things do! His speed was definitely hard-coded as "1". Also we can now have the boots that upgrade your speed.
 As for the corners, make the player's collision box is just a bit smaller, so you can aim at the center of a doorway and more easily enter. Beyond that a skilled player can get better at avoiding getting stuck.
Title: Re: Retro games
Post by: Gan on February 09, 2012, 12:46:08 PM
Nah, that was moveX and moveY.
Look in the Run(moveX,moveY) function:
Code: [Select]
if moveX = 1 Then this.direction = "right"
if moveX = -1 Then this.direction = "left"
if moveY = 1 Then this.direction = "down"
if moveY = -1 Then this.direction = "up"

if moveY = 1 and moveX = 1 Then this.direction = "rightdown"
if moveY = -1 and moveX = 1 Then this.direction = "rightup"
if moveY = 1 and moveX = -1 Then this.direction = "leftdown"
if moveY = -1 and moveX = -1 Then this.direction = "leftup"

//Get the player's approximate new tile
var newX = (this.x + moveX*this.speed)
var newY = (this.y + moveY*this.speed)
var tileX = Round(newX/44)
var tileY = Round(newY/44)
Look at the first part, moveX and moveY define the direction. Then the character's speed is factored into newX and newY.

Anywho, fixed that loading bug. Also made it so zombies don't stack:
http://gamemakersgarage.com/html5/HTML5-ShareGame.php?gameID=156


Edit: I'd love to make the collision boxes smaller but then the characters would be look funny cause they'd be able to walk too far into the wall.
Title: Re: Retro games
Post by: Circuit on February 09, 2012, 03:08:50 PM
The movement speed is a bit off.  The player moves slightly faster when moving diagonally than he does when moving horizontally or vertically.  I see that you determine the direction of movement by setting moveX and moveY to 1, -1 or 0.  If a character is pushed by 1 in both XY directions (multiplied by the speed variable), then he's actually traveling a distance of 1.41421356 (the square root of 2) instead of 1.  To fix this, you should add code that changes the moveX and moveY values to 0.707106781 (the square root of 1/2) when the movement is diagonal.  That number squared and multiplied by 2 equals 1.
Title: Re: Retro games
Post by: Connors on February 09, 2012, 03:15:06 PM
GAN! I changed it to allow movex and movey to equal speed, which can then be CHANGED when you want! Otherwise the speed is always 1. Always. If I made it anything else he wouldn't rotate. I just made a slight change to allow you to change the speed. I altered it so you can make the speed something besides one. YOUR CODE ONLY ALLOWS THE MOVEX AND MOVEY TO BE 1 UNLESS YOU CHANGE EVERY INSTANCE OF THE NUMBER 1.
Title: Re: Retro games
Post by: Gan on February 09, 2012, 03:16:56 PM
I think there's a miscommunication.

MoveX and MoveY isn't the speed. It's the direction. MoveX and MoveY should only be 0, 1 or -1. The speed gets multipled by the moveX and moveY in the Run function.

Unless you're using MoveX and MoveY as a temporary speed modifier. By making it a different number you can dynamically cause the player to speed or slow rather than changing the player.speed values. So I suppose your method would be perfect for a temporary speed boost power item.

Anywho, nice catch Circuit!
Title: Re: Retro games
Post by: Connors on February 09, 2012, 03:28:10 PM
Okay that's my bad... ::) Speed is 13/5 for whatever reason.
And it's looking good. I'd make collision distance in general a bit smaller whether they become circles or not since zombies now have a problem with not letting each other through doorways. :)
I like how the process went with this project, it was sort of like making a mock-up using Silver Creator. And this shiny new one is already an improvement.
Title: Re: Retro games
Post by: Zoo on February 09, 2012, 03:29:53 PM
2 minor things the game needs:
1. A melee weapon, when I run out of ammo, it shouldn't just mean I'm dead.
2. A skip button for the intro lol
Title: Re: Retro games
Post by: Connors on February 09, 2012, 03:31:57 PM
I agree, if we can set it up to switch weapons that would be fantastic. But we'll need some different player sprites. And animations are not necessary but they would look so cool...
 I think I made a basic one for a zombie attack.
Title: Re: Retro games
Post by: Gan on February 09, 2012, 03:35:26 PM
Okay that's my bad... ::) Speed is 13/5 for whatever reason.
And it's looking good. I'd make collision distance in general a bit smaller whether they become circles or not since zombies now have a problem with not letting each other through doorways. :)
I like how the process went with this project, it was sort of like making a mock-up using Silver Creator. And this shiny new one is already an improvement.
I'll make the collision-wall boxes slightly smaller. And I'll see if I can use circle collision (using Circuit's awesome circle collision demo) for the zombies so they'll be able to get around each other. Especially when trying to fit in door ways.

2 minor things the game needs:
1. A melee weapon, when I run out of ammo, it shouldn't just mean I'm dead.
2. A skip button for the intro lol
1. Completely agree. Like an ax or using hands or something. Beat the snot outta zombies.
2. Just click.

I agree, if we can set it up to switch weapons that would be fantastic. But we'll need some different player sprites. And animations are not necessary but they would look so cool...
 I think I made a basic one for a zombie attack.
Animations would look awesome.
Title: Re: Retro games
Post by: Connors on February 09, 2012, 03:41:38 PM
I'm thinking if nothing else add an attack animation for zombies and the player's melee attacks. It wouldn't be too hard. And I'm going to modify that same level editor from before to output an array that works with this new version. No need to even port it.
Title: Re: Retro games
Post by: Gan on February 09, 2012, 10:58:37 PM
Hey guys, I'm not entirely sure how you guys did the laser beam. If one of you guys could re-make that, that'd be fantastic!

As for zombie movement, I made it so they can move more freely, climb on each other to an extent and squeeze in tight spots better.
Though I noticed the movement isn't that realistic. No matter where in the map, the zombies face towards the player. And sometimes they run into walls just to find the player.
Wouldn't it be better if zombies moved randomly if couldn't see the player? Also wouldn't it be better if they could move around objects intelligently if the player was within sight?
Title: Re: Retro games
Post by: Connors on February 09, 2012, 11:33:30 PM
Cool, zombies can now actually reach you...
Pathfinding would add a lot to this.
Also varying "sight" distance for different zombie types, and varying intelligence in pathfinding would be interesting. The ones that are best at finding you shouldn't usually be really fast (because that would suck) but they would still be bad news. We can add some new types that show the different traits.

Gan, didn't you say you could possibly add a save feature?

EDIT: Make the big boss one kill other nearby zombies when we finally get to making that level! And finally, if no one else wants to make some more wall and scenery sprites perhaps I will.
Title: Re: Retro games
Post by: Gan on February 09, 2012, 11:42:41 PM
Ah yeah, the saving feature is already in:
Code: [Select]
localStorage.mySavedGame = "blablabla"
It'll work with numbers, strings, and even objects! Okay, I don't know about the objects, but maybe!

I'll get started on pathfinding right away.
Title: Re: Retro games
Post by: Gan on February 11, 2012, 12:03:03 PM
What we need are awesome cutscenes, great upgrades, and funny dialog.

I've played tower defense games before. Dull. You just create objects to kill moving objects. No real purpose.
Then yesterday I played a tower defense game. Wasn't expecting much. I was blown away. It started immediately with the story, giving background info. Then it launched into a cutscene. It never revealed the full story, only bits so you had to piece it together. Then game the gameplay, it matched the storyline perfectly and you fought creatures. Then came the upgrades which were brilliantly done and thought through. Then came more storyline and hilarious dialog, and more characters, and an in-depth plot.
This game made you have an emotional attachment. That there was purpose more than just shooting moving creatures.

That's what this game needs.
Title: Re: Retro games
Post by: Gan on February 11, 2012, 12:12:21 PM
First we need to create a reason for why people are zombies.
Then we need to shroud it in mystery.
Then we need to make a bad guy. And shroud him in mystery
Then we need to make characters. Give them personality.
Then we need to create the player's purpose.

And then we do dialog, add comic relief, make amazing upgrades and make the storyline fit perfectly to the gameplay.

That's when we'll have an A+ game.

Ideas:
Multiple good guys. They move on their own to help or somehow guided.
Installable weapon systems, like the player could have the ability to walk up to a wall and mount an autogun on it.
Title: Re: Retro games
Post by: Zoo on February 11, 2012, 12:27:11 PM
Uh, no offense gan, but I've said this game needed a story and cutscenes before. It's a great idea, and it's something I can help with! Since I can't program to save my life, and I suck at art, I've wanted to help for a long time, but there isn't that much that I can do. I think it's funny how this started out as a remaking retro games project, and no one's bothered to make a new thread.
Title: Re: Retro games
Post by: Connors on February 11, 2012, 01:49:28 PM
Yes the name remains the same! But let's keep this thread going so we don't wind up confusing people.
Also I'd like to know more about how you do the pathfinding, it's an interesting problem and I haven't been brave enough to try it on my own. It's even more of a mystery than the raycasting stuff, remember Hacksilver with the limited view? I understand it traces lines radiating out from the player but not how it finds the FIRST thing they intersect with.
Title: Re: Retro games
Post by: Gan on February 11, 2012, 04:37:28 PM
Uh, no offense gan, but I've said this game needed a story and cutscenes before. It's a great idea, and it's something I can help with! Since I can't program to save my life, and I suck at art, I've wanted to help for a long time, but there isn't that much that I can do. I think it's funny how this started out as a remaking retro games project, and no one's bothered to make a new thread.
I am offended!  >:(
Just messin.  ;D
Maybe you could start writting te storyline here and we can Yay or Neigh or modify it.

Yes the name remains the same! But let's keep this thread going so we don't wind up confusing people.
Also I'd like to know more about how you do the pathfinding, it's an interesting problem and I haven't been brave enough to try it on my own. It's even more of a mystery than the raycasting stuff, remember Hacksilver with the limited view? I understand it traces lines radiating out from the player but not how it finds the FIRST thing they intersect with.
Pathfinding is easy. I'll patch it up. What's not so easy is raycasting. If someone makes raycasting, I can make the laser and line of sight feature.
Title: Re: Retro games
Post by: Connors on February 11, 2012, 05:28:51 PM
Well Gan it seems that in the original the laser just uses a for loop and adds or subtracts from laserx and lasery and it stops if touching a sprite. Very simple detection, I'm not sure it's even real raycasting. I think that would work okay for our purposes as nothing in the game is super thin, although it can occasionally go through the edges of the corners...
Also draw the line from the back end of the gun because in the SC one you can shoot zombies through walls if your sprite's gun overlaps a corner.
Title: Re: Retro games
Post by: GMG Kurt on February 11, 2012, 08:54:06 PM
Hey I don't usually keep up with this tread, and I'm not quite sure what the game is that your making. What I can take is that it's a zombie defense game in HTML5 GM, but it started b4 that was out, so.... yeah what is this  :-X
Title: Re: Retro games
Post by: Connors on February 11, 2012, 09:37:53 PM
It's been re-named Space Marine, it's more like a top-down game where you run around and shoot zombies and try to reach the teleporter on each level. You can collect ammo, armor, bombs weapons and other power ups. We're basically porting it to GM5, It was originally in Silver Creator so I like to think of that as our "mock-up". But the SC one did not have AI or more than 1 extra gun to find. Also Gan's been improving movement and collision in general.
Title: Re: Retro games
Post by: Gan on February 12, 2012, 01:33:03 AM
Pathfinding now works really well.

As for collisions, I really want to make it better. I want the walls to be collision boxes and the characters to be collision circles.
And I want the circles to be able to slide around each other using tangent lines of intersection mixed with direction of movement.

Kinda like how Circuit's awesome siggy works.
Title: Re: Retro games
Post by: Zoo on February 12, 2012, 12:26:07 PM
The story would be something like this:
The main character is on a ship headed in to space battle (that's why he has a gun, ammo, and bombs to start out with.) Anyway, this currently unnamed bad guy (who the earth has waged war against) launches a Bio-Rocket that infects the other people on board. The main character's only chance of survival is to kill off the hoards of zombies and reach the core of the ship which has an emergency self destruct button (big and red of course) and some escape pods. The main teleporters  to the core however, is down because of a mole who is digging around under the floor in the circuitry of the ship. So the main character has to take the long way down. On the way, he has to fight a giant demon sent by the enemy, the mole, and finally an evil AI that wants the main character dead like the rest so it can live in peace forever. The AI has a virus sent by the enemy, and the mole joins up with its leader once more in an epic 2-on-1 battle of epicness. As you may have guessed, the mole was created by the evil AI in order to aid in the destruction of the ship.


So, anyway, that's what I came up with on the spot, feel free to make changes and give feedback.
Title: Re: Retro games
Post by: Gan on February 12, 2012, 01:18:10 PM
Bad guys:
- Guy that caused the war and sent the bio rocket.(Mysterious figure, what's his goal?)
- The AI turned evil that controls the space station.(How'd the AI go evil? Hard drive corruption?)
- The mole turned Zombie mole that's destroying circuitry, so possibly a science experiment. A mole they were trying to hook to the computer through a digital head piece. Computer took control of the mole. Uses it as it's body.
- The giant demon(where did he come from?)
- The numerous zombies that use to be civilians, scientists, and people of the space station

Good guys:
- Main character(Space marine on the way to a space battle, what kind of space battle? Why? Orders from whom?)
- Other good guys to help the space marine? Survivors of the bio bomb? Or perhaps the generals and commanders from Earth to help and guide him?

Why is it so urgent to destroy the space station? Why did the mysterious bad guy target the space station for the bio bomb instead of Earth? Why is the bad guy trying to destroy the Earth? Why does the space marine want to help? Where is the damsel in distress that the space marine rescues in the end? What's the purpose of the space station, why is it orbiting Earth?
Title: Re: Retro games
Post by: GMG Kurt on February 12, 2012, 01:27:11 PM
awesome I'd love to help if you guys need anything, it sounds like a fun time.
Title: Re: Retro games
Post by: Gan on February 12, 2012, 03:12:54 PM
I think I got it. A method of collision that will work nicely with path finding.

Instead of Zombies unable to walk on each other, lets just make it difficult. Like, lets say there's a tasty pile of rotting meat in the middle of the floor. Them zombies are gonna be all over it. The first zombies will lumber over to it and dig in, but the second layer of zombies will run into the first layer. Do they stop there?
NO!
The second layer is gonna get feisty and start climbing over the first layer of zombies. Their movement will be slower but eventually they'll push the first layer of zombies deeper and they'll get closer.

So instead of zombie-zombie collision, we're gonna have zombie-zombie tension. So a zombie gets too close within another zombie's personal bubble, and the other zombie will be pushed forward while the zombie behind will be slowed down. Think of it like someone pushing someone else in line.

To make this we're gonna need Circuit's magical circle code. And we'll calculate the line of tangency and the closeness and calculate a push force. A force that pushes the front guy forward and slows the guy doing the pushing.

awesome I'd love to help if you guys need anything, it sounds like a fun time.
Help out with the storyline or play with the game template! We sure could use your help.
On the game template we haven't added in weapons or GUI or even the pickup boosts.
On the storyline we still need to make it more realistic and clear things up.
Title: Re: Retro games
Post by: Connors on February 12, 2012, 04:15:30 PM
I'm liking Zoo's storyline, I have a few ways we can clean it up:
First, are you on your way to battle, or on a space station? I think you ought to be a soldier on the space station, which was been under attack. Why? The station was an important defensive outpost near Earth. The attack succeeded and you were hit by the bio-weapon, and few people survived, the rest are zombies. The enemy also hacked your computer and it has been trying to finish destroying the survivors, taking control of multiple dangerous military experiments that were on-board, such as the Mole and the giant demon thing.
This being the case there ought to be other survivors, and where there's still working equipment, you can contact people outside. Destroying the space station and evil AI and escaping are the two main goals.
At some point I threw out an idea about airlocks, and related puzzles...
[EDIT]: Airlocks:
When an airlock is open, you are automatically pulled along the shortest path to an opening. You will constantly lose health from suffocation. If there is no path you must be in a safely sealed area! The solution? Be careful what doors you open without closing the outside openings that lead into space. You can use the doors to your advantage too by closing off an area and opening an airlock to kill zombies there. Heck, you could almost make a whole new game with this. Or a cool puzzle related boss battle.
Title: Re: Retro games
Post by: Gan on February 12, 2012, 04:44:46 PM
Haha, me likey.

Where's Eq? We need his input.
Title: Re: Retro games
Post by: Circuit on February 12, 2012, 06:48:40 PM
To make this we're gonna need Circuit's magical circle code. And we'll calculate the line of tangency and the closeness and calculate a push force. A force that pushes the front guy forward and slows the guy doing the pushing.
Though I enjoy being complemented for my code, what you're talking about is actually a lot more advanced than anything I've programmed. :)  I can think of a way to do that, but you can probably find a more efficient way using trigonometry.

Nice job on the pathfinding, by the way!
Title: Re: Retro games
Post by: Connors on February 12, 2012, 08:11:53 PM
You'd want to use vectors right? To simply push them away from each other just slightly, which naturally speeds up the one in front. And it's magnitude is related inversely to their distance. That's not the hardest concept. And it would look cool as they pour through the doorway getting in each others way and those in front stumble through with a moment of added push.
Title: Re: Retro games
Post by: Gan on February 13, 2012, 12:05:13 PM
Updated the pathfinding and added items.

ToDo:
• Make the items do stuff
• Draw a GUI that shows ammo and stuff
• Make the player able to shoot
• Add attacking to the Zombies
• Add sounds to actions
• Add zombie-zombie pushing
• When hitting a portal make it do stuff
• Work more on the storyline

I miss anything?
Title: Re: Retro games
Post by: Zoo on February 13, 2012, 03:41:53 PM
I like all of these ideas. And yeah, sorry about that. He's a guard on a space station, not a soldier on a ship. The airlock thing is a good idea. If there's an evil AI doesn't that mean that any piece of random computer that's hooked up to the core become corrupt and try to kill you? Like for example, guard robots with laser guns or something like that. Also, you have to blow the station up and escape because the Bio-Rocket was so powerful it pushed the station back into earth's gravitational pull and will land and infect the earth if you don't. The demon was an experiment held on board the station to see how grizzly bears would react to zero-gravity, but when the AI got corrupted by a virus sent out by the evil force the experiment went horribly wrong and the bear got mutated. You may need to edit the sprite a little to make it look more like a bear, but that's my best idea about him.

As for the evil guy, He's from an alien planet just out of our solar system. After the people of earth started launching nuclear waste into space because we have no use for it, some landed on his planet, infecting the people. He waged war on the evil humans and uses their own waste against them by shooting a rocket containing the zombie virus thingamabob. It's a video game, right? who says it has to be scientifically accurate?

The mole is a robot created by the AI once corrupted.

Oh crap. I just realized that the AI wants to destroy the ship, right? because it's infected by the virus, right? And the virus was sent by the dark force. But that's a problem, because the evil guy wants the ship to remain intact and infected. So maybe the AI only wants the mole to destroy the electrical parts of the ship.

once again, feel free to point out any plot holes, random mistakes, and things you don't like.
Title: Re: Retro games
Post by: Circuit on February 13, 2012, 04:23:35 PM
The demon was an experiment held on board the station to see how grizzly bears would react to zero-gravity, but when the AI got corrupted by a virus sent out by the evil force the experiment went horribly wrong and the bear got mutated.
That's awesome.  (http://gamemakersgarage.com/forum/chat/Smilies/XDFace.gif)
Title: Re: Retro games
Post by: GMG Kurt on February 13, 2012, 04:36:36 PM
I think the guard should end up being a martyr. Like at the very end, he'll do a short monologue, about how he had become infected, and his existence would endanger the human race, and as a final act of valor blow himself up with the space ship.

also, why did the AI go corrupt? I think it should be something funny like Windows shut down on it or got a virus :p
Title: Re: Retro games
Post by: Gan on February 13, 2012, 05:10:16 PM
Bahaha. They should have used the advanced OS X operating system.

I don't like sad endings.  :'(
I say the ending should be a race against the clock. And there should be a girl in there somewhere. Rescues a pretty dame(probably a scientist with the anti-zombie formula) and starts the self destruct sequence and has to race to get to an escape pod.

By the way, on the realistic note, I like it when all loose ends are tied up tight. If it seems more believable, the player will be more enthralled. Entertainment value increases. The player becomes one with the game.

Edit: Perhaps instead of aliens, maybe space pirates?
Title: Re: Retro games
Post by: Zoo on February 13, 2012, 06:03:22 PM
OOoh Space pirates!
Title: Re: Retro games
Post by: Connors on February 13, 2012, 08:28:51 PM
Why in God's name would the Space Pirates try to infect everyone? I like the idea of it crashing into Earth though, like the attack was calculated to have it go out of orbit and later infect the humans. And the AI is partly directed by the enemy so yeah it want's to keep the ship intact, while using things like the Mole to stop you and other survivors. The designers of the station were smart enough to limit the computer's control over some things, especially in an emergency, so it can't seem to take direct control of all the doors and things. Most doors are hardwired to a particular setting during the emergency (doesn't have to be mentioned in-game it's just my explanation).
This is great, it's interesting and cool enough and sometimes even humorous.
(The Rule of Cool: The audience's suspension of disbelief is greater if the events are cool enough that it doesn't matter whether they are realistic. Something like that.)

Oh yeah and the Bad Guys' motive could use some work.
Title: Re: Retro games
Post by: Gan on February 13, 2012, 08:34:00 PM
What do pirates want? Treasure and territory.

Kill off everyone on Earth and there's a whole buncha booty to loot.
Just an idea.
Title: Re: Retro games
Post by: Connors on February 13, 2012, 08:54:18 PM
I'm using your GameMaker from the Windows computer in my room.
Title: Re: Retro games
Post by: Gan on February 13, 2012, 08:55:18 PM
Traitor! D:<
Title: Re: Retro games
Post by: Connors on February 13, 2012, 09:39:26 PM
LOL just wondered what the reaction would be...
It's because A. this way I'm letting people use the mac and B. This is my own computer and it's an old Windows machine so it was only $20 from a friend. Just because he took it to get it wiped and cleaned out a bit. I don't use it for much it's pretty crappy. :P BUT your GM5 still works! That's a complement to your design choice Gan. I can get on from just about anywhere.

Also, guys - check out the new features in the template. Gan added doors, keys and powerups and I made a creepy random walk. If they have no path to you, they randomly walk around, unless you're close - then they walk towards you like in the original and sometimes crowd around doorways you're going for. muahahahaha
Title: Re: Retro games
Post by: Connors on February 13, 2012, 11:49:06 PM
Sorry Gan but we're adding even more ideas to your list there. ;D

 - Control Panels open or close doors or groups of doors remotely, for tactics and for my deadly vacuum puzzles.
 - When they have a line of sight to you some zombies try to zigzag or maybe get behind you, or otherwise avoid shots. Could get tricky with added AI, have some types that jump or lunge occasionally and some that charge at you when they have a path.
 - Add basic code to aim with the mouse. Movement with wasd is the same but the player faces the cursor.
Title: Tweaks
Post by: Connors on February 14, 2012, 09:55:44 AM
A few things I meant to change:
in On Construction of Charachter class it should initialize "this.rTime = 0", not 30, so they don't all stand there motionless for exactly 30 ticks.
And increase the following distance in the "random walk" to 175 it was a bit too short. Not annoying enough yet.
I'd like to add little details like the time it takes them to react to a path appearing, or a small random chance to deviate from the path for a moment so they aren't just one long stream of zombies. Then again, we may not have to if the zombie-zombie pushing changes that. Finally, if pushing includes the player they will block your path in a horrible and annoying fashion so that change is purely optional.

An idea for the inevitable demon boss battle: at the intro there are some zombies and the monster charges through and kills them to reach you.

You can't get too carried away with AI for zombies... Right? Can you? :o
Title: Re: Retro games
Post by: Zoo on February 14, 2012, 03:31:36 PM
Actually you CAN go overboard with zombie AI. Zombies are not very smart (hence the want of Braaiins)
Title: Re: Retro games
Post by: Gan on February 14, 2012, 03:35:00 PM
Actually you CAN go overboard with zombie AI. Zombies are not very smart (hence the want of Braaiins)
Ahahahah
Title: Re: Retro games
Post by: Connors on February 14, 2012, 07:46:22 PM
Actually we could consider putting a little work into making them seem dumber. XD

Also if they all come at you you can get behind a choke-point like the door you just opened and they're easy targets. Shoot the doorway! BUT we could mix it up and have zombies that wait until you're fairly close or even have a line of sight. Then we occasionally hide them in tight spaces where they will wait for the player to force you to get close or actually enter the room. Basically gameplay is less repetitive if there's different kinds of AI.
Title: Re: Retro games
Post by: Zoo on February 15, 2012, 03:32:47 PM
well, I say make green zombies idiots, make blue zombies regular, and make red zombies smart.

I don't remember who said it, but somebody mentioned having the player aim where the mouse is pointing and fire by clicking.

Pros:
Easier to use
Better aiming
More fluid looking game
walking backwards and shooting

Cons:
Gives an unfair advantage to the player because of the top down perspective
Possibly hard to program

Solution:
Making the turning slow and use incriments of 20º or so.


Also,
Will I get my name in the credits?  ;D
Title: Re: Retro games
Post by: Gan on February 15, 2012, 03:39:12 PM
Seems like a good idea regarding the zombie intelligence.

As for the aiming idea, that was Connor's. And yeah it should be easy to add in.

As for credits, it's too early to think about that.
Title: Re: Retro games
Post by: Zoo on February 15, 2012, 03:41:22 PM
That was quick  ::)

Yeah, I suppose it is a bit early to think about credits.
Title: Re: Retro games
Post by: Zoo on February 15, 2012, 05:09:03 PM
The character in the HTML5 version needs to move faster. Also, I suppose I should maybe draw a storyboard thingamabob/write some scripts (not code) because I'm the story dude. Also, in-game dialog would be cool. Like, in the middle of a level, someone gives you hints or say something, or maybe when you go up to a computer a box comes up at the bottom of the screen with an evil message from the AI. I'm not volunteering, but if someone wanted to do the voices of the characters for cutscenes, that would give the game a bit more of a professional feel to it.

Just a thought about screen size:
How big are we gonna make it. I think it should take up the entire window.

And levels:
Do the old levels work in the new code, or do we need someone to translate them? I could do that if you want.
Title: Re: Retro games
Post by: Gan on February 15, 2012, 06:07:55 PM
Old level will work with the HTML5 GM.

As for having the game take up the whole window, it'd mean that we need to compensate for window resizing. Which wouldn't be too hard. It'd just make things a bit more work.
You guys up for it?

As for voice, I'm all for it. If anyone remembers Rock, Paper, Scissors Extreme! I voiced it and deepened it. I suppose a deep sinters voice would be nice for an AI. Or a deep robotic voice.
If nothing else, I can record the computer speaking.
Title: Re: Retro games
Post by: Circuit on February 15, 2012, 07:10:41 PM
Just a thought about screen size:
How big are we gonna make it. I think it should take up the entire window.
As for having the game take up the whole window, it'd mean that we need to compensate for window resizing. Which wouldn't be too hard. It'd just make things a bit more work.
You guys up for it?
That would be good.  I have a MacBook, and the game is too tall to fit my 1280x800 pixel screen.
Title: Re: Retro games
Post by: Connors on February 15, 2012, 08:28:29 PM
Either that or we change the standard size of the window it doesn't have to be too small. I noticed it barely fits on some monitors. Also, this AI reminds me of something I saw in that Gladiator Champion game. The enemies have a recharge time to attack just like you but they can attack immediately when they move next to you. There's no time to react. The game would seem a bit more real if enemies had a slightly varying reaction time. When a path is found they might pause for a random time.
Title: Re: Retro games
Post by: Gan on February 15, 2012, 09:25:34 PM
Alright, for the window size problem, we have a solution!

We can dynamically resize the game window to match the window size. So people with big screens and small screens are happy.

And as for the title menu and loading menu, right now they are images that don't resize nicely. So I'm applying a scale on it. Tell me what you think:
http://gamemakersgarage.com/html5/HTML5-ShareGame.php?gameID=156

Scale will not be applied to the game field. Cause that distorts the graphics. So instead, players with large screens see more of the level. Players with small screens see less of the level. The camera will focus on the player's position. So everyone's happy.

Edit:
Of course if this game were to go on Kongregate, this wouldn't be an issue cause the game would be given a default size. Probably 512x384. Which will just make the game scale down by a factor of 2. Still will be playable.
Title: Re: Retro games
Post by: Gan on February 15, 2012, 10:17:40 PM
Updated movement to follow the player!
Now we can have really big maps.

http://gamemakersgarage.com/html5/HTML5-ShareGame.php?gameID=156


Only one problem. You see some flickering? That's caused by some funky anti-aliasing. Also it's can be un-smooth sometimes. The way to fix this would be to render the tiles and items once and just move the render around.
Unfortunately I can't. Cause of problems with my making a pixel canvas out of an image. Or drawing an image to a pixel canvas.
I'm still researching into this. If I can have the background rendered once, the game will be a ton smoother.
Title: Re: Retro games
Post by: Connors on February 15, 2012, 10:39:49 PM
I didn't really notice flickering.
Also the stock image of a computer at the intro is beginning to bug me it looks to modern-day. Not that interesting. I guess I miss the old text animation too it was cool. Can we try and re-create it? And it's real small. Just saying.
Title: Re: Retro games
Post by: Gan on February 15, 2012, 10:41:29 PM
You can try if you want to.

Edit:
I've posted on StackOverflow about rendering the background once.
Title: Re: Retro games
Post by: Connors on February 16, 2012, 12:11:40 AM
It's supposed to be variable size now right? I tried it in a window not as wide as the level.
Title: Re: Retro games
Post by: Gan on February 16, 2012, 12:22:58 AM
Nice catch!
Fixed.
Title: Re: Retro games
Post by: Gan on February 16, 2012, 01:50:03 AM
Alright guys, I've figured it out. How to speed up the game. Quite considerably.

There are gonna be canvas layers. You'll be able to create and destroy layers. The main layer will always be on the bottom. Then you can create layers that get stacked on top of the main layer.

How this would be used:
Draw the background on the main layer.
Make a new layer called ItemsLayer and draw the items on that layer.
Make a new layer called the character layer and draw the characters on that layer.

And bam. That's it. Background needs drawn once. Items layer gets redrawn an item is changed or picked up. The character layer gets drawn 30 times a second. Yup, should definitely make the game smoother and more responsive.

I'm gonna try coding it. Hopefully it won't be too hard.
Title: Re: Retro games
Post by: Connors on February 16, 2012, 08:28:22 AM
I guess we have to be sure the gameplay fits in the Kongregate scale. I don't think they force you to make THAT small but just be sure.
And I figured out control panels. Have the player click on it while nearby to toggle things, instead of shooting it activates. But only if you're right nearby and you click right on the panel so it shouldn't get in the way of shooting though it might slow you down a bit.
Title: Re: Retro games
Post by: Zoo on February 16, 2012, 03:31:02 PM
Dynamic scaling thing doesn't work on firefox. I'mma try chrome. Ok, it works. But it's REALLY laggy on crome.
Title: Re: Retro games
Post by: Gan on February 16, 2012, 06:54:56 PM
Oh, umm. The main menu only dynamically scales. The actual game doesn't scale. Instead it scrolls.

And yeah, I'm working on making the scrolling smoother.
Title: Re: Retro games
Post by: Connors on February 17, 2012, 10:06:53 AM
Obviously you don't want to draw anything outside the screen. In fact, instead of going through and checking whether a tile's on-screen before drawing each time just start the FOR-loop where the edge of the screen is and that way do fewer checks. Just an idea. Fewer operations in total, kind of like how the zombies only need to make one pathfinding grid for all of them and then separately find paths to you.
Title: Re: Retro games
Post by: Gan on February 17, 2012, 10:19:52 AM
Good ideas...
Title: Re: Retro games
Post by: Circuit on February 17, 2012, 12:53:43 PM
How does the pathfinding work?  Does each zombie calculate the full path to the player every 1/30th of a second?  If so, I think I know of a way to make it more efficient...
Title: Re: Retro games
Post by: Gan on February 17, 2012, 01:38:16 PM
Nah, it only recalculates the path when the zombie or target moves. Or if the level changes shape. Like a door open.
Title: Re: Retro games
Post by: Circuit on February 17, 2012, 05:04:30 PM
That's good.  And I think I know how to make it even more efficient.  You could divide levels into areas, and create an array to store the shortest overall paths between all areas.  When a zombie was aware of the player's general location, he could look up the shortest overall path in the array (which represents the zombies' combined knowledge of the level's layout).  Then, with that general path in mind, he could use your pathfinding code to find and follow a series of short specific paths from one waypoint to the next, rather than finding and following one long path to the player's body.  The player's movement would only affect the zombie's overall path in instances when the player moved from one area to another, in which case, the zombie would instantly change his overall path to the path in the array.  The zombie would follow the overall path until he was in the same area as the player, or until he was within 1 area away, or until he could see the player.  Then he would target the player's body.

The array data would look something like this: path[3][5] = [3,4,5].  Where subscript 3 is the zombie's area, subscript 5 is the player's area, and 3, 4 and 5 is the overall path from area 3 to area 5.  Alternatively, each element could be a pair of coordinates representing a waypoint.  Also, every tile on the map would have an area associated with it, so that the player's area could be determined no matter where he was.
Title: Re: Retro games
Post by: Gan on February 17, 2012, 06:02:05 PM
Ah man, I'm trying to comprehend this.

So we take like a map and chop it into 3x3 pieces, then... alright I'm lost. Failing to comprehend.

I do feel I can optimize if be gettig rid of unnecessary loopage when calculating movement routes.
Title: Re: Retro games
Post by: Zoo on February 17, 2012, 06:13:36 PM
If it gets rid of some lag it's a good idea.  ;D
Title: Re: Retro games
Post by: x on February 17, 2012, 06:36:16 PM
What Circuit is suggesting is what (used) to be used in a lot of production level games. It would work brilliantly here. In essence it is just adding "waypoints" to your map, to get to a certain place the AI pathfind to the nearest waypoint, instead of having to calculate their way to the player. To help find the nearest--or most appropriate--waypoint, you split your game world up into areas. Then, based on what area your path finding entity is in, and its target, you can get the first appropriate waypoint. For example

{   1   A}{B   2   }
{   3   Y}{X  4   }

This is an extremely contrived example. However, imagine you have an array: map[2][2]. Say you are a monster in 1, wanting to go to two since the player is in two. You look up map[1][2] and find that you need to to waypoint A, then to waypoint B. After, you are closer to the player, and you find a path from there.


Also, what are you doing for collisions? Remember, you can always x or y sort a bunch of entity objects, then do collisions for them faster by stopping when you reach an x or y value that is impossible to collide with--since you know all further values will be too high. Also by not bothering to check values that are too low.

eg.
Say you have an array of entity locations to check collides with
locations = {1,2 | 4,5 | 12,12 | 67,56 | 34,56..etc}

rough pseudocode
sort locations on X axis //merge sort is usually best since it takes into account temporal localtity
myLocation = 10,10 //or whatever you are checking for collisions with
foreach locations as i
 if myLocation-width> i+width
     skip collision check, go to next in loop
 elseif mylocation+width< i-width
     skip collision, go to next in loop
 else
     do expensive collision check
endforeach

Obviously this lets you cut out as many collision checks as you can. This is a big boost, since collision checks, especially pixel perfect ones, are slow. Even bounding box collisions checks can be sped up by this simple approach.

 Better yet, you could use an quadtree. I've used both approach in games, since I have always found collisions to be my bottle neck.
(http://en.wikipedia.org/wiki/Quadtree)

Finally, don't bother drawing stuff that isn't on screen. Some checks like the following in the draw methods.
if (myXLocation+width < screenLeftX)
    skip drawing..
elseif (myXLocation-width > screenRightX)
    skip drawing..
//then the same for y values
Title: Re: Retro games
Post by: WarHampster on February 17, 2012, 09:12:06 PM
Are you currently using the pathfinding from Hacksilver? I actually think that a tree approach would be easiest and make the most sense here. Find the relevant nodes, flood fill, pathfind.

With a quadtree, you break the map down into four rectangles, each of which is broken down into four rectangles, recursing until a certain size limit is reached. This is useful for pathfinding, collisions, etc (I use it in my voxel renderer to optimize raycasting) because it limits the area relevant to a given path, collision, whatever.

Example:

(http://i43.servimg.com/u/f43/11/03/78/78/quadtr10.jpg) (http://www.servimg.com/image_preview.php?i=406&u=11037878)
Title: Re: Retro games
Post by: Connors on February 17, 2012, 11:46:04 PM
These ideas would be great for optimization but I agree with Kurt... They don't need to be top priority yet and would require a lot and I mean a lot of changes.
(said the one who has done basically NONE of the coding himself ::))
You know maybe I really ought to either help more with this or work on my own game for a while. I've just been commenting, I don't know how much I'm going to do with it personally unless we start making levels and working on gameplay.
EDIT: Gan, isn't this oddly similar to all the work you did looking at a binary search, and trees, and indexing and all the ways you can search for a name?
Title: Re: Retro games
Post by: Gan on February 18, 2012, 12:23:47 AM
Ah man, this is going over my head.
Title: Re: Retro games
Post by: GMG Kurt on February 18, 2012, 01:03:58 PM
yeah I think the only thing we should have in mind is polymorphism, or adaptability. so that we can change everything in one place instead of searching all over the code. Such as using macros over integer constants, especially the ones used more than once. and most things through functions. I may go through myself and try to do that.
Title: Re: Retro games
Post by: x on February 18, 2012, 07:53:28 PM
yeah I think the only thing we should have in mind is polymorphism, or adaptability. so that we can change everything in one place instead of searching all over the code. Such as using macros over integer constants, especially the ones used more than once. and most things through functions. I may go through myself and try to do that.

class monster
//blah
endclasee

class whatever extands monster
endclass

all functions accept type monster.

Inheritance is the answer.
Title: Re: Retro games
Post by: Charlo on February 18, 2012, 08:23:11 PM
Inheritance in JavaScript is not intuitive.  Unless the HTML5 GM has it built in and I'm not aware of it.  I have done it like this (I grabbed the technique off a discussion on some site on how to do inheritance in JavaScript):

Code: [Select]

function enemy(x, y) {
var hp;
var x;
var y;
var startingHp;
var movable;
var chases;
var level;
this.x = x;
this.y = y;
}
function demon(x, y) {
this.chases = true;
this.movable = true;
this.level = 1;
this.startingHp = 25;
this.hp = 25;
enemy.call(this, x, y);
}
demon.prototype = new enemy();

Basically, to have the demon inherit from the enemy "class", we need to call the enemy's constructor within the demon's constructor.  Then we set the demon's prototype object to be an enemy, after which we can add methods specific to a demon.  At least that's how I understand it; X or somebody else can correct me if I'm way off.
Title: Re: Retro games
Post by: Gan on February 19, 2012, 12:34:46 AM
That is correct.
Title: Re: Retro games
Post by: x on February 19, 2012, 08:06:01 AM
Yeh, its just classic prototypal inheritance. It still lets you create an inheritance tree to organize all your game objects, and abstract functions from them.

Also, I am not sure about this, but you could probably do:
demon.inherits(enemy)

If you set them up correctly.
Title: Re: Retro games
Post by: Zoo on February 20, 2012, 03:32:53 PM
Hey Gan, Before I write the rough draft of the script, I need to know a few things:
1. First, second, or third person?
2. Past tense or present tense?

thanks
Title: Re: Retro games
Post by: Gan on February 20, 2012, 03:43:18 PM
Didn't think of that.
Could ya give a brief example of each? Then we could vote.
Title: Re: Retro games
Post by: Zoo on February 20, 2012, 05:27:54 PM
Ok, this pole is up for 5 days. Vote now.
Title: Re: Retro games
Post by: Gan on February 28, 2012, 11:10:55 AM
The laser is now in!
Title: Re: Retro games
Post by: Connors on March 02, 2012, 09:44:16 AM
Made a slight tweak to the AI. Just look at what they do when you open the door. Sometimes it's the little details that count (starts with the original smiley face level).
http://gamemakersgarage.com/html5/HTML5-ShareGame.php?gameID=229
EDIT: I noticed enemy health already works fine, so I think it's time to start tweaking that and time to add ammo and other status bars. Should be very cool.
@anyone: Should the gun fire in bursts or have a constant beam that has to focus on enemies? I think the basic gun should fire once per button press. We could let the player pick up a laser like this one later. Also, grenades.
EDIT #2: Taking out a piece of a certain condition does, indeed, allow the zombies to shoot lasers. Hilariouse.
EDIT #3: Updated the file above with the following:
 - Mouse to fire ;D
 - One shot per click *(tell me what you think) ???
 - Modified health to be similar to SC space marine (just for an example) so that Green takes one hit, Blue takes two and Red takes three. 8)

Time to make this a real game! XD
Title: Re: Retro games
Post by: Gan on March 02, 2012, 11:14:03 AM
Awesome! Looks good, I've put your code in the official build.

I got a few extra minutes. I'm gonna add in a basic HP, ammo, bombs, lives, keys GUI.
Title: Re: Retro games
Post by: Gan on March 02, 2012, 11:38:14 AM
Added in a GUI.
http://gamemakersgarage.com/html5/HTML5-ShareGame.php?gameID=156

Also, how did you modify the AI? I now notice that they twitch randomly in a different direction when walking towards the player.

Edit: Fixed a massive bug in the SQL database. If anything glitchy starts happening(like progress not saving or game not compiling) please PM me.
Title: Re: Retro games
Post by: Connors on March 02, 2012, 12:30:18 PM
Oh well I only change the end of RunAI() so that the zombies don't path to you until the random timer runs out all the way. Now they don't all unanimously change direction the second you open a door. I don't know why it affected the path, that is odd.
Title: Re: Retro games
Post by: Connors on March 02, 2012, 12:32:00 PM
I just now noticed that the laser doesn't come straight out of the gun barrel because of the rotation center. Kind of odd looking.
Title: Re: Retro games
Post by: Zoo on March 02, 2012, 03:32:11 PM
I must try it. I have not yet.
Title: Re: Retro games
Post by: Connors on March 02, 2012, 04:26:20 PM
So Gan, I'd like to perhaps set up a GUI that fits above or below the screen, probably below... When I have time after homework I will work on ideas.  Also, If you play through that modified level you will notice that as they pour through a doorway the player can just shoot at the doorway and hit them all. I want to start making some that wait until you're closer or they have a line of sight, maybe limit the length of the path they will want to take. I think I'll keep playing with AI.
Also, a great way to set up a challenge later on would be panels that always open groups of doors. Not hard to add but it would mean enemies can then come from different directions.
Title: SOUND
Post by: Connors on March 03, 2012, 12:10:58 AM
sound sound sound sound sound
This game is going to have sound and we ought to do some tests and make sure we can do it and without a lot of lag. Sounds were touchy and we should be sure to optimize them or find the format that works best.
Title: Re: Retro games
Post by: Gan on March 03, 2012, 12:19:04 AM
Sound should work fine as long is it runs through the flash sound manager. If flash doesn't work it'll fall back to laggy HTML5.

As for the GUI, having it above means the game height will have to be larger.

As for the AI, we can add some raytracing to see if the player is within the line of sight of a player before they start moving. Or perhaps we could do a mixture of that with position. So if the player is close, the zombie can follow the scent or sound.
Title: Re: Retro games
Post by: Zoo on March 14, 2012, 03:38:06 PM
Alright, I've procrastinated long enough. Today there's no terraria or LoZ or TF2 or anything else stopping me! I'M FINALLY GONNA WRITE IT. So prepare yourselves. Something big is going to happen. For me, anyway. This is the first time I've contributed to a game all year. I'm rusty. I need you guys to edit it, but I'm gonna let my brains leak all over the keyboard*. Man that's gonna be hard to clean up. I'm getting off topic here. The point is, I'm writing the script in the post reply box, without anything done to prepare me. Hence the "I'm gonna let my brain leak all over the keyboard" thing.


*No actual brain leaking has occurred in the process of writing the script.**
**Actually, I'm just writing this in the time it takes for me to get my creative juices*** flowing
***Creative juices is a trademark of "Tom's juice company" from 2006****
****Yet again, I'm just making stuff up
Title: Re: Retro games
Post by: Zoo on March 14, 2012, 04:04:14 PM
Author's note: I want this to be presented in-game with the classic typewriter-esque letter after letting popping up with a little "tic" noise or a little "beep"



Quote
I retired from the "army", if you could call it that, years ago after the first encounter. I was aboard the fleet of ships when they first struck. It was not expected. Many of us didn't even believe there was life on other planets. We just thought of space as a big garbage disposal with our name on it. We were mistaken. After several problems concerning containment chambers designed to hold nuclear waste, the newly formed World Government decided to chuck it in to space. Brilliant idea, right? Wrong. That all happened when I was a kid.  When I grew up, I wanted to work for the Government that ended war forever, or so we thought. There were no soldiers. We didn't need them. With one government, why would we ever fight again. We maintained peace for a long time, but not forever. 23 years after we jettisoned our waste into space, we got an unfortunate message. The message was this: The almost total destruction of our main space station, which I was aboard 2 years ago. The waste we launched into space landed on a planet far away which was inhabited by reptilian beings of a far more advanced society than ours. They waged war on whoever forsook their beautiful planet and spent a few years tracking us down and preparing to blow up our planet. But first they wanted to warn us, and make us feel guilty for something we had no idea could ever happen. I quit working with the government to be with my family until the sure to come end of the earth as we knew it. But it didn't come. Interplanetary battle, as should be assumed, is almost impossible. Both side had diseases the others didn't have, and the other side had absolutely no immunity whatsoever to our diseases. They went to go find a solution to that problem, and what did we do? We build a massive space station to "Keep them away".
We're doomed.


Quote
July 9th, 20XX
[character name here],
Your services are required aboard the [Space station name here]. [space station] is a space station operated by the world's government to protect against [antagonistic forces here]. We are recruiting many trained soldiers such as yourself to go on the next flight to the station. You will be serving your planet by defending and operating this ship. We do not doubt your ability to succeed in your duties of protecting the planet we all call home. You will be shipped out on the 20th.
THIS IS NOT OPTIONAL

Signed
Lt. Beck

This is just a bit I wrote. Sorry if it's a bit long. It needs to be revised and edited, then I'll write more. So, tell me what you think, how bad it sucks, and what needs to be added, and I'll change it up.


Oh, and gan, what's the character limit for this thing? Seems fairly high to me, but I don't want to go over the limit.
Title: Re: Retro games
Post by: Gan on March 14, 2012, 04:13:28 PM
Wow! I like it! :D

The character limit is infinite. Or however much the computer can handle before blowing up.
When I add layers into HTML5 GM, it'll allow a lot more characters cause the whole game will be faster/smoother.
Title: Re: Retro games
Post by: Zoo on March 14, 2012, 04:15:46 PM
... I meant the "Post reply" Box. not the game. Probably should have mentioned that.
Title: Re: Retro games
Post by: Connors on March 14, 2012, 04:21:27 PM
This is great, Zoo! It's interesting and fits well with the game.
They went to go find a solution to that problem, and what did we do? We build a massive space station to "Keep them away".
We're doomed.
Title: Re: Retro games
Post by: Zoo on March 14, 2012, 04:47:10 PM
Should I change it to say DOOMed because EQ kept relating it to DOOM? I like to have weird little things like that in a game.
Also, (Warning, inside joke ahead)
Lt. Beck's full name is Josh Steven Beck. Before he joined the "army" he was a seventh grade technology teacher in san antonio texas.

http://www.youtube.com/watch?v=28ZyXCHi2uo

Feel free to change the name. I found this when looking for blender tutorials, and they're really helpful. I'll let you guess at the Steven thing, because I'd only make the GMG laggier by telling you how that name came about. Steven is not my name by the way. It's a name I sometimes use when signing up for things on the internet, but it has a LOOONG story behind it.
Title: Re: Retro games
Post by: Zoo on July 25, 2012, 09:49:30 PM
3  WORDS.
BRING. THIS. BACK.
Title: Re: Retro games
Post by: Connors on July 27, 2012, 11:45:01 PM
Oh man it's so true this needs to become a proper game. I totally forgot about Space Marines if you can believe that. :o

I'm gonna cut to the chase -
The next step I had in mind was adding more variants of zombies and AI. With changes as simple as the distance they will chase you from or whether they will follow a complex path we can make more interesting battles.
Example? Since they all use melee zombies that lie waiting for the player can be a real problem, but in a large maze zombies that can path-find to you can ambush you.
Title: Re: Retro games
Post by: Zoo on July 28, 2012, 04:07:12 PM
Zombie soldiers with guns? Exploding zombies? Zombies that become 2 little zombies when you kill them? Zombie bosses? More weapons/powerups? Upgrades shop?
Title: Re: Retro games
Post by: Gan on July 28, 2012, 04:38:59 PM
Easy
Title: Re: Retro games
Post by: Zoo on July 29, 2012, 02:10:38 PM
Go ahead, then. I challenge you. Update the current version of HTML5GM to have as much content as the SC one, and I'll make some levels and write more story.
Title: Re: Retro games
Post by: Zoo on August 20, 2012, 10:04:10 AM
Alternative gamemode maps! Go!


This is sort of like a CTF. The portal teleports you back to base and adds 1 point to your team's total. You'd play as a team of 2-3 maybe. and the ammo in the upper corner rooms respawns. You play until you get 5 points, as the zombie spawn rate increases. doors and keys respawn after every point. basicly, it's 5 maps in a row, that are identical, except more enemies spawn faster each time you advance. maybe add a boss battle at the end. It'd be designed for the online capabilities (We're adding that, right?) and co op gameplay.


LET spawntimer = 5    //time between enemy spawning
LET enemylimit = 30    //enemies per level
LET maxenemy = 10    //maximum amount of enemies on-screen
LET line$(1)  =  "11111111111111111111111"
LET line$(2)  =  "1aaaaaaa100a001aaaaaaa1"
LET line$(3)  =  "1Fdhaaaa1010101gdhaaaa1"
LET line$(4)  =  "1L0000b100101001b0000L1"
LET line$(5)  =  "111T1111U11R11U1111T111"
LET line$(6)  =  "0000000001K0p1000000000"
LET line$(7)  =  "0000000001haa1000000000"
LET line$(8)  =  "00000000011111000000000"
LET line$(9)  =  "0000000000zzz0000000000"
LET line$(10) = "00000000000000000000000"
LET line$(11) = "00000000000000000000000"
LET line$(12) = "000000yyy00000yyy00U000"
LET line$(13) = "001R10yyy00000yyy01T100"
LET line$(14) = "011h1100000000001110110"
LET line$(15) = "0109010000000000100K010"
LET line$(16) = "01111100000600001111110"
LET line$(17) = "00000000000000000000000"


So, we should focus on not only the story mode, but also on having vs. and co op online modes. I have some ideas. Another idea is called "Hold the fort mode" where zombies keep coming and if they get to your wall they deal damage, so you have to keep them back.
Title: Re: Retro games
Post by: Connors on August 20, 2012, 04:10:43 PM
I think it's a cool prospect, being able to play online. But we ought to work on getting singleplayer playable first!
Title: Re: Retro games
Post by: Zoo on August 20, 2012, 04:51:46 PM
Yeah... Just thinking for the future  8)
Title: Re: Retro games
Post by: Gan on August 23, 2012, 02:14:00 PM
Hm, I could make the HTMl5 GM sprite based. Would ya guys like that?
Title: Re: Retro games
Post by: Zoo on August 23, 2012, 03:12:06 PM
YES PLEASE!!!! SHUT UP AND TAKE MY MONEY!!!!!
Title: Re: Retro games
Post by: Connors on December 13, 2014, 06:45:43 PM
Holy Sh** I remember this thread

michealled

I don't care if you're a bot or a real user but stop making me be so nostalgic asdfl;jkd
Title: Re: Retro games
Post by: Zoo on December 13, 2014, 07:45:36 PM
"No spell can reawaken the dead."
—Albus Dumbledore
Title: Re: Retro games
Post by: addseo1115 on May 01, 2015, 02:01:44 AM
Looks fun.
Title: Re: Retro games
Post by: Silverwind on May 01, 2015, 03:06:49 AM
"No spell can reawaken the dead."
—Albus Dumbledore
"Afraid I might have sat on it at some point, but I imagine it'll taste fine just the same."
—Rubeus Hagrid
Title: Re: Retro games
Post by: Johna100 on June 04, 2020, 04:11:25 PM
You could make an old school rougelike. Here is a starting point: http://gamemakersgarage.com/forum/index.php?topic=1800.0 (http://gamemakersgarage.com/forum/index.php?topic=1800.0)