Old Game Maker’s Apprentice Games – Pyramid Panic

Hi gang, sorry for not posting last friday (though honestly there wasn’t really much to talk about other than that Ato is still coming along…zzz)

Although it’s not like anyone really reads these because I don’t have 1,000,000+ followers and 50 million likes on my ebaumsworld and I don’t make enough money and I don’t-…yadayadayadayada-…

Pyramid Panic!

Escape the evil tomb of Rah! Collect treasures, like magical gold scarabs and the legendary sword of Rah. Avoid the enemies and score big big big cha-ching…????…????…………………????…

Download (windows exe)

It does not contain viruses, it was made in Game Maker 8.1. (click Start to play)

Controls

Arrow Keys – Move

Z – Use Scarab, scares mummies and makes them killable

X – Activate Sword

There is only One Level. I think there’s a time limit too

Insight

GMA taught me about making something cool…

This game can essentially be considered the final culmination of everything that has been learned from The Game Maker’s Apprentice book.

The biggest thing with this game was learning to take all of the different design elements, like pickups, enemy types, special abilities and combine it all to create a more fuller game experience (even though the experience may be short).

Movement system

Some of the biggest aspects that I remember the tutorial emphasizing was the grid-based movement system, much like old school RPGs where you’re locked into a grid even though there is movement. Essentially this is achieved (at least in the tutorial way) by initiating a variable, let’s say “canmove=true”. if we’re in a part of our grid that when rounded down makes it a whole number, canmove is set to true, however when it is not, then it is false.

if x mod 32 == 0
{
___canmove = true
}

The first if statement makes sure we are in a 32 rounded position, so every 32, 64, 96, etc spot on our grid will always work no matter how big our room is. (modulo essentially is just divide, but instead gives us a remainder value (super useful!))

When canmove is true, we can then have it check for an input, which in our case is one of the directionals.

if canmove == true //(we are still and awaiting to press a movement key)
{
___speed=0

___if keyboard_check_pressed(vk_up)
___{
______canmove=false; direction=90;
___}

}
else //(we are moving and cannot press a button until we hit a grid spot)
{
___canmove=false
___speed=1;

___if x mod 32 == 0
___{
___canmove = true
___}
}

This code might look complex, (though honestly this is a really tu-toriel (I’m sorry) way of doing this) but basically, whenever we are moving, we prevent any inputs from being read and still keep applying speed. However when we are in a rounded position, i’ll take the same code as before and make us then stop moving, allowing us ot read our next input. Obvious I cut the input section short (keyboard_check_pressed) and didn’t wright inputs for left,right and down but I think you get the idea…

I won’t go too much in depth, but there were other mechanics like the lighting system, scarab power, sword ability and (to me the most intriguing one) the mummy AI.

Lighting system

I think the lighting system was using a sprite of a circle, and we ran some fancy code to mask out a hollowed out circle, so essentially we made a cookie cutter template and instead the dough covers our screen and we made a round hole in the center. A pretty decent way to get cartoon platforming transition effects as well.

Scarab and sword power

Not gonna go super in depth here, the scarab when touched, adds +1 to a scarab counter for the global variable.

global.scarabcount += 1;

and if we use one we check to make sure we have one and just remove it from our inventory.

if keyboard_check_pressed(ord(‘z’)) && global.scarabcount > 0
{
___global.scarabcount-=1;
___alarm(0)=300; //activate our scarab ability timer!
}

The sword is actually very similar, except it tracks gold and is based on a held input state. The only different is I think it swapped a larger circle sprite for the light mask.

MUMMY AI

Hoo boy, I can’t really remember too well how the mummy AI worked, but I can still give my own insight as to how I think it was coded…

Basically the mummy object has 4 different states, “wander“, “search“, “chase“, “flee“.

When it is in wander state, it will just randomly choose a direction to move when it’s canmove==true. (see how it comes around again?). if it wanted to move into a direction but runs into a wall, it chooses a different direction. Now if we use a special command called distance_to_object(obj_player), we can grab the range from which the mummy and the player are and use this to change it’s state, which if it’s senses we’re nearby, it enters it’s search state.

When it is searching for us, I think it speeds up it’s movement slightly and will generally favor moving in a direction that could be towards us based on randomness. I believe if it happens to roll the right number when it’s canmove is true, then it’ll choose a move direction that would likely move it towards us. Which I think it also uses a direction check to then decide which way to go since it only moves in 4 directions.

Now for the mummy to enter its chase state, we need to use !collision_line(x,y,obj_player.x,obj_player.y,obj_block,0,0), this simulates vision for the AI. Don’t fret too much if this looks super complicated, all it’s trying to do is check if there’s a wall between itself and the player. obviously it wouldn’t make much sense for it to see us through the walls, so we use this function to check for that. Combine this with a distance check to the player, and if it’s close enough and there’s no wall between us and the mummy, the mummy will chase us! Oh noes!! Now it tries to choose directions that will likely move towards us Aaaah!!

