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

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

Post by IndyGo »

n0rtygames wrote:
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!
Thanks! You know, I've been thinking about how I'd make my shmup stand out aside from being somewhat of an emulation of Gradius's best.

Some ideas I had:

- A traditional horizontal SHMUP game with branching paths leading to new stages ala Darius and/or Sexy Parodius

- A score-based time attack game.

- A pseudo-combination of a SHMUP and platformer where the character would get into a dog-fight while traversing into the actual stage which will be platformer-based. (I guess reminiscent of Starfox Assault and Kid Icarus Uprising).
User avatar
railslave
Posts: 505
Joined: Fri Oct 26, 2012 8:38 pm
Location: Abertillery , South Wales

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

Post by railslave »

IndyGo wrote:
n0rtygames wrote:
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!
Thanks! You know, I've been thinking about how I'd make my shmup stand out aside from being somewhat of an emulation of Gradius's best.

Some ideas I had:

- A traditional horizontal SHMUP game with branching paths leading to new stages ala Darius and/or Sexy Parodius

- A score-based time attack game.

- A pseudo-combination of a SHMUP and platformer where the character would get into a dog-fight while traversing into the actual stage which will be platformer-based. (I guess reminiscent of Starfox Assault and Kid Icarus Uprising).

Ever thought about using contruct 2 or contruct classic ? they are realy easy to use and powerful. https://www.scirra.com/

If your getting on ok with gamemaker though i wouldnt confuse your self. But, if you can, learn both, your understanding of game logic will benefit.
"When I get my hands on some money
I'll kiss it's green skin
And I'll ask it's dirty face
"Where the hell have you been?" - Michael Gira (Swans)
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 dunno about Contruct, Game Maker's been out there much longer and I personally think I can do things more easier on that.

One question from all of you, where did you all start from when you were done with trying to learn how to use Game Maker (by tutorials and so on?). Because I dunno where to start myself after getting done with the tutorials. (-l^l-);
User avatar
nasty_wolverine
Posts: 1371
Joined: Sun Oct 09, 2011 11:44 pm

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

Post by nasty_wolverine »

IndyGo wrote:I dunno about Contruct, Game Maker's been out there much longer and I personally think I can do things more easier on that.

One question from all of you, where did you all start from when you were done with trying to learn how to use Game Maker (by tutorials and so on?). Because I dunno where to start myself after getting done with the tutorials. (-l^l-);
look in the development section for GMOSSE...
Elysian Door - Naraka (my WIP PC STG) in development hell for the moment
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 »

nasty_wolverine wrote:
IndyGo wrote:I dunno about Contruct, Game Maker's been out there much longer and I personally think I can do things more easier on that.

One question from all of you, where did you all start from when you were done with trying to learn how to use Game Maker (by tutorials and so on?). Because I dunno where to start myself after getting done with the tutorials. (-l^l-);
look in the development section for GMOSSE...
Got that now and while it also has some stuff I can't access well yet, I think I'm gonna take things from there.

Anyway I made a simple starting file what I call "Paroengine". Ported some of the things from the last attempts of mine (with Banshee's fixed coding) and tried to revision stuff meanwhile doing so. I'm now more familiar with the functions of the GM thanks to DnD but I find GML's codes easier to handle around.


Link -> http://www.mediafire.com/?2h3p5ba4lx85vna
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:One question from all of you, where did you all start from when you were done with trying to learn how to use Game Maker (by tutorials and so on?). Because I dunno where to start myself after getting done with the tutorials. (-l^l-);
Forget Game Maker specifically. Google is your friend for developing anything - so long as you have the willingness and capacity to learn.

Stage 1
Do you have a full game flow in place? Do you have 4-5 levels that are practically empty, but flow in to the next level - flow to a results screen and then on completion of the final level, give the player the final results screen? When results screen is complete - does the player return to main menu or credits sequence? If credits sequence, does the player get returned to the main menu? If not, do this now. It's more important than you realise. It's not fun, but you have to do this.

Stage 2
Do you have logic in place for handling game over, if the player runs out of lives prematurely before the game is complete? Do you allow continues? If no, do this *now*.

Add a button that forces your ship to take damage to test this.

Stage 3
Congrats, you've now got the basic framework in place to actually start your shooter. Now make sure your player is firing bullets up the screen.

Stage 4
Give the player something to shoot at.

Stage 5
Make them shoot back...:)

Get yourself through those 5 hurdles and everything will become much easier for you.
facebook: Facebook
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 »

n0rtygames wrote:
IndyGo wrote:One question from all of you, where did you all start from when you were done with trying to learn how to use Game Maker (by tutorials and so on?). Because I dunno where to start myself after getting done with the tutorials. (-l^l-);
Forget Game Maker specifically. Google is your friend for developing anything - so long as you have the willingness and capacity to learn.

