- mattoFeatured Creator
- Posts : 81
Join date : 2022-08-11
Location : Japan
Scary Night: Free Download
Tue May 02, 2023 2:59 am
Inspiration:
johnr served as the inspiration for this one. When I downloaded his game, I thought to myself, "If I were to do a game like this, what would I do differently?". That question has resulted in a week of frustrating VBA coding.
This is what I came up with.
Gameplay:
You're trying to survive a stay at Castle matto. There are monsters throughout the castle. In order to survive, you must find your way through the castle by going through a series of doors. If you successfully choose a safe door and avoid a monster, you survive a night. Thanks to the use of the OnSlideShowPageChange feature, the available doors, location of monsters, and number of monsters changes every night.
You will start the game with three hints and earn one hint for every night you survive. You can use a hint to display whether a door is "safe" or "not safe". At random points during the game, you can receive bonus hints (which have a 1 and 5 chance of appearing after surviving a night during the first week), and or gamble your hints by playing "double or nothing" (which has a 1 and 3 chance of this appearing after surviving a night, and a 50/50 shot of either doubling or losing all your hints). The gameplay is based on risk verses reward calculations. You can even "borrow" hints into the negative; although, this has consequences . If you manage to stay a month at castle matto (30 days), then you beat the game.
- Code:
For i = 1 To 3
DOUBLE_OR_NORTHING(i) = 0
Next i
For i = 1 To UBound(DOUBLE_OR_NORTHING): DOUBLE_OR_NORTHING(i) = i: Next i
For i = 1 To UBound(DOUBLE_OR_NORTHING)
rndindex = Int(UBound(DOUBLE_OR_NORTHING) * Rnd()) + 1
temp = DOUBLE_OR_NORTHING(rndindex)
DOUBLE_OR_NORTHING(rndindex) = DOUBLE_OR_NORTHING(i)
DOUBLE_OR_NORTHING(i) = temp
Next i
ActivePresentation.Slides(4).Shapes("BONUS_10").Visible = msoFalse
ActivePresentation.Slides(4).Shapes("DOUBLE_OR_NOTHING").Visible = msoFalse
ActivePresentation.Slides(4).Shapes("DOUBLE_OR_NOTHING_YES").Visible = msoFalse
ActivePresentation.Slides(4).Shapes("DOUBLE_OR_NOTHING_NO").Visible = msoFalse
ActivePresentation.Slides(4).Shapes("DOUBLE_OR_NOTHING_RESULT_WIN").Visible = msoFalse
ActivePresentation.Slides(4).Shapes("DOUBLE_OR_NOTHING_RESULT_LOSE").Visible = msoFalse
If DOUBLE_OR_NORTHING(1) = 1 Then
ActivePresentation.Slides(4).Shapes("DOUBLE_OR_NOTHING").Visible = msoTrue
ActivePresentation.Slides(4).Shapes("DOUBLE_OR_NOTHING_YES").Visible = msoTrue
ActivePresentation.Slides(4).Shapes("DOUBLE_OR_NOTHING_NO").Visible = msoTrue
End If
For i = 1 To 2
DOUBLE_OR_NORTHING_5050(i) = i
Next i
For i = 1 To UBound(DOUBLE_OR_NORTHING_5050)
rndindex = Int(UBound(DOUBLE_OR_NORTHING_5050) * Rnd()) + 1
temp = DOUBLE_OR_NORTHING_5050(rndindex)
DOUBLE_OR_NORTHING_5050(rndindex) = DOUBLE_OR_NORTHING_5050(i)
DOUBLE_OR_NORTHING_5050(i) = temp
Next i
If DOUBLE_OR_NORTHING_5050(1) = 1 And NIGHT_SCORE <> 1 Then
ActivePresentation.Slides(4).Shapes("DOUBLE_OR_NOTHING_RESULT_WIN").Visible = msoTrue
Else
ActivePresentation.Slides(4).Shapes("DOUBLE_OR_NOTHING_RESULT_LOSE").Visible = msoTrue
End If
For i = 1 To 5
BONUS_10(i) = i
Next i
For i = 1 To UBound(BONUS_10)
rndindex = Int(UBound(BONUS_10) * Rnd()) + 1
temp = BONUS_10(rndindex)
BONUS_10(rndindex) = BONUS_10(i)
BONUS_10(i) = temp
Next i
If BONUS_10(1) = 1 And NIGHT_SCORE <> 1 Then
ActivePresentation.Slides(4).Shapes("BONUS_10").Visible = msoTrue
ActivePresentation.Slides(4).Shapes("HINT_SCORE_BOX").TextFrame.TextRange = Str(HINT_SCORE + 10)
Else
ActivePresentation.Slides(4).Shapes("BONUS_10").Visible = msoFalse
End If
One cool thing about this game is that all the transition scenes and jump scares have random timings. You'll never know if you chose the right door until it's too late.
Gameplay Footage:
Coming soon
Release Notes and Known Bugs:
First and foremost, this is an unoptimized Beta, so set your expectations accordingly. While the game is 100% playable, it's far from a polished, retail state. This was just a coding project intended to demonstrate that this kind of game is possible to do in PowerPoint. With that said, the biggest issue with the game is performance. This game CHUGS. You need to give it ample time to load upon opening. Before you ask, YES, the loading animations are necessary to give the computer time to catch up with its processing. Well, at least they are on my dinky core i3.
- Upon dying or beating the game, the intro screen fails to render the lightning animation properly.
- About halfway through the game, the sound used when clicking on doors no longer plays correctly.
- When transitioning to a new screen after clicking a door, PowerPoint quickly flashes previously loaded/unloaded elements.
Download:
Download Scary Night Beta 1.0.0
- !C8Hypela/M!!fN+hj5wFeatured Creator
- Posts : 147
Join date : 2021-04-28
Location : Nusantara
Re: Scary Night: Free Download
Wed May 03, 2023 5:50 am
I just tried john's version of the game, well, since I can't play this one right now. Gotta be honest, can't wait to see that random timing jumpscare transition thing, the one thing I could confidently point at and say "that's an impressive feat, from the coding side and gameplay mechanic side." Player chose a door to open, and then they waited with bated breath, as it opens, revealing...
The hint's bonus-penalty system description sounds a bit complicated, most likely won't be when we finally get to play it. Or maybe my brain is just too tired to comprehend a wall of text right now lol.
Also, image is pretty. Did you make it yourself?
Now excuse me, as I now gotta reply to john's game's thread.
The hint's bonus-penalty system description sounds a bit complicated, most likely won't be when we finally get to play it. Or maybe my brain is just too tired to comprehend a wall of text right now lol.
Also, image is pretty. Did you make it yourself?
Now excuse me, as I now gotta reply to john's game's thread.
- mattoFeatured Creator
- Posts : 81
Join date : 2022-08-11
Location : Japan
Re: Scary Night: Free Download
Wed May 03, 2023 7:16 am
Thanks,
I took the idea from Five Nights at Freddy's. If you didn't know, in that game, the jump scares have random timings.
After playing this for a few hours though, I have to say that waiting with bated breath gets old quickly. I'm thinking that if you use a hint, then you can skip the waiting with bated breath sequence, since you know the door is safe anyway. It should only be when you're going through a door of unknown certainty that you have to go through that sequence.
Anyway, I can send you a copy of the game at any time, but since only the first level is complete, it just loops infinitely with no jump scares right now. It's better to wait until I finish.
The graphics are done by my friend Muhammad Saeed. He has a Fiverr page here: https://www.fiverr.com/muhammadsaeed01?source=inbox
Since he sends the graphics to me in layers, I'm able to do animations.
The VBA part of the game is relatively straightforward. The problem is that PowerPoint doesn't like it when I try to update shapes or images on the fly in Slide Show Mode. For example, if a shape or image that I'm trying to update (as in add text, change color, etc.) has an animation trigger attached to it, then the entire animation timeline will reset when I try to execute any code related to that shape or image. Therefore, my programming strategy has been to make all essential changes or calculations for a subsequent slide when the slide before it is loaded. For example, when slide 2 loads, it does all the mathematical calculations/changes needed for slide 3 and applies them. This way, the user doesn't have to experience any sudden timeline resets or graphical glitches. However, even with this strategy, there are still some obstacles to overtime. PowerPoint was just never envisioned to be used this way, so sometimes you have to find your own creative solutions.
I took the idea from Five Nights at Freddy's. If you didn't know, in that game, the jump scares have random timings.
After playing this for a few hours though, I have to say that waiting with bated breath gets old quickly. I'm thinking that if you use a hint, then you can skip the waiting with bated breath sequence, since you know the door is safe anyway. It should only be when you're going through a door of unknown certainty that you have to go through that sequence.
Anyway, I can send you a copy of the game at any time, but since only the first level is complete, it just loops infinitely with no jump scares right now. It's better to wait until I finish.
The graphics are done by my friend Muhammad Saeed. He has a Fiverr page here: https://www.fiverr.com/muhammadsaeed01?source=inbox
Since he sends the graphics to me in layers, I'm able to do animations.
The VBA part of the game is relatively straightforward. The problem is that PowerPoint doesn't like it when I try to update shapes or images on the fly in Slide Show Mode. For example, if a shape or image that I'm trying to update (as in add text, change color, etc.) has an animation trigger attached to it, then the entire animation timeline will reset when I try to execute any code related to that shape or image. Therefore, my programming strategy has been to make all essential changes or calculations for a subsequent slide when the slide before it is loaded. For example, when slide 2 loads, it does all the mathematical calculations/changes needed for slide 3 and applies them. This way, the user doesn't have to experience any sudden timeline resets or graphical glitches. However, even with this strategy, there are still some obstacles to overtime. PowerPoint was just never envisioned to be used this way, so sometimes you have to find your own creative solutions.
rusnakcreative and !C8Hypela/M!!fN+hj5w like this post
Re: Scary Night: Free Download
Wed May 03, 2023 2:53 pm
I know the struggle when combining animations and VBA! I'll be definitely checking this one out to see how your method works. I think I've had a similar method when I had my Wheel of Fortune game available where all the spins were random, but the programming kept track of where the wheel landed AND where it left off after the animation. One of my pet peeves with animated wheel spinners was that they all started at the same spot every single time regardless of where it landed. I wanted it to remember where it landed, and continue where it left off from there AND randomly select the length and duration of the animated spin. Bit of a pain in the butt I remember, but don't ask me to recreate it right now as I can't remember how I managed to make all that work!
Just by watching the video, this is just a personal taste but I feel some of the waiting for the door to open lasting too long after the narrowing black rectangles have finished narrowing down. What I might suggest is maybe add a fade to black over the rest of the door to add a little more visual and length to the reveal, and then randomize the 'reveal' after it reaches black from 1 to 5 seconds. Don't forget to add some suspenseful audio clips as it fades to black and while in the black to really intensify the reveal whenever it happens.
Just by watching the video, this is just a personal taste but I feel some of the waiting for the door to open lasting too long after the narrowing black rectangles have finished narrowing down. What I might suggest is maybe add a fade to black over the rest of the door to add a little more visual and length to the reveal, and then randomize the 'reveal' after it reaches black from 1 to 5 seconds. Don't forget to add some suspenseful audio clips as it fades to black and while in the black to really intensify the reveal whenever it happens.
Re: Scary Night: Free Download
Thu May 04, 2023 5:39 am
All this talk about doors has given me an idea for a 'Doors of Death II' game. It will work like this:
You start in a room with (e.g.) six doors. One has a monster behind it. You click on a door to open it. Chances are there's no monster so you enter a room that has 5 doors (again, 1 with the monster behind it). Click again and if no monster, you enter another room with 4 doors etc and then down to 3, then 2 for a 50/50 chance of getting safely through to the end. If you click on a monster door at any stage it's game over. Very simple, but with an addition of randomisers that link to one of four rooms that has 5 doors / 4 doors etc so you can't rely on memory to get you though.
Might make a start on it tomorrow.
You start in a room with (e.g.) six doors. One has a monster behind it. You click on a door to open it. Chances are there's no monster so you enter a room that has 5 doors (again, 1 with the monster behind it). Click again and if no monster, you enter another room with 4 doors etc and then down to 3, then 2 for a 50/50 chance of getting safely through to the end. If you click on a monster door at any stage it's game over. Very simple, but with an addition of randomisers that link to one of four rooms that has 5 doors / 4 doors etc so you can't rely on memory to get you though.
Might make a start on it tomorrow.
- mattoFeatured Creator
- Posts : 81
Join date : 2022-08-11
Location : Japan
Re: Scary Night: Free Download
Thu May 04, 2023 6:18 am
That needs a cheesy 80's horror movie subtitle. Like
DOORS OF DEATH II
THE DEATHENING!
DOORS OF DEATH II
THE DEATHENING!
Re: Scary Night: Free Download
Thu May 04, 2023 6:40 am
Love it!
I'm going to use it.
This has reminded me of the (partially true) story behind the title of the film 'The Madness of King George'. It was originally called 'The Madness of George III' but was changed because it was believed that the American audience would complain that they hadn't seen The Madness of George I & II yet. (You may recall from US history that it was Britain's George III who was on the throne when the revolting Americans declared their independence).
I'm going to use it.
This has reminded me of the (partially true) story behind the title of the film 'The Madness of King George'. It was originally called 'The Madness of George III' but was changed because it was believed that the American audience would complain that they hadn't seen The Madness of George I & II yet. (You may recall from US history that it was Britain's George III who was on the throne when the revolting Americans declared their independence).
- mattoFeatured Creator
- Posts : 81
Join date : 2022-08-11
Location : Japan
Re: Scary Night: Free Download
Thu May 04, 2023 6:43 am
That's hilarious. However, knowing my people/former people, totally accurate.
- mattoFeatured Creator
- Posts : 81
Join date : 2022-08-11
Location : Japan
Re: Scary Night: Free Download
Tue May 23, 2023 12:10 am
The game is done.
That's all.
That's all.
- Trying to figure out if people will kill me for 1 of these almost every night :)
- Link to Free PDF of PowerPoint Book
- Interesting software for two-player games - and it's free!
- Bebe's Art Studio: The Video Game — Early Access (Featuring The "Paint [slash Free] Play" Demo, And More)
- VOILA! One Click PowerPoint Quiz Maker (AKA: Yontaku PowerPoint Quiz Maker): Free Download
Permissions in this forum:
You cannot reply to topics in this forum