uhhh…okay…

So what about the fabled flee state? how does this happen? How do? What do? How is? Why was? Who could? When should? Who what where when how?

So whenever we activate our sword ability, we run some code to tell all mummies to enter flee state and set their flee alarm to a certain value. From the player’s side this is what it might look like…

if keyboard_check_pressed(ord(‘x’)) && global.goldcount > 0
{
___global.goldcount -=1;
___if instance_exists(obj_mummy)
___{
______with(mummy)
______{
_________RUN LIKE HELL (you get the idea…)
______}
___}
}

This code snippet just simulates what it might look like (again this is just tutorial level coding and not advanced Einstein rocket science elitist code).

Anyways that was definitely super technical and anime, but I hope maybe this gave you some insight as to how some this very last Game Maker’s Apprentice game was made. As you may know, this was only the stepping stone to bigger and more challenging prospects. I hope that by sharing this, you’ll see that I came from a background where I had absolutely no clue how to program, I didn’t understand how to logically code/script games and through carefully studying tutorials and open source code, it eventually got me to where I am today…

…a guy who still makes games and isn’t making any money

A guy who can make teh vidya gabens.

I will likely continue sharing my old works, abandoned projects, test code, game projects I studied that I learned from…you name it!

Hope you enjoyed the read!

-Brandon

www.tinywarriorgames.com

Youtube

Twitter

Discord

Advertisements

Old Game Maker’s Apprentice Games – Tic-Tac-Toe

It’s a me a brandon letsa go.

Tic-Tac-Toe

tic tac toe

It’s tic-tac-toe

What else is there to say?

Download (windows exe)

It does not contain viruses, it was made in Game Maker 8.1.

No but really what’s the deal with this? Why would I make such a deep, intricate and complicated game from following the Game Maker’s Apprentice tutorials? If I recall correctly, this segment taught me about using scripts and A.I.

Scripts are useful files you create that can help streamline things like duplicating huge blocks of code for more redundant functions.

Example: In Ato, all enemies share the same “launch” state, which means they all pretty much use the same state script to make them properly have the same rotation and behavior. By using a script I don’t have to copy the same huge chunk of code and possibly risk human error.

Scripts are simply a means of giving you power to organize your code and create your own functions for doing stuff like position checks or A.I. behaviors, etc.

Frog Hop had a gigantic (and terrible) script that checks whenever you collide with an enemy and then goes through a list to find the one you specifically collided with to check for things like their attacks, if they’re protected, special status etc.

Frog Hop gameplay footage.

Frog Hop gameplay footage.

In terms of A.I…

