Parodius on Game Maker (Started from scratch)

A place for people with an interest in developing new shmups.
User avatar
IndyGo
Posts: 30
Joined: Wed Jun 13, 2012 3:59 pm

Parodius on Game Maker (Started from scratch)

Post by IndyGo »

I wanted to learn to make a Gradius/Parodius-style game with Game Maker (Using GML and not Drag 'n' Drop), so I picked it up some days ago. But I've been having problems on where to start and where to learn the GML reguired to make this kind of a game.

I went to look for an engine for this kind of a game found this excellent engine emulating Gradius III. But when I looked through it in Game Maker, I found it using so much complex GML and all. I dunno how to even where to start to learn and what I need to learn before I can use this engine well enough to make my own Parodius-style games with it. (Gradius-like games, but more sillier and cutified, with borrowed weapon sets from other SHMUPS or even other types of games)

One of my ideas for my Parodius-games was to take many sorts of iconic videogame characters and translate them to Gradius-style gameplay, let's say like, Mario flying on his Sky Pop from Super Mario Land while using his fireballs as missiles and so on, like in this video. So I'd really wish to find someone who can teach to make a Gradius-game with Game Maker! I'm just confused because I don't know how all of these tutorials on GML can contribute to the game engine or making the game itself. I'll be very grateful and eager to find someone help me get started! (-lvl-)^
Last edited by IndyGo on Fri Mar 28, 2014 9:30 pm, edited 1 time in total.
User avatar
Rozyrg
Posts: 918
Joined: Wed Feb 11, 2009 12:03 am
Location: Southeast USA

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by Rozyrg »

As clumsy as it might be, DnD is still very useful for learning the basics in GM. Don't try to walk before you can crawl. ;) Once I had a grasp on those, all it took was learning a few things with scripts (from some helpful folks here, actually) before I was doing just about everything in GML. Just gotta be patient, really. Half the fun of this is solving all the problems along the way.

Also, I can say from personal experience that trying to dissect someone else's code is hard enough even when you know what you're doing, much less when you're still learning the basics. :lol: You can probably find some more novice-friendly 'engines' that might step you through the process; but I doubt something that specialized would be.
User avatar
IndyGo
Posts: 30
Joined: Wed Jun 13, 2012 3:59 pm

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by IndyGo »

Rozyrg wrote: Also, I can say from personal experience that trying to dissect someone else's code is hard enough even when you know what you're doing, much less when you're still learning the basics. :lol: You can probably find some more novice-friendly 'engines' that might step you through the process; but I doubt something that specialized would be.
Hmm, should I then do this kind of an engine from scratch myself? Seems like so, because I can't find any Gradius-engines for novice people.
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by BPzeBanshee »

Yeah I'm with Rozyrg on this one. Even GMOSSE would probably make your head explode right now so to get a hang of GM you might want to start coming up with something yourself until you're a bit more confident with the use of Game Maker and its functions.

Remember that because Gradius is a scrolling shooter albeit horizontal the logic behind scrolling shooters of any orientation will be useful for you too. Moving the player, creating enemies, stuff like that.

Personally I was doing D&D stuff first and then doing a mixture, and once I got a grasp of how GM works I mixed in GML a bit and now I'm doing literally everything in GML (and pulling o_O faces at Aero Flux which still has some D&D stuff in it from its early days).

Bottom line: start simple, perfect that, and don't bite off more than you can chew. Are you at least able to make maze games? The official GM tutorials for those cover object movement, enemies and score, and that's already halfway there towards the context you're looking for - indeed I started off the same way.
User avatar
Rozyrg
Posts: 918
Joined: Wed Feb 11, 2009 12:03 am
Location: Southeast USA

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by Rozyrg »

Maybe it seems too obvious; but GM's default scrolling shooter tutorial is actually a good place to start. Granted, following it perfectly produces a game that is staggeringly awful; but my theory is that it's like that partly to make you want to 'fix' it and inject your own ideas as you go. :lol: That's how my first project was born.
User avatar
pieterator
Posts: 47
Joined: Sun May 30, 2010 4:13 pm

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by pieterator »

Rozyrg and BPzeBanshee gave some good advice, you'd do well to follow it. At some stage we all sat down in front of Game Maker for the first time and thought: "Where do I start?". And the most common answer is: Look at tutorials, look at the help file, and most importantly, have fun messing around with it. Also, don't be afraid to ask if you have questions. There are many talented individuals on these forums, and if you are patient with them, I'm sure they'd be willing to help you with any question you might have.