Stage 1
Do you have a full game flow in place? Do you have 4-5 levels that are practically empty, but flow in to the next level - flow to a results screen and then on completion of the final level, give the player the final results screen? When results screen is complete - does the player return to main menu or credits sequence? If credits sequence, does the player get returned to the main menu? If not, do this now. It's more important than you realise. It's not fun, but you have to do this.

Stage 2
Do you have logic in place for handling game over, if the player runs out of lives prematurely before the game is complete? Do you allow continues? If no, do this *now*.

Add a button that forces your ship to take damage to test this.

Stage 3
Congrats, you've now got the basic framework in place to actually start your shooter. Now make sure your player is firing bullets up the screen.

Stage 4
Give the player something to shoot at.

Stage 5
Make them shoot back...:)

Get yourself through those 5 hurdles and everything will become much easier for you.
Goshers, that's a lot to stomach down... I was just wanting to start on an engine which would have the Gradius-like gameplay ready but this sounds like I should already proceed to make a full game...

I guess I'll do all this, but just with 2 stages rather than 4-5. That's a lot though, really.
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 »

A sensible network architect once told me "Always build it to be scalable"

So whether you have 2 levels, or 5 levels -- that's irrelevant. It doesn't even matter if your levels are GOOD. They can be completely terrible with one popcorn enemy per level and that's it.

The most important thing is to get your game logic in place. If you wanted to do 100, 1000 or 1,000,000 levels - you should be able to change this by altering two variables.

Going with 2-3 levels is a nice start. Don't look at it as creating a full game, but rather creating a framework for you to create any sized game you like. :)
facebook: Facebook
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 Ma

Post by BPzeBanshee »

I see where n0rtygames is coming from: that's more or less been my focus for a long time there with GMOSSE (and also wasn't when I made my first GM project which is a crapola that blows up RAM cards).

The key part is getting the 'core' components downpat: you know what your game is going to be like (Gradius) so design the stuff ie. lives system, scrolling, all the stuff in obj_controller from that last build you had first, and build the 'game' within that. You may eventually want to move to GML though if it becomes too much of a clusterfuck to read, but then Giest118 seems to make effective games using hybrid code regardless so don't let that scare you off! :)
User avatar
nasty_wolverine
Posts: 1371
Joined: Sun Oct 09, 2011 11:44 pm

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

Post by nasty_wolverine »

If your trying to build an engine, then stop. You will end up endlessly adding features without getting to a complete game.

As Norty said, add features that you will need for a game and keep it as flexible as you can. Your base framework should be flexible to later accommodate any change. However only add things that are necessary for the game, nothing else. Thinking about that amazing super cool particle system? does it make the gameplay better?? Dont do it...

When you make your next game, if you were smart enough to keep things flexible, you ll be able to carry 70%-80% of the code across. your base framework, entity management, render and sound systems, some of the logic too.
A sensible network architect once told me "Always build it to be scalable"
This is a gem of a advice. What scalable means here for you is, you dont have to write code to handle every situation, but is your base code flexible enough that if a situation pops up, you can add code easily to handle it, without restructuring the entire code base.
Elysian Door - Naraka (my WIP PC STG) in development hell for the moment
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 »

Thanks for all the tips. I guess I'll try to make my build have a framework first.

BTW, what do you think of C++ or Visual Basic as game making programs? I've heard they're much harder but more flexible and not limited like Game Maker.
User avatar
nasty_wolverine
Posts: 1371
Joined: Sun Oct 09, 2011 11:44 pm

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

Post by nasty_wolverine »

IndyGo wrote:Thanks for all the tips. I guess I'll try to make my build have a framework first.

BTW, what do you think of C++ or Visual Basic as game making programs? I've heard they're much harder but more flexible and not limited like Game Maker.
dont even look at visual basic...
C# is much easier to pick up than C++, and you have the XNA/ANX libraries to help you out...
C++ is tough, learning it will take you a good amount of time, but the payoff in terms of flexibility, raw power and portability is more than the sink cost.
for C++ you libraries like SDL, SFML, allegro, or you can go down to metal with Dx or GL...

C/C++ is not for the faint hearted... C# is easier, but has got alot more going on than gamemaker...
So, if you dont want to spend 6 months learning a new language, then stick with gamemaker,
or if you need "MOAR POWAH" switch to C#/C++
Elysian Door - Naraka (my WIP PC STG) in development hell for the moment
Shmuppet
Posts: 63
Joined: Sun Jan 20, 2013 5:52 am

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

Post by Shmuppet »

I recommend Blitz. Preferably Blitzmax. Easy to develop in. Pretty powerful as well. I have useful source code folks could use too. :)

