Please note that there is an updated version of the game! Please see notes at the bottom of this main post!


Alrighty, folks! Welcome to the super late 2022 Halloween Event:

Back To The Darkness From Whence Ye Came!

This is another video game event (since everyone here should be a gamer!), similar to the previous couple of Halloween events! This event has 101 giveaways in it! There is some trash, but a whole lot of treasure! All of the games are horror/scary/extradimensional-evil-being/Halloween-themed.

So, the last couple of years, I've done game-flips, which weren't just straight-up asset flips. I mean, I did go get new assets and replace ones in existing games, but I also ended up adding a lot of additional code to make those games better/more focused/the right length/whatever for our events. This year, however, I wrote a whole new game (similar to what I did back with the 1954 game for the PEW PEW PEW train a couple of years ago). I did start with some GameMaker template items to accelerate things a bit, but it's primarily all custom code. I also was using GameMaker 2 for the first time (since I got a 1-year subscription in a bundle somewhere), so there were a few things to learn there as to what's changed from the original one that I already knew at least fairly well.

Alright, alright, that's super...tell me about the actual game, dude.

Ok, fine, fine...I'll get to the good part.

Totally made-up, conveniently-timed background story: Halloween is over, but somehow all of the ghosts and monsters haven't returned to their own purgatorial dimension of darkness! Nope, they've decided that it's way better to stay here and just continue to terrorize the creatures of this dimension all year long. You, the never-rotting jack o' lantern hero, have to step up and blast these baddies back where they belong. That's right, strap on your weapons and scream toward the evil creatures of the night, "Back to the darkness from whence ye came!!!!!"

Basics

Gameplay

So, the game is an endless arena shooter and completely uncomplicated. Shoot everything that moves, and get as high of a score/level as possible. You can grab powerups to make this easier (more on that in just a bit), but otherwise you just need to run around, keeping yourself from getting hit by the monsters and kill as many of them as possible. You start with 3 lives and lose one each time you get hit. Also, when you get hit, you'll turn red with a glowing ring around your jack o' lantern, and you'll be invincible for 3 seconds -- move away from other monsters fast!

Levels and Scoring

This is super easy. For the first 20 levels, you'll level up for every 30 points you earn by shooting monsters. After that, it'll take 50 points per level. There are seven different types of baddies, and they score as follows:

  • Ghost - 1 point
  • Cyclops - 2 points
  • Chompy Beige Anger Blob - 3 points
  • Saucer Demon - 4 points
  • Reaper - 10 points (these guys are pretty tough and take quite a few hits to kill)
  • Zombie - 5 points
  • Tunnel Worm - 6 points

Enemy spawns are pretty well-paced up through level 50...and then the gloves are off. Expect a pretty continuous onslaught at that point, and it will get slightly worse every 10 levels above that. ๐Ÿ˜ˆ