As a start, try the following:
1.) Read or scan through the "Using GameMaker" section in the help file.
2.) For your first game, get a square block to move up, down, left and right on the screen.
3.) Get it to shoot a square (or bullet if you will) when you press spacebar.
4.) Make a square enemy that gets destroyed when a bullet hits it.

Congratulation, you've created your first shooter. Now all you have to do is break out some elbow grease, and polish that gem until it shines. :D And if you think I'm trying to be funny, I swear to you, that is how Aero Flux got started. Below is one of the very first screenshots I ever took. I warn you, it's not pretty.

First Aero Flux Screenshot

Just take it one step at a time, and when you get frustrated, ask :D

Oh, and BPzeBanshee, when you see D&D stuff in Aero Flux you are looking at code that is 4-6 years old. I expect you to salute them, and then give them a proper GML burial :mrgreen:
Last edited by pieterator on Mon Jul 02, 2012 4:42 am, edited 1 time in total.
More of my art available at DeviantART.
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by BPzeBanshee »

Oh, and BPzeBanshee, when you see D&D stuff in Aero Flux you are looking at code that is 4-6 years old. I expect you to salute them, and then give them a proper GML burial
Will do. I kind of figured after some time that the code is a legacy from some real old days anyway. It just seemed odd to me initially because there was some areas that made me think "Wow, a real genius, why didn't I think of that?" and other spots that were "WTF Why is this here?".

I may have made that above sound terrible but actually it's a testament to how far you can go with a base where things just *work*. It's not as easy to spot but even GMOSSE still has some areas that aren't D&D per say but are plain obvious they were from a long time ago or made with GMLBuddy. MK-VII's going to be quite an overhaul of existing code and moving further towards having well-structured object/folder design along with placement of core stuff in scripts to make things easier to edit and locate.

Speaking of GMLBuddy, that's an excellent tool once you get the hang of D&D and want to switch, it's been invaluable for me and countless others.
User avatar
IndyGo
Posts: 30
Joined: Wed Jun 13, 2012 3:59 pm

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by IndyGo »

Thanks for sharing all this, I guess I'll try to learn stuff from the groundup first and then move on to more advanced style later on when I've perfected it. I'll come back to showcase my work sometime.

And thanks for telling me about GML Buddy? Though I wonder, is using it still the same as doing using the write GML or is it maybe limited too to some extent like some aspects of D'n'D?
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by BPzeBanshee »

All that GMLBuddy does is show you what the GML equivalent of all of the D&D functions are in a neat GUI window. So you'd do your D&D stuff like you would in GM and then it will spit out GML code. Very handy.
User avatar
Drum
Banned User
Posts: 2116
Joined: Sun Feb 07, 2010 4:01 pm

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by Drum »

There's a good tut by Derek Yu over on tigsource that teaches GM ... by making a scrolling shooter. He advises *against* using D&D, but I don't know ... some people are wired differently. Personally, I will never be a coder. I just don't have it in me.

http://forums.tigsource.com/index.php?topic=3251.0
IGMO - Poorly emulated, never beaten.

Hi-score thread: http://shmups.system11.org/viewtopic.php?f=2&t=34327
User avatar
Rozyrg
Posts: 918
Joined: Wed Feb 11, 2009 12:03 am
Location: Southeast USA

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by Rozyrg »

Yeah, I was kinda one of those people, too. Back when I first picked up GM, writing code just seemed so scary. I never would've pictured myself mastering it to any degree, much less doing it on a regular basis.

DnD at least teaches you the basic logic behind it all, how the separate components of a game fit together and such in a manner relatively friendly to the code-phobic. It can end up being a crutch to some extent, sure; but it's also clunky enough to make you want to never go back one you've had a taste of GML.
User avatar
IndyGo
Posts: 30
Joined: Wed Jun 13, 2012 3:59 pm

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by IndyGo »

One thing though what I kinda fear using D'n'D is that I'm not able to emulate the Gradius III-style gameplay like that engine I showed above did by doing it all in D'n'D. I just found this clunky and pretty sucky Gradius-engine done wholly in D'n'D which kind of made me go more away from using D'n'D for doing my game concept. (-l´l-)

Here's that engine: http://sandbox.yoyogames.com/games/29037
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by BPzeBanshee »

The key thing to remember IndyGo is that when you go and look at these other engines you'll find they all do things differently. I gotta say, after looking at the last one you showed before it actually did look terribly laid out and while it was certainly achieving the end result probably wasn't all that user-friendly to look at.