You need to learn how to develop a shmup FIRST. Then you can decide if using a low-level language is right for you(console dev, performance issues, higher portability to mobile platforms). If you just wanna develop a shmup for PC and maybe mac and/or linux, something like Game Maker or Blitz will do just that. If you try to do multiple things at once(build an engine, learn game development), you'll slow yourself down. I learned game development from RPG Maker/Zelda Classic which is pretty easy, then went to slightly lower-level development with Blitzmax and I'm pretty happy where I am.
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 »

That said, if you are set on C++ a new leadwerks framework has been released.

http://www.leadwerks.com/werkspace/page ... owbanner=0

I'm kinda eyeing it up going "hmm" a bit.

But that's as far as I've gotten. Can't vouch for it yet.
facebook: Facebook
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 »

Yo there!

So I've been getting this book called "Game Maker's Apprentice" and been trying to study around GM with it. Went pretty well so far, I understand now a lot of basic functions of the program.

I think I might be able to make the rooms ready and even some other simple things, but yeah.
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 »

https://www.dropbox.com/s/99lzamg57r227 ... engine.gmk

Here, bit updated stuff.

At the moment I'm going to now post some revision posts to keep track on what I added between 'em.

30.6.2013
- Added two rooms
- Added ending sequence
- Added the ability to shoot

Problems:
- How to make Awesome-face scroll towards the player instead of staying in the same place?
- Make it play sound when you reach him
- Why can't the player touch the left border behind him completely (as if there's some invisible wall)
- Player can slow down the scrolling speed by holding left-button when colliding with the left border of the screen (aforementioned "invisible border")


Anywat you guys can help me with these?
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 Ma

Post by BPzeBanshee »

I gave it a look today. Will answer as below:
IndyGo wrote:- How to make Awesome-face scroll towards the player instead of staying in the same place?
That's getting into GML-level stuff, but the most simplest way to get what you want without getting too complicated is to use move_towards_point and provide the player's x/y co-ordinates.
IndyGo wrote:- Make it play sound when you reach him
I'm not sure I understand. From what I downloaded that works already.
IndyGo wrote:- Why can't the player touch the left border behind him completely (as if there's some invisible wall)
You used the movement code I gave you ages ago but you didn't center your sprite. That'll fix it in the first room, and as for the second:
IndyGo wrote: - Player can slow down the scrolling speed by holding left-button when colliding with the left border of the screen (aforementioned "invisible border")
You seem to have the view set to center around your player which gives the weird effects you're seeing there. Switch it off and it's fine. Not really related to first problem at all although the first probably exacerbates it somewhat.
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 »

BPzeBanshee wrote:I gave it a look today. Will answer as below:
IndyGo wrote:- How to make Awesome-face scroll towards the player instead of staying in the same place?
That's getting into GML-level stuff, but the most simplest way to get what you want without getting too complicated is to use move_towards_point and provide the player's x/y co-ordinates.
Okayyy, thanks a lot for that. Though you could also provide GML-stuff because I'm trying to see how it translates to that as well and what sort of options there is if that is used.
IndyGo wrote:- Make it play sound when you reachhim
I'm not sure I understand. From what I downloaded that works already.
Well I meant more of that when it enters on the screen/view of the player, not when I touch him (sorry if I confused you there)
Okaayyy, thanks for all the advice tho!!
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 »

Decided to start from scratch once again on Game Maker Studio after trying to do this in E02-game engine.

Image

Anyway, I implemented out the usual movement and level boundaries. Now just wanting to know how to make level stop scrolling in the end of the room or in certain parts of the game. Do I need to make a controller object for all this?

I can provide the current project as standalone file for further examination

EDIT: Here.
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Parodius on Game Maker (Started from scratch)

Post by BPzeBanshee »

Controller object is most likely the best way to go. Have some kind of view_xview[0] check if it's over some amount and then not allow scrolling until another variable is cleared. :)
User avatar
IndyGo
Posts: 30
Joined: Wed Jun 13, 2012 3:59 pm

Re: Parodius on Game Maker (Started from scratch)

Post by IndyGo »

BPzeBanshee wrote:Controller object is most likely the best way to go. Have some kind of view_xview[0] check if it's over some amount and then not allow scrolling until another variable is cleared. :)
Alrighto, I found this code in YoYoGames-forums:

Code: Select all

if pos<room_width-128; // stop at this point
{
 // put the code here
}
 
 
if pos>=room_width-128
{
 // do other stuff
}
I think I was told to implement the view scrolling code to the first bracket:

Code: Select all