A lot of my games like Frog Hop just have the A.I. utilize timers to change their sprite and attack timings, sometimes they have collision rectangles if you’re in range of an attack. Things like running into a wall also have to be checked for turning around, especially depending on the animation (because if you had an enemy turn around when touching a wall, you’d have to turn it off depending on their animation such as an attack (otherwise they’d flip back and forth while attacking).

The A.I. in Nameless get a bit more complicated with using path-finding from the A* Algorith (A Star). I’d have to check if they have vision of you and if they don’t, they rely solely on the A* pathfinding to navigate to where they last saw you/where they heard a gunshot. I’d say the A.I. in this game was a bit more complicated than Frog Hop. Since there was a lot more to check in terms of going into certain states and exceptions when stunned or hurt. Actually, probably the most difficult part with coding this A.I. was actually their dimensions, since most top down games have characters with even dimensions vs having tall sprites.

nameless AI

Now if you want to marvel at complex A.I., take a look at none-other-than Franchise WarsProgrammer, Austin Huebner did an excellent job on the A.I. when it path finds it’s way through the map and check for things like properly positioning itself to attack. (The example below does not demonstrate it but uh….yeah)

Franchise Wars

I can’t really remember too much about the Tic-Tac-Toe AI other than that depending on certain circumstances it picks a random spot sometimes to at least simulate human error, otherwise if it knows it can score the last point it will go for it. So basically it’s designed to be extremely smart and make the best move, but randomness is also applied and will sometimes make a dumb move (if it’s not a winning/blocking move).

Tic Tac Toe can only go so far with A.I. behavior (which is probably why the tutorial wanted to teach it through this game type). Since really if you wanted to make the A.I. super easy, you’d just make them make really stupid moves that don’t block, don’t line up or give them a chance at score (or just make them purely random). And to do impossible difficulty you just remove the randomness.

enjoy,

-Brandon

www.tinywarriorgames.com

Youtube

Twitter

Discord

2 Player Action Tank Shooter!!!

Old Game Maker’s Apprentice Games – Tanks (2P)

Hi guys, just a quick reminder that tomorrow this saturday August 10th at 3PM (CT) I will be doing a celebration livestream for Ato, it will be fairly short, so come join and hang out if you can!

Stream Link: https://www.twitch.tv/wolfwhat


 

Hey gang, Bobert here. This is the next episode of OGMAG…

Continuing on I’ll show off another old tutorial game from Game Maker’s Apprentice.

TANKS (2P Edition)

2 Player Action Tank Shooter!!!

2 Player Action Tank Shooter

Download (windows exe)

Tanks features 2 Player split screen gameplay, where two humans would duke it out locally featuring different guns and stuff.

Game Maker’s Apprentice would teach me about the quirky Game Maker 8.1’s view system. Basically, view’s are like the “camera” and you adjust how much space you want it to look at. Once you figured out your view, you would then have to use the view’s Port to properly display that “footage” onto the screen. By manipulating both, you can have split screen gameplay, as well as a really ugly really awesome mini-map.

(So basically, view 1 is following player 1, view 2 is following player 2, and view 3 covers the entire room.

Then you just have view 1 ported to the left, view 2 to the right, and view 3 shrunk into the bottom center of the window)

It’s funny that GMA would teach me about a tank shooter, especially since years ago before this was made I had tried to make a much older predecessor to this one.

Yeah, the older tanks game (which I unfortunately do not have the files of)

I might as well leave this old tune my brother made for the older tanks game.

Game features

2 Player Local Ranked Competitive Action Metroidvania Battleroyale MOBA Roguelike darksouls Indievania Hero Team Skill Based Arena Gameplay

4 Unique Power-ups (Shield, Missile, Bounce Shot and Repair)

2 Players

2 Tanks

3 Screens

1 Winner

Player 1 (green tank)

WASD – move

F – Shoot

C – Item

Player 2 (crimson tank)

Arrow Keys – Move

L – Shoot

K – Item

Esc – exit game

Download (windows exe)

It does not contain viruses, it was made in Game Maker 8.1. (WAS made, could’ve been make now with better HD unreal 2k19 software with 500+ employees but nope, I was too stupid to be retarted and used what was available at the time)

enjoy,

-Brandon

www.tinywarriorgames.com

Youtube

Twitter

Discord

Old Game Maker’s Apprentice Games – Fly

Howdy folks, it’s you’re best friend, robert.

Today’s old game maker apprentice game is none other than fly.

FLY

"Fly", was the first arcade shoot-em-up tutorial game I made based on Game Maker's Apprentice tutorials.

“Fly”, was the first arcade shoot-em-up tutorial game I made based on Game Maker’s Apprentice tutorials.

Game Maker’s Apprentice taught me to make a Classic shoot-em-up game. Keep in mind, that GMA taught even someone like me, who had no experience with game maker or programming to make a game like this. Of course, I’m not asking for you to be wowed by this game, but just to keep in mind how you can learn to make games even if you don’t think you can.

The game utilized the timeline feature in Game Maker 8.1, basically you would set the length of the timeline, and then could plug in a number within that timeline to do something, like create an enemy. I would spawn the enemies in various formations and directions and boom, enemy spawning was done.

What is kind of funny to me is how this game in a way was the predecessor to Drone Strike (a more recent Shoot-em-up I made a while ago).

Drone Strike is the more recent shoot-em-up game I made.

Drone Strike is the more recent shoot-em-up game I made. It features more mechanics like a charge shot and deflection-evade ability.

Timed spawning in “shmup” games is tricky, since iterating and making adjustments can be a real pain since I didn’t have any tools for real-time testing. Basically, when a change was needed, it involved having to constantly close the game, change all the values, then re-run and test again.

Drone strike doesn’t use the timeline feature, instead I made a script and would manually plug in code to spawn enemies. In a way, I did base Drone Strike’s spawning system off of Fly‘s timeline system from 8.1. If I ever did do a sequel to Drone Strike (which would be pretty cool, but unlikely), I would probably look into finding a way to design the levels in real-time (while the game is running) instead of having to re-run and wait around for the game to load my changes.

(sound of people snoozing)

Uh, anyways feel free to try out “FLY” below:

Download (windows exe)

Arrow Keys – Move

Z – shoot

Esc – exit game

It does not contain viruses, it was made in Game Maker 8.1.

There’s only 1 level.

The music is from call of duty: modern warfare 2…

Okay not funny, the tunes are from vectorman and phoenix wright.

enjoy,

-Brandon

www.tinywarriorgames.com

Youtube

Twitter

Discord

Old Game Maker’s Apprentice Games – Epic Escape

“Sup Xiaolin Losers”

Today I’ll be going over another old gem I made years ago when I followed the Game Maker’s Apprentice book.

EPIC ESCAPE

Control the yellow boy(s) as you encounter unique obstacles and puzzles. Each room has a unique layout and engages you with its own unique style and personality.

Escape the dank dungeon. 420 blaze it.

Escape the dank dungeon. 420 blaze it.

In Epic Escape, your goal is to stay stuck in the prison and never leave. You are supposed to wallow in your own self pity, forever doubting your own capabilities as you scroll through social media and see people who appear to live a happier and better life than you.

…Also there’s this person who does exactly what you do but they’re younger than you, more skilled and more successful than you.

IN SPITE OF THAT, you are given the emotionally heart wrenching choice to either escape the prison of doubt or stay stuck in the prison, never experiencing further pain, disappointment and sorrow, but also never uncovering greater truths about yourself.

(this is all based on a true story)

(alright I made this really freaking awkward and cringey)

…ANYWAYS

It’s a fun puzzle game that has some amazing songs not made by me. I won’t even tell you what songs are because keeping it a secret will add to the deep lore that will make me more popular-… (loses several subscribers)…

…nevermind.

Download (windows exe)

IMPORTANT: You will have to hit escape when you run it the first time and THEN click START.

Arrow Keys – Move

S – save game?

R / K – reset

It does not contain viruses, it was made in Game Maker 8.1.

There are 16 levels and an emotional cutscene at the end.

enjoy,

-Brandon

www.tinywarriorgames.com

Youtube

Twitter

Discord

Old Game Maker’s Apprentice Games – Reflecto Ball

Itsa me, Brandon. Let’s continue on with the next old game maker Apprentice game I had made.

Reflecto Ball

Destroy the spheres, the blocks are simply just obstacles.

Unlike the typical Breakout formula, Instead of being obsessive and committing genocide to every single block on the map, you just have to destroy the glowing spheres to win.

Something to note is that when I was following the tutorials of Game Maker’s Apprentice, I really wanted to feel some ownership with the games that were made. Obviously the base code and functions are based on the tutorial’s instructions, but I still wanted to create my own art assets, levels, music and sound effects. If you’re wanting your make own art assets instead of the tutorial ones and you are using different dimensions you’ll have to pay close attention to things like positions of origin points (the center point of a sprite) or why they have collisions occur at certain part of an object. If you want to be faster about it, just stick to the same sprite dimensions that the tutorial is using.

Download (windows exe)

Mouse – move paddle

S – save game?

It does not contain viruses, it was made in Game Maker 8.1.

There are 5 levels total, I can’t imagine adding any more to this ReAlLy ExCiTiNg and HyPe game

Unused Music Files

I spent some time looking through all my music files and found these ones that were going to go into this game. They were made in 2013. I suppose you can just…loop these while you’re playing?

Story

Long ago in a universe far far away…

A space vessel contained the last remnant of humanity. While Humanity in and of itself is still alive and safe, much of its past historical data has been lost. You are one of the workers of the science crew that are trying to restore the historical data. A genius scientist found that the only way to motivate his workers to help restore the data was to have them play Breakout Reflecto Ball, a machine designed to streamline the process of historical restoration. But as you perform these tasks, political events and other groups within the space vessel have other plans to intrude with the restoration process. CAN ANYONE BE TRUSTED ON THE SPACE VESSEL????…

??????????????????

…???????????

enjoy,

-Brandon

www.tinywarriorgames.com

Youtube

Twitter

Facebook

Twitch

Discord

Old Game Maker’s Apprentice Games – Blocks

Sup gangsters, Brandon here. It has been a while since I did an old game maker game post, so here we are.

Block Game

Before Tetris, there was Block Game. In Block Game you move Purple Guy (Who has an uncanny resemblance to Doom Guy) and try to get to the red button. The boxes will try to crush you but you can manipulate them so they stack up like a staircase to reach higher areas. Be aware too that the blocks that fall from the sky are made of different materials, meaning different crushing properties to other blocks! Unfortunately the game kind of can’t be beaten cause I was too young to be a real boy. Oh well.

Download (windows exe)

Left/Right – Move

F1 – “Help”

F5 – Quick Save

F6 – Quick Load

F10 – Pause

Again there are no viruses, it was made in Game Maker 8.1.

STORY

Long ago there were many spherical creatures like Purple Guy. But then one day disaster struck and one spherical being decided they had enough with being spherical, so they searched far and wide for the power inside and found the dark box (much like normal box but slower and does more damage). With the Dark Box they casted a spell that nearly wiped out all of the spherical beings, turning them all into inanimate blocks. Soon after the Spherical One being was disappointed that it didn’t destroy Purple Guy, So now he’s on a rampage trying to murder you. But the catch, if you reach the end, you will save sphere kind, but it turns out that there is also box kind as well. Saving sphere kind would result in destroying all of box kind. Prepare to cry edition.

-Brandon

www.tinywarriorgames.com

Youtube

Twitter

Facebook

Twitch

Discord