I tell you what, if you can, show us exactly how much you know and just whip up something. Anything. Like a maze game or drawing random crap on the screen with GML, or use a bit of both. The general advice here from us is to start small and build up to *eventually* making a Gradius-like game, not necessarily go straight to trying it and biting off more than you can chew.

Maybe even ignore what I said about GMOSSE before and take a look at the current version here if its examples you're looking for (and forgive my self-promotion): http://www.mediafire.com/?vnzdo901co86iyq

I think you'll find that it still might be a bit more than what you can chew right now, but at least it's commented and mostly uses the proper layout - so you'll be able to get some idea of how to do stuff like moving objects and drawing text on the screen. It is a vert, but you want to learn GML first before you learn Gradius and GMOSSE has a lot of that and it's transferrable.
Everything is named according to how Mark Overmars did it in his tutorials (so the main controller object is 'obj_maincontrol' for example) and is placed in structured folders. Note that it's just *one* way to layout a game even though I may think it's an ideal setup - I've seen source code stuff for a lot of GM projects here and none of them are the same, although there have been drawn similarities between GMOSSE and Xeno Fighters R.
User avatar
IndyGo
Posts: 30
Joined: Wed Jun 13, 2012 3:59 pm

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by IndyGo »

BPzeBanshee wrote:The key thing to remember IndyGo is that when you go and look at these other engines you'll find they all do things differently. I gotta say, after looking at the last one you showed before it actually did look terribly laid out and while it was certainly achieving the end result probably wasn't all that user-friendly to look at.

I tell you what, if you can, show us exactly how much you know and just whip up something. Anything. Like a maze game or drawing random crap on the screen with GML, or use a bit of both. The general advice here from us is to start small and build up to *eventually* making a Gradius-like game, not necessarily go straight to trying it and biting off more than you can chew.
Well, I did something like this for now (followed that tutorial above of course, but on the other hand I tried to tweak some things for my preference like using parent objects)

- http://www.mediafire.com/?px8b5sl5f37kds0

- Engine: http://www.mediafire.com/download.php?qaeoreb1zqo0or2

So far I made:

- Player ship (Mario inside Sky Pop) (Shoots 1 bullet)