// view_xview[0] += 1; View_ X =  An array that stores all the x coordinates of all the views (view_yview[] for y).
                   // view_xview[0] = stores the x coordinate of View 0. (The default)
                   // + = 1 -> By adding this, each step makes the view scroll 1 pixel forward.
                   
                   
                   
pos += scroll_speed;
if floor(pos) != 0
    {
    if view_xview[0] < room_width-view_wview[0]
        {
        view_xview[0] += floor(pos);
        with o_daisy_flying {x += floor(pos)};
        }
    else
        {
        background_x[0] -= floor(pos); //background stuff is reverse of course
        }
    pos = 0;
    }
    

I tried to do so but didn't seem to work. Sadly I think I dunno how to implement this entirely, but yeah-
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Parodius on Game Maker (Started from scratch)

Post by BPzeBanshee »

Bit late, sorry. :/

Get rid of the else statement and stick the rest in the first bracket. Should do the trick.
User avatar
laxa88
Posts: 51
Joined: Mon Mar 10, 2014 10:32 am

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

Post by laxa88 »

n0rtygames wrote:
IndyGo wrote:One question from all of you, where did you all start from when you were done with trying to learn how to use Game Maker (by tutorials and so on?). Because I dunno where to start myself after getting done with the tutorials. (-l^l-);
Forget Game Maker specifically. Google is your friend for developing anything - so long as you have the willingness and capacity to learn.

Stage 1
Do you have a full game flow in place? Do you have 4-5 levels that are practically empty, but flow in to the next level - flow to a results screen and then on completion of the final level, give the player the final results screen? When results screen is complete - does the player return to main menu or credits sequence? If credits sequence, does the player get returned to the main menu? If not, do this now. It's more important than you realise. It's not fun, but you have to do this.

Stage 2
Do you have logic in place for handling game over, if the player runs out of lives prematurely before the game is complete? Do you allow continues? If no, do this *now*.

Add a button that forces your ship to take damage to test this.

Stage 3
Congrats, you've now got the basic framework in place to actually start your shooter. Now make sure your player is firing bullets up the screen.

Stage 4
Give the player something to shoot at.

Stage 5
Make them shoot back...:)

Get yourself through those 5 hurdles and everything will become much easier for you.
I wish I saw this a lot sooner (I didn't comb through the archive threads enough...), because now that I read the post above, it makes so much sense. I've been so engrossed in writing a "perfect engine" for my game, focusing so much on player/audio/time/enemy/bullet management, while forgetting about the basics such as game flow... :(

Anyway on a random note @IndyGo, awesome effort there! :D
Doodle/development tumblr : http://wyleong.tumblr.com
Art (rarely updated) : http://animenifestor.deviantart.com
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 »

laxa88 wrote:
n0rtygames wrote:
IndyGo wrote:One question from all of you, where did you all start from when you were done with trying to learn how to use Game Maker (by tutorials and so on?). Because I dunno where to start myself after getting done with the tutorials. (-l^l-);
Forget Game Maker specifically. Google is your friend for developing anything - so long as you have the willingness and capacity to learn.

Stage 1
Do you have a full game flow in place? Do you have 4-5 levels that are practically empty, but flow in to the next level - flow to a results screen and then on completion of the final level, give the player the final results screen? When results screen is complete - does the player return to main menu or credits sequence? If credits sequence, does the player get returned to the main menu? If not, do this now. It's more important than you realise. It's not fun, but you have to do this.

Stage 2
Do you have logic in place for handling game over, if the player runs out of lives prematurely before the game is complete? Do you allow continues? If no, do this *now*.

Add a button that forces your ship to take damage to test this.

Stage 3
Congrats, you've now got the basic framework in place to actually start your shooter. Now make sure your player is firing bullets up the screen.

Stage 4
Give the player something to shoot at.

Stage 5
Make them shoot back...:)

Get yourself through those 5 hurdles and everything will become much easier for you.
I wish I saw this a lot sooner (I didn't comb through the archive threads enough...), because now that I read the post above, it makes so much sense. I've been so engrossed in writing a "perfect engine" for my game, focusing so much on player/audio/time/enemy/bullet management, while forgetting about the basics such as game flow... :(

Anyway on a random note @IndyGo, awesome effort there! :D
Thanks a lot there, I don't think I've done very much but I'm thankful for your praise. (-lvl-)

And yes, it's good to go through the development plan, and even better, try to develop the entire game with one small goal at a time. This is why I decided to keep up a "checkpoint list". The development will otherwise overwhelm you big time.

BPzeBanshee wrote:Bit late, sorry. :/

Get rid of the else statement and stick the rest in the first bracket. Should do the trick.
It's okay - anyway, it worked! Thanks!

I could perhaps ask how to do it in any other part than the end of the room, but I'll go with smaller goals for time being.
Post Reply