Enemy Movement

  • Ghost - floats slowly, directly toward you all of the time
  • Cyclops - moves toward you horizontally first, then vertically, constantly speeding up and slowing down (watch out for these guys, they're tricky)
  • Chompy Beige Anger Blob - crawls toward you constantly, moving vertically twice as fast as they move horizontally
  • Saucer Demon - hovers toward you, then suddenly breaks into bizarre spiral movement (no one knows why)
  • Reaper - travels left-to-right or right-to-left straight across the screen, accelerating as it goes (be careful of that speed if you're on the far side from where it started)
  • Zombie - walks toward you, then randomly stumbles into a wavy, drunken gait (because, hey, it's a zombie ๐Ÿ˜†)
  • Tunnel Worm - doesn't move at all...but will shoot three projectiles your direction if you don't kill it fast enough

Weapons/Powerups

  • Candy Corn - this is your default weapon. There is so much leftover candy corn (because it sucks and no one wants to eat it) that our hero was able to collect it all and turn it into ammunition
  • Orange Candy - shoots a triple set of spinning orange candy, doing the same damage each as the default weapon; limited ammo
  • Eyeball Shooter - a splorch-sounding weapon that fires in a single stream, doing the same damage per hit as the candy corn, but firing at 5 times the speed; limited ammo
  • Bat Gun - shoots a fairly slow stream of screeching bats that waggle left and right, but do major damage for each hit; limited ammo
  • Purple Bomb - single use here, but awesome...grab it and kill every single monster in the room!
  • Invincibility - grab one of those red pumpkins on the ground, and you'll turn on your invincibility shield for 8 seconds!
  • Extra Life - starting at level 25 (before that, you're on your own, kid), you'll occasionally see an orange pumpkin with a "+1" next to it...grab it and get an extra life. But leave it be if you're already at 3 lives, because you can't have more than that! Save it for when you take a hit.

Controls

This is easy. Point the crosshair mouse cursor where you want to shoot and hold down that left mouse button. To move, you can use either WASD or the arrow keys (to support both lefties and righties). Nope, sorry, you can't redefine the keys. Didn't have time to code that.

That sounds good, but you still haven't told me how I can win games

Oh yeah, that's kind of important. So, there are four trains with increasingly higher requirements to enter, but the games get increasingly better as well. All of the trains require you to have given at least something on SG before, and thus require a measly level 1 to enter, but this should help filter out at least some of the bots and extra-bad leechers.

  • Train 1 - Reach at least level 10
  • Train 2 - Reach at least level 20
  • Train 3 - Reach at least level 30
  • Train 4 - Reach at least level 40
  • Grand Prize: Reach at least level 50 (this is the full Walking Dead Definitive Edition that includes the entire series with remasters of the first couple of games, a $50 package)

FYI, this is honestly pretty easy to do. First "real" playthrough of the finished game, I made it to level 87. Second playthrough, I made level 138. 50 should be a piece of cake.

Once you've achieved any/all of these things, the code to enter that train will be available on the game over screen, clearly labeled along with your score.

In case you're not familiar with it, every giveaway on Steamgifts has a five-character code, and that's what's listed as the start of each train. All you need to do is write down your train codes, and insert them into the URL in your browser as follows:
https://www.steamgifts.com/giveaway/ABCDE/
All you have to do is replace "ABCDE" in the string above with your five-character code from the game, and POOF! MAGIC! You'll be looking at the first cart in that train. There is a sample graphic of what this looks like at the end of this description with obviously fake codes in it.

Important street cred for keys

The game in the last cart in each train, as well as the grand prize, were all donated by jesuswarjesus. So please take the time to say thanks to him, as he got me over the hump to get this from 96 GAs to the 101 that I wanted to make it.

Unfortunately necessary note about cheating and proof that you actually played

Don't do it. Play the game. It's not that hard, doesn't take that long, and should be at least some degree of fun. Anyone caught cheating, whether giving or receiving codes from the game without playing it, will get added to my blacklist. My blacklist is short...but once you're on it, you're probably never coming off. So, just resist being a douche canoe and play the game that I worked hard to bring you, ok? Alrighty. Enough about that.

The game doesn't save the high score to a file or anything (another thing that I ran out of time to do), so you'll need to get a screen shot. Please get a screen shot of the game over screen that shows all of the trains for which you're qualified, and have your profile up in Steamgifts in the background (I've provided a sample of what that should look like at the end of the instructions here). Please do not post it in this thread and show other people the train codes! Just keep it handy or go ahead and upload it to Imgur or something. I'll be spot-checking wins and all of the most valuable ones, including the grand prize. So be prepared to prove that you played or be ready for a re-roll.

Things that I would do if I had more time (and especially if I were going to release this game)

First and foremost, there would be some basic graphic options, key reassignment, and saving of settings/high score to at least a local file. I would also design specific waves of baddies with more varied patterns, as well as adding at least 4-5 more of them. I'd add at least a couple of more weapons. And most importantly, I'd have boss battles every 10-20 levels or so. But I was coding an entire game in a week of free time (while I was trying really hard not to let my super-busy life schedule fall off of a cliff), so I had to keep things pretty simple and focused for this go-around. Maybe I'll crack it back open later and enhance it. We'll see.

Ok, let's get going!

First things first: Download the game

Install the game (on Windows...sorry, no time to attempt multi-OS support here) and fire it up! Now, your browser and probably your anti-virus may complain that they don't know this file, that it's unsigned (or whatever other malarkey they come up with), and start panicking and tell you not to install it. It does not contain any trojans. The game does not communicate with any external servers or attempt to contact anything over the internet. It just runs on your machine. It's safe, I promise.

FYI...if you want to make the game full-screen, just hit alt-Enter to switch between that and windowed mode. You can also drag the corner of the window with your mouse to resize it manually.

Other stuff

The trains end at 11:59 pm on November 14st - Central Time, US, so you have time to finish up. And this year you have no excuse that Halloween got in the way since I delivered this so late. ๐Ÿคฃ

A couple of these keys (especially in the lower-level trains) are really freakin' old. So, please be cool and agree to a delete if they don't work for some reason. Being the swell guy that I am, I'll find some kind of replacement game for you of roughly equal value, so you won't go home empty-handed if you were supposed to win something.


EDIT 11/11

So, I just uploaded an updated version of the game (you can still use the link above). It is totally ok if you've already finished with the original version! I just made some minor convenience updates -- but nothing that will change anyone's ability to get a higher score nor change the difficulty level. If I tweak any of those things, it'll be after the event is done so that everyone was playing the same game at the same difficulty level. :)

Little things I added/changed:

  • the game over screen now displays the final level that you reached
  • remaining ammo for the powerups now displays at the bottom right corner of the game screen
  • fixed a bug on the levels (this did not affect score -- only how levels were calculated) that essentially gave y'all a free 4-5 levels right after level 21...yeah, some of you that barely made level 50 before didn't really hit it. But that's ok. Nobody is gonna make you go back and redo things if you don't want...if you squeaked in there because of my bug, congrats. ๐Ÿ˜‰
View attached image.
View attached image.
1 year ago*

Comment has been collapsed.

Were you starting to lose faith that the event I promised would ever happen?

View Results
Yeah, I mean, you kind of kept moving the date out, and despite the regular updates, it just didn't seem like it was going to ever get here. Also, I don't believe in anything or anyone. I mostly just sit in the dark alone and cry, wishing that I could be a flying glitter unicorn in a happier land made of gumdrops and chocolate..
NEVER! I have unyielding faith in you, O Grande Poobah of unnecessary game events created solely for the purpose of self actualization and perhaps a bit of good karma!
I spent the entire last week in uncertainty, gently wallowing in a giant vat of mashed potatoes. I am slowly eating my way out, but my naughty bits may be permanently adhered by mashed taters.

Well, that was very easy. Thanks for the event :)

1 year ago
Permalink

Comment has been collapsed.

Thanks for amazing event bump ๐ŸŽƒ

View attached image.
1 year ago
Permalink

Comment has been collapsed.

Thank you!

1 year ago
Permalink

Comment has been collapsed.

As always: Thank you very much, Grez, for the time and effort you put into those games on a yearly basis.
Wish CG would only put a fifth of this effort into SG in a year.

1 year ago
Permalink

Comment has been collapsed.

LOL. Well, let's be nice to CG. I mean, we wouldn't have this place at all without him. We could use some more base features on the site, though...I don't think that I could survive without ESGST. ๐Ÿค“๐Ÿ˜†

And, you're welcome. Glad you had fun. :)

1 year ago
Permalink

Comment has been collapsed.

Thanks for event. I have question : It is impossible to play that game on iOS?

1 year ago
Permalink

Comment has been collapsed.

Yep, impossible, sorry. You can't even build for iOS in this version of GameMaker (the $800/yr version might be able to...don't know). You can build for MacOS, but in typical Apple fashion, it's more trouble than it's worth. Apple won't let you use an emulator to test code...you have to have a physical device to do it, and manually port the code over there with a separate install of the GameMaker engine to compile it directly on their device.

iOS is even tougher since it's so very different from PC/Mac OSs. Apple just makes everything very proprietary, which is why, when you look at Steam, probably only about 10%-15% of the available games are playable on MacOS, and only a tiny, tiny fraction are available on iOS. A lot of iOS stuff is iOS-only for that reason (and frankly, Apple likes things that way). Stuff that does run on both iOS and Android largely has to be coded completely separately. It's a lot of work.

1 year ago
Permalink

Comment has been collapsed.

Got all codes on my first try :)
Thanks grez1 and jesuswarjesus for this fun event and great giveaways!