- One enemy (dies if shot, made a parent object for it to serve for similar enemies dying like that.

- The scrolling of the stage

- Collisions detections and the walls.


Now I just try to learn how to change the bullet fire delay to make it shoot 2 bullets at time and maybe learn to make enemy A.I too.

But anyway, I understood that I better start from the groundup and learn how to do things before or while building my game. (-l.l-)
Maybe even ignore what I said about GMOSSE before and take a look at the current version here if its examples you're looking for (and forgive my self-promotion): http://www.mediafire.com/?vnzdo901co86iyq

I think you'll find that it still might be a bit more than what you can chew right now, but at least it's commented and mostly uses the proper layout - so you'll be able to get some idea of how to do stuff like moving objects and drawing text on the screen. It is a vert, but you want to learn GML first before you learn Gradius and GMOSSE has a lot of that and it's transferrable.
Everything is named according to how Mark Overmars did it in his tutorials (so the main controller object is 'obj_maincontrol' for example) and is placed in structured folders. Note that it's just *one* way to layout a game even though I may think it's an ideal setup - I've seen source code stuff for a lot of GM projects here and none of them are the same, although there have been drawn similarities between GMOSSE and Xeno Fighters R.
I'll check that engine out to see if I can try taking some notes from there. (-lvl-);; But thanks for sharing.

EDIT: One thing I just noticed is that many of these kinds of games use a lot of scripts. Is it recommended to learn to use them?
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by BPzeBanshee »

It's definitely going to be helpful to use them indeed. In fact, my pondering into bullet scripts and how they worked actually started GMOSSE in the first place. They can be incredibly complex but also handy for simple uses where you might want to use the same bit of code multiple times without having to write it again or copy-paste each time. http://shmups.system11.org/viewtopic.php?f=9&t=34142

I had a look at the source code. Placing invisible collision objects to make it look like the background is actually collidable - nice idea there! I never thought of that.

A few miscellaneous tips and good habits to get into: Parent objects are also very helpful and you seem to have gotten the idea behind that already. Note that 'other' generally refers to the second of two objects and isn't needed for a parent though so your object4's code should just use x,y instead of other.x,other.y in the explosion creation part, and the 'image_speed = 3' bit at the explosion object's Animation End event isn't doing anything - place it in Create and probably set it to 0.3 instead. Also use decimal points only when actually using decimals, I've heard that GM sometimes does weird things with numbers depending on how they're formatted (like weirdness with extremely high numbers).

I also noticed you're deactivating the entire room outside the window view and renabling what ends up within in each step. I'd normally just deactivate the whole room in Room Creation like this:

Code: Select all

instance_deactivate_all(true);
instance_activate_region(0,0,view_wview[0],view_hview[0],true);
This will do the same thing (as anything deactivated will stay that way until activated) and improve performance as there's less activation-related stuff on each step. Normally I wouldn't be too concerned about performance as you're just learning, but again it's a good habit to get into considering you're using 'advanced' stuff already. I changed one line in the example myself thinking that'd do the same thing and broke it, so it's pretty easy to make one small mistake with that kind of stuff. :P
For enemies that go past the screen to the left, just do something like:

Code: Select all

// step event
if y < view_xview[0]-sprite_width then instance_destroy();
Seems like you're getting a hang of GML pretty quickly. :D
User avatar
IndyGo
Posts: 30
Joined: Wed Jun 13, 2012 3:59 pm

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by IndyGo »

Thanks a lot for reviewing through! I gotta tell ya though, I just mostly followed that tutorial and what it showed (Drum posted it above, it's that scrolling shooter tutorial by Derek) but I tried to do some tweaks at some parts. But some tips you gave are something tad new I never heard of.


BPzeBanshee wrote:
I also noticed you're deactivating the entire room outside the window view and renabling what ends up within in each step. I'd normally just deactivate the whole room in Room Creation like this:

Code: Select all

instance_deactivate_all(true);
instance_activate_region(0,0,view_wview[0],view_hview[0],true);
I tried to apply this but for some reason it inactivates up the right view of the room too- it makes the bullets and the character disappear at this point where I touch it. / I tried to fix it a bit and I think it works now/
Also, I put that step event-code you pasted at the object 4's step event and it's causing this problem... aside from that code destroying enemies on the left, it seems like if the enemies awaiting in the right outside of the view gets destroyed too which destroys a lot of the enemies in the screen. Also if an enemy leaves the screen at the left, it also destroys the other enemies.
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by BPzeBanshee »

I probably should've been more specific but in the Step event of the scroller object you probably only want the second line of that, the one where it reactivates. I'll take a look at it again today and maybe come up with a working example with just some comments and that. :)
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by BPzeBanshee »

Hi there,

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

I did some alterations and a lot of commenting on the gmk you provided and reupped it for you to make use of and a few 'radical' changes. I didn't notice any of the issues above but encountered a few of my own. Let me know if it doesn't behave flawlessly. :)
User avatar
Giest118
Posts: 1042
Joined: Wed May 02, 2012 1:50 am

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by Giest118 »

I may be utterly alone in this, but I find GML to be kind of overrated unless you're specifically doing something that can't be done without it. Although that is admittedly a lot of things.

Most of Trigonometry Wars 4 was done with drag and drop, with the following exceptions:

* Pausing
* Saving (high scores)
* Configurable controls
* Music playing

... So, yeah.

Not that using GML is bad (in fact, it will make your game's code look far cleaner) but I don't feel like it needs to be a standard to ONLY use it.
User avatar
Rozyrg
Posts: 918
Joined: Wed Feb 11, 2009 12:03 am
Location: Southeast USA

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by Rozyrg »

I dunno man, once I figured out how to do anything with code, I was more than happy to tell all those tiny icons to go f*ck right off. Just thinking about navigating the convoluted web of brackets and 'set variable' blocks in my earlier projects gives me a massive headache.

Like anything else, though, it's all about finding that bridge between what you already know and what you're trying to learn. If DnD does all you need it to, great; but you could also be rid of a handful of (potential) frustrations by experimenting with GML, too. ;) Thankfully they do co-exist just fine in uneven portions, though.
User avatar
IndyGo
Posts: 30
Joined: Wed Jun 13, 2012 3:59 pm

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by IndyGo »

BPzeBanshee wrote:Hi there,

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

I did some alterations and a lot of commenting on the gmk you provided and reupped it for you to make use of and a few 'radical' changes. I didn't notice any of the issues above but encountered a few of my own. Let me know if it doesn't behave flawlessly. :)
Whaat, how come I missed this?? Sorry if I didn't get to this quick.

This is quite good indeed,very helpful and setted many kinds of standards on some things I wanted to learn. I think I can try tweaking things from here on.

Anyway, gotta say, this is very, VERY helpful. Thanks for all the advices in this!
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by BPzeBanshee »