1 year ago
Permalink

Comment has been collapsed.

I always enjoy these games, really fun and simple. Many thanks :)

First thing I'd do is balance the sound volumes, the bat weapon killed my ears xD
Second, decrease the area where you trigger the play area movement, the distance between you and new spawning monsters is too small for comfort Nah, played once more. It does its job well.

Edit: I'd add a couple things:
consider spawning the Reapers with at least 2/3 of their sprite height in the current area, as they are transient enemies
also spawning tunnel worms with 2/3 of their sprite height and width in the area
adding wider distinct walls to the edge of playable area, just to be more visible

Edit2:
Increase the visibility of the reticle (either bigger or contrasted with regards to background)
Add a darker transparent background for visibility to the GUI and maybe allow the alpha adjustment or change the placement so it doesnt affect the play area so much
Adding bonus points for picking up +1 life when you have 3 lives?
Also increasing the enemy movement complexity for some characters could be beneficial, besides the rockcyclops, reaper and tunnel worm everything else is just fodder :D

View attached image.
1 year ago*
Permalink

Comment has been collapsed.

Ah yes didn't read the requirements well enough.
Here's the newest:

View attached image.
1 year ago
Permalink

Comment has been collapsed.

All really great suggestions! I likely will not have the time to implement them, as I have a crazy busy week, but perhaps I'll go back and make some tweaks later in case anyone is still interested in playing around with this little game.

You're the second person that said something about the sound, but the funny thing is that I did level the sound. A lot. Most of the sounds come from different sources (sound packs that I bought in bundles as well as creative commons-licensed stuff from Freesound [and I'm a small contributor there as well]), so I actually checked the wave peaks and made them fairly equivalent. I reduced the peak levels on almost everything by an average range of 25%-40%. And I tested it both on my gaming tower and a laptop to see if I felt that the sound levels were comfortable (and they were on my machines). What I didn't do, though, was test it with a headset, and that's probably where the sensitivity is coming into play. It just goes to show how much time and effort has to go into just this one aspect of game development in big games with hundreds/thousands of sounds.

Just for the sake of interest: I'm pretty proud of that Bat Gun. There was considerable coding involved in getting the movement right and performant. Making things waggle in a relative direction is trickier than it looks (my first attempt had them all swooping in exponential counterclockwise arcs, which was cool-looking and kind of fun, but not very effective as a weapon). And the sound is actually two overlapped, randomized, separately (and concurrently) running sounds: an edited-down recording of bat screeches as a colony leaves their cave for the night, and fluttering/flapping wings.

Thanks for the feedback -- I do really appreciate it. If I had any plans to release this even as a 99-cent game on Steam, I would invest at least a couple of weeks of making a ton of tweaks/upgrades. I would need to add quite a bit more variety of gameplay (in terms of specific levels/patterns/more baddies & weapons) and definitely boss fights. I'd also do things like add some code to get the random background objects to layer more perfectly based upon screen position (sometimes they look janky when they overlap), but there wasn't any time for that, as that's actually quite a bit of work due to the number of factors that would have to be taken into account.

1 year ago
Permalink

Comment has been collapsed.

Understandable, no pressure from me. And if you do tweak the game the past high scores will become invalid :D

It's definitely the headphones, I presume the higher frequencies sound louder when they're closer to the source. and different compression rates equal different loudness perception (think movie loudness and commercial loudness on TV broadcasting) and that's a professional branch that I'm certainly not qualified for xD

The bat pattern looks like a sqrt(x)*sin(x) on first glance, I presume it's not as simple as that

As I was always interested in game development these dev diaries are fun for me to read and experience, unfortunately due to certain circumstances I've avoided going through that myself. It's always nice to see people working on their passion and enjoying it :)

Best of luck, let us know here when you publish it. I'd buy that for a dollar :D

1 year ago
Permalink

Comment has been collapsed.

I seem to be unable to stop playing (also it's beneficial if you're battling for the high score :D)

View attached image.
1 year ago
Permalink

Comment has been collapsed.

Daaaaaaannnnnggg! I think that's the highest score I've seen to date! That's really up there!

Also, on your observation about the bat movement: I think that the math you're suggesting would work great if we were simply relocating an object on a flat grid (like, say, the projectiles in ye olde Castle Wars game [later, Scorched Earth/Worms/etc.]). But the problem here is that the object we're moving has direction, and also it's based upon that 360-degree scale being relative to 0 being right/East on a 2D screen in GameMaker...oh, and then the degrees are calculated counterclockwise (so, opposite of how anyone who's ever used a compass would think this would work). So, it's not just repositioning the sprite; it's calculating the new direction and then moving along that vector, as well as appropriately calculating the relative angle of rotation you want to use to display the spite (so that it looks like the bats are turning along their flight path). And then, if you're wanting to move back and forth, you have to determine relative thresholds to reverse the calculation (which again would work great with a sine calculation if we were on a static grid). In the end, I did it with much simpler code than what I started with, but there was a ton of experimentation involved. I set threshold values based upon the relative number of degrees I wanted the bat to be able to waggle in comparison to its original vector (wherever the reticule is pointed). And, I randomize for each "bullet" whether it's going to begin left or right as well as a four-to-negative-four degree randomized alteration to the base angle, so that there's a natural spread instead of every bat just following the same line. And then the left/right value is added to the current direction each time until it crosses the threshold value in either direction, and then that left/right value is set to its inverse positive/negative value.

So, basically, we're moving the bat in a bunch of short, straight lines, but it comes out as a curve based upon recalculating the direction vector. It's kind of like the code you needed to draw a circle back in the Apple II days (because they didn't have a circle command...PCs did ๐Ÿค“๐Ÿ˜‚).

But it took a lot of time to write the simplified code...my original ideas on how to do this properly comprised about 50-60 lines of code across two events. In the end, it's only about 10-12 lines of code. :)

1 year ago
Permalink

Comment has been collapsed.

Thanks, tried to get to 10k but didn't leave enough powerups for the late stages and got overrun

Had it been me I'd probably create an overly complicated formula and try to simulate it to perfection (function for path and a derivative for the orientation), but in this case a fast solution is better to do, though everything requires experimentation :D

Yeah, mathematical degrees are inverted to the compass, though even that depends on your perspective.

Generally every curve on the computer is created by a bunch of short straight lines, limitation of the medium. Which is computationally easier :D

Great job, I'd like to see the code for that calculation but better keep that to yourself until you complete it

1 year ago
Permalink

Comment has been collapsed.

A little easy yeah, level 50 at first try ;)
Thanks for the event. That's amazing ๐ŸŽฎ๐ŸŽฎ๐ŸŽฎ
But you totally bait me because I had trouble understanding that the train had to be pulled up :D

1 year ago
Permalink

Comment has been collapsed.

High score: 2816

View attached image.
1 year ago
Permalink

Comment has been collapsed.

Ooh it comes!! Thanks for the event. Not sure if i'll have the time for this since i decided to join cj's event this month, but i'll try to make some time with it :)

1 year ago
Permalink

Comment has been collapsed.

It won't take you all that long...most people are getting a high enough score to join all of the trains in just 2-3 playthroughs. ๐Ÿ˜Ž

1 year ago
Permalink

Comment has been collapsed.

That's nice to know! Just realized that the train ends in 6 days but i think i should be able to manage it if it will only take a short time to finish :)

1 year ago
Permalink

Comment has been collapsed.

Yeah, it'll probably take you like 20-30 minutes and you're ready to go. :)

1 year ago
Permalink

Comment has been collapsed.

High score: 2054

https://imgur.com/a/fnFwoD4

1 year ago*
Permalink

Comment has been collapsed.

You might want to delete the image.

Please get a screen shot of the game over screen that shows all of the trains for which you're qualified, and have your profile up in Steamgifts in the background (I've provided a sample of what that should look like at the end of the instructions here). Please do not post it in this thread and show other people the train codes!

1 year ago
Permalink

Comment has been collapsed.

Thanks for the headsup!

1 year ago
Permalink

Comment has been collapsed.

good job! totally not a game for me (I suck at keyboard controls ^^ couldn't even get to lvl10 haha), but good luck to you all!

1 year ago
Permalink

Comment has been collapsed.

thanks for the event and all the other events you made :)
somehow halloween slipped by me

1 year ago
Permalink

Comment has been collapsed.

It's becoming better and more entertaining every year.
Thanks for the game Grez!

My high score is 2811 now, not ideal but still not bad (=

1 year ago
Permalink

Comment has been collapsed.

Hey, not bad at all! Good enough to get into those trains, right?

A couple of more tries and you'll figure out strategies that'll help you live longer.

1 year ago
Permalink

Comment has been collapsed.

It was fairly enough and with a little overhead of top tier.
Will try more later (=

1 year ago
Permalink

Comment has been collapsed.

My 1st try. A very weak attempt!
My only critique is that the screen should move when the character does. When trying to grab upgrades from any side, I'm mostly going blind.
Ty for the event!

1 year ago
Permalink

Comment has been collapsed.

1 year ago
Permalink

Comment has been collapsed.

This made me smile so much. Thanks for the spooky event, it was fun!

Adding the screenshot, due to pains in my left hand I am unable to do better.

View attached image.
1 year ago*
Permalink

Comment has been collapsed.

Thanks for the game and train ; )

1 year ago
Permalink

Comment has been collapsed.

Bump!
Nice game :)

View attached image.
1 year ago
Permalink

Comment has been collapsed.

I'm so bad at shooters like this cries softly

1 year ago
Permalink

Comment has been collapsed.

It's not that hard to get to 50. You can do it!

1 year ago
Permalink

Comment has been collapsed.

I reached the first two Train tickets. Gotta hog those bombs :3

1 year ago
Permalink

Comment has been collapsed.

Yup. In fact, if you can cruise through, say, the first 30 levels or so with mostly just using the default gun, you can really enable yourself to get out of tricky scenarios at those high levels. Powerup hoarding works well. That's why I didn't have them disappear on a timer. ;)

1 year ago
Permalink

Comment has been collapsed.

I did it! Shortly after 50 I was exterminated but that's ok xD
Thanks for the moral support!
And even more thanks to the scary train - loved the HOGs inbetween... but alas I already got them all shocked
Have a happy - belated - Halloween xD

1 year ago
Permalink

Comment has been collapsed.

Bump!

Amazing effort for an event! ๐Ÿ˜€
Two things I lacked are key rebinding (people with different keyboard layouts, disabilities, preferences) and a pause menu (though I did read later in the comments that P pauses the game).

1 year ago
Permalink

Comment has been collapsed.

First run i reached Level 20+, and on the second run Level 50+.Thank you for creating this funny game and the amazng event ๐ŸŽƒ๐ŸŽฎ

1 year ago
Permalink

Comment has been collapsed.

I lack the grand prize, but maybe I'll give another try later
https://imgur.com/a/GWNRTt8

1 year ago
Permalink

Comment has been collapsed.

Thank you for the event!

View attached image.
1 year ago
Permalink

Comment has been collapsed.

bump!

1 year ago
Permalink

Comment has been collapsed.

bump!
thanks for the event and for the games ^-^
https://imgur.com/a/gwvHm4N

1 year ago*
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.