No worries! Glad we could help you out.

Let us know when you get something of an ideal game going. :)
User avatar
tiaoferreira
Posts: 252
Joined: Fri Aug 21, 2009 9:29 pm
Contact:

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by tiaoferreira »

Search on GOOGLE by "gradius options", a tutorial by CRIS SPIEGEL.
User avatar
IndyGo
Posts: 30
Joined: Wed Jun 13, 2012 3:59 pm

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by IndyGo »

tiaoferreira wrote:Search on GOOGLE by "gradius options", a tutorial by CRIS SPIEGEL.
Hey, thanks for telling me about that! I'll check that out.

EDIT: Can't seem to find it actually. (-l^l-); I guess it's gone from the internet...
Last edited by IndyGo on Sun Jul 15, 2012 11:18 am, edited 1 time in total.
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Wanting to learn how to make a Gradius-game with Game Maker

Post by BPzeBanshee »

There's a Shmup snake demo here on the forums, and GMOSSE has had gradius-style options (one of Busterhawk's options) for a while now. Probably use the same method: queues.

It was a headache for me to learn but maybe the tutorial might be helpful.
User avatar
tiaoferreira
Posts: 252
Joined: Fri Aug 21, 2009 9:29 pm
Contact:

Re: Wanting to learn how to make a Gradius-game with Game Ma

Post by tiaoferreira »

Hi, friends! As I mentioned, here are the CRIS SPIEGEL's tutorials.


O QUE É "BULLET HELL"? (WHAT IS BULLET HELL?)
http://www.youtube.com/watch?feature=pl ... Z5t2UvzhU0
English subtitles available

BULLET HELL TUTORIAL
http://www.4shared.com/zip/ZGtkiqrX/_2_ ... al_bu.html

GRADIUS OPTIONS
http://www.4shared.com/rar/prsGuZwK/Cri ... s_GM7.html

CRIAÇÃO DE JOGOS DE NAVE (SHMUP GAMES CREATION)
http://www.4shared.com/get/hTkaEd8R/Tut ... _nave.html

Note: I believe these tutorials were built in GM7.

http://coffeejoerx.blogspot.com.br/2009 ... -cris.html

Enjoy.
User avatar
IndyGo
Posts: 30
Joined: Wed Jun 13, 2012 3:59 pm

Re: Wanting to learn how to make a Gradius-game with Game Ma

Post by IndyGo »

I checked the tutorials but most of them all portuquese. I'd have loved to read that long one because it has lots of info but can't get idea what it says... (-l´l-)
User avatar
tiaoferreira
Posts: 252
Joined: Fri Aug 21, 2009 9:29 pm
Contact:

Re: Wanting to learn how to make a Gradius-game with Game Ma

Post by tiaoferreira »

AHHAAHHA! Is this the unique problem? Use GOOGLE TRANSLATOR (or lean portuguese, the 1st option is more easy), man!

I'm sure you will not regret!
User avatar
IndyGo
Posts: 30
Joined: Wed Jun 13, 2012 3:59 pm

Re: Wanting to learn how to make a Gradius-game with Game Ma

Post by IndyGo »

Hey guys! Back after pretty long time, ain't it?

So I've been getting back to Game Maker again but this time decided to learn the basic the real way (by doing the SHMUP tutorial and using DnD.) Then I'll try to start all over with my whole project (by doing an engine of my own)

Anyway I hope I can still ask help from here still. Because I feel bad now for just impatiently jump into things. (-l~l-);
User avatar
n0rtygames
Posts: 1001
Joined: Thu Mar 15, 2012 11:46 pm
Contact:

Re: Wanting to learn how to make a Gradius-game with Game Ma

Post by n0rtygames »

IndyGo wrote:Hey guys! Back after pretty long time, ain't it?

So I've been getting back to Game Maker again but this time decided to learn the basic the real way (by doing the SHMUP tutorial and using DnD.) Then I'll try to start all over with my whole project (by doing an engine of my own)

Anyway I hope I can still ask help from here still. Because I feel bad now for just impatiently jump into things. (-l~l-);
Welcome back and good luck with your shmup!

Don't feel bad about asking for help, people will give it. Projects like these are learning experiences. They can take you anywhere from 5 minutes, to 5 years - so having a break once in a while is absolutely fine.

The only thing I would say is if you're going to commit to doing it - set yourself periods where you do nothing but productive stuff and then take breaks at the end of those periods so you don't burn out. 75% work, 25% play while you start out..:-)

You'll get there!
facebook: Facebook
Post Reply