Game/Shmup development, beginner questions

A place for people with an interest in developing new shmups.
Post Reply
User avatar
mastermx
Posts: 858
Joined: Tue Feb 11, 2014 11:04 pm
Location: UK

Game/Shmup development, beginner questions

Post by mastermx »

For the past few days I've been playing around with game maker, using iconomaker to create sprite based art and apply it to game maker to create a simple amateur shmup. But yesterday I found myself really interested in learning a programming language. I thought maybe that C++ was a likely candidate seeing as how well known it is. But before I jump on any bandwagon, I wanted to ask a few questions from those more experienced than myself.

I'm really interested in game development, and really interested in making a shmup. I don't mind learning a programming language, all I want is the knowledge that the tools I am learning are industry standard. I do not want to be limited in any way.

I was really inspired when I saw Yotsubane's Crimzon Clover, I had thought it was impossible for a doujin shmup to look and play so good. What tools and what language was it written in?

Entering this field, what would you consider a must learn?
Image
User avatar
Kaiser
Posts: 1729
Joined: Mon Jun 12, 2006 10:20 am

Re: Game/Shmup development, beginner questions

Post by Kaiser »

If you are using Game Maker, stick to using GML for everything you do and forget drag & drop development (you only use it to set up code blocks with GML approach), see GMOSSE/Warbird Template on how it's done, it's what I used as a base for Zenodyne (my first GM shmup, refer to my thread in the dev forums). As for a programming language, choose ones that you will find practical, I personally can recommend C# because it can be used with monodevelop and Unity, both which are widely used for bigger games. Or XNA even.

There isn't one answer to what is required to make a game, making a game is a combination of programming, graphics, gameplay design and audio, no matter what you do it in, whether it's GM, Unity, monodevelop, SDL and so on. However I can give you some tips so you can avoid falling into first game traps:

Point 1. Plan the game realistically and give yourself an estimated time to do it in, you cannot afford development hell (of course it's possible to fall into it but it's best to think that you can't), write everything you want to do in your game design doc, then trim out what isn't really necessary as you develop the game. Don't develop the game beyond your personal capabilities or beyond your skill level (in shmups). Zenodyne was completed in 6 months because it was planned realistically and I sticked to the plan to the end (with few minor roadblocks here and there).

Point 2. Let people test the game as you hit milestones like completing a new stage completely, at first you might receive a lot of negative feedback but, don't break down, don't lose your cool, think about what causes the people to post that negative feedback and get on improving those areas of your game. Of course there is a fine line between your vision and their feedback, and not all feedback is that useful so you gotta keep it in mind.

For example n0rtygames (the chronoblast dude) was providing feedback on Zenodyne and at first he clearly didn't like the game at all, after a bit of not getting it, I finally got what he was getting at, improved the game in those underwhelming areas (graphics, lotsa gameplay and controls) then he was satisfied, same with feedback of some other testers later on like Jaimers or Emuser, ultimately it resulted in a game that is a nice start and has a bit of that mass appeal.

Point 3. You can always make your game better but there is a realistic limit to it, if time/effort required to make your game only BIT better would take a lot of your time, don't bother and focus on the rest of main things on your task list.

Point 4. Last but not least, focus on making a game you would enjoy, then adjust it until others can enjoy it too.

I wish you good luck, new brave adventurer of the shmup game design, feel free to ask around other devs like n0rtygames, nasty_wolverine and few others for tips.
Last edited by Kaiser on Mon Mar 17, 2014 5:48 pm, edited 1 time in total.
Zenodyne R - My 2nd Steam Shmup
User avatar
mastermx
Posts: 858
Joined: Tue Feb 11, 2014 11:04 pm
Location: UK

Re: Game/Shmup development, beginner questions

Post by mastermx »

Thank you for the help and information kaiser. Just yesterday I was playing zenodyne and thinking how good it was. I'm really happy to receive advice and information from you. I'm aware of gmosse and was looking at it yesterday.

I just want to make sure that I have calibrated everything well and know what I'm getting into before I jump into a big project. What lead me to GM was knowing that hydorah was made in it, and hydorah was brilliant.

I'm really interested to know how crimzon clover was made, because though it had a 5 year development cycle, it still astounds me that it was a doujin.

The more I read up, the more it seems like I'm leaning towards C# and GML.
Image
User avatar
trap15
Posts: 7835
Joined: Mon Aug 31, 2009 4:13 am
Location: 東京都杉並区
Contact:

Re: Game/Shmup development, beginner questions

Post by trap15 »

Crimzon Clover is most likely C++ and DirectX. But that's a path to insanity, so don't bother :lol:
@trap0xf | daifukkat.su/blog | scores | FIRE LANCER
<S.Yagawa> I like the challenge of "doing the impossible" with older hardware, and pushing it as far as it can go.
User avatar
ciox
Posts: 1008
Joined: Sun Feb 12, 2012 5:29 pm
Location: Romania

Re: Game/Shmup development, beginner questions

Post by ciox »

For what Yotsubane used to make CC you can just check out the readme file you get with the game, then there's a few interesting bits in this interview too http://shmups.system11.org/viewtopic.php?f=1&t=38526
User avatar
nasty_wolverine
Posts: 1371
Joined: Sun Oct 09, 2011 11:44 pm

Re: Game/Shmup development, beginner questions

Post by nasty_wolverine »

trap15 wrote:Crimzon Clover is most likely C++ and DirectX. But that's a path to insanity, so don't bother :lol:
remember kids, choose GL (2.x,3.x).
Elysian Door - Naraka (my WIP PC STG) in development hell for the moment
User avatar
trap15
Posts: 7835
Joined: Mon Aug 31, 2009 4:13 am
Location: 東京都杉並区
Contact:

Re: Game/Shmup development, beginner questions

Post by trap15 »

Yeah, C++ and OpenGL isn't nearly as brain-rotting. But trying to learn C++ as a beginner sounds like a hell I can't even imagine. I hate trying to work with C++ and I have 10 years of intimate experience with C :lol:
@trap0xf | daifukkat.su/blog | scores | FIRE LANCER
<S.Yagawa> I like the challenge of "doing the impossible" with older hardware, and pushing it as far as it can go.
User avatar
mice
Posts: 829
Joined: Tue Apr 26, 2005 2:50 pm
Location: Sweden
Contact:

Re: Game/Shmup development, beginner questions

Post by mice »

nasty_wolverine wrote:
trap15 wrote: Crimzon Clover is most likely C++ and DirectX. But that's a path to insanity, so don't bother
remember kids, choose GL (2.x,3.x).
No, choose a framework that handles all that shit for you and even then, make sure to abstract it away.
User avatar
Kaiser
Posts: 1729
Joined: Mon Jun 12, 2006 10:20 am

Re: Game/Shmup development, beginner questions

Post by Kaiser »

mice wrote:
nasty_wolverine wrote:
trap15 wrote: Crimzon Clover is most likely C++ and DirectX. But that's a path to insanity, so don't bother
remember kids, choose GL (2.x,3.x).
No, choose a framework that handles all that shit for you and even then, make sure to abstract it away.
+1. I agree, going into something that professional IS not recommended ever for newcomers, unless they've got some serious programming experience behind their back.
Zenodyne R - My 2nd Steam Shmup
User avatar
laxa88
Posts: 51
Joined: Mon Mar 10, 2014 10:32 am

Re: Game/Shmup development, beginner questions

Post by laxa88 »

I consider myself a newcomer as well although I've started game development since a few months back, so here's my input --

When I started, I tried picking up C++ and SDL. It took me a whole month to explore the language and write my own engine. In the end, I figured, for the amount of time and effort I spent writing/debugging the code I've had so far, I could have easily achieved the same effect with Unity. I previously used C# for my university project, so seeing that Unity uses C#, I gave it a try and was really comfortable with it, and have stuck to it until now.

In terms of industry standards and whatnot, IMHO it's not too important, don't worry about it. If you didn't spend enough time or even finish a game on GameMaker, I doubt you'd be able to accomplish the same feat using Unity. I tried using GameMaker for a bit and loved the drag-n-drop UI, and even went through the tutorials for GML (GameMaker Markup Language, I think?), and I was starting to get the hang of it too... until I discovered Unity, and I preferred that instead.

In a nutshell, I guess it boils down to preference. If you're gonna make your games on GameMaker, pick up GML. You're bound to pick up more knowledge along the way (thru trial and error and debugging).
Doodle/development tumblr : http://wyleong.tumblr.com
Art (rarely updated) : http://animenifestor.deviantart.com
User avatar
nasty_wolverine
Posts: 1371
Joined: Sun Oct 09, 2011 11:44 pm

Re: Game/Shmup development, beginner questions

Post by nasty_wolverine »

Kaiser wrote:
mice wrote:
nasty_wolverine wrote: remember kids, choose GL (2.x,3.x).
No, choose a framework that handles all that shit for you and even then, make sure to abstract it away.
+1. I agree, going into something that professional IS not recommended ever for newcomers, unless they've got some serious programming experience behind their back.
you guys do realize that GL has bindings for almost every language u may want to write a game in, right? plus any framework you choose is probably using or has a backend that supports GL (excluding XNA). if you are making simple games, choosing a framework will do, but if you want all the bells and whistles eventually you have to get down to the core API.

I can understand putting a wrapper around a framework, but why abstract it away? do you really want to change frameworks on the fly?
trap15 wrote:But trying to learn C++ as a beginner sounds like a hell I can't even imagine. I hate trying to work with C++ and I have 10 years of intimate experience with C :lol:
I learnt C then C++ like almost under 6 months. Now, when i say learnt, i mean i developed a basic understanding of how the language works. And, i have learnt quite a lot more as i use it more. C++ is not C, even though its more or less a superset of C. I dont know, I never found it hard to learn, and it was my first proper programming language that i used extensively (knew BASIC and VBA before). IMHO C++ isnt hard, it may come across as cryptic in the beginning but if you spend enough time with it, you will end up learning and using it in no time.

but hey, dont listen to me, the choice is yours to make.
Elysian Door - Naraka (my WIP PC STG) in development hell for the moment
User avatar
mastermx
Posts: 858
Joined: Tue Feb 11, 2014 11:04 pm
Location: UK

Re: Game/Shmup development, beginner questions

Post by mastermx »

I think I'm gonna go with C#, didn't know this but it turns out my brother knows C# pretty well, so if I ever get stuck I can just ask away. I'm not sure if C# would be enough, but I have a feeling it's gonna take me several months till I am comfortable in it to code a shmup.

I will definitely be going in and out of game maker. I won't drop it dead, it will be something on the side that I may develop, I'm not completely sure.

Not sure how a shmup in C# looks or plays but I'll just have to give it a go. I know it's more user friendly and has easy portability.

Is there anything else I need to learn to further augment my C# learning and further increase my likelihood of creating a good shmup, or is C# enough of a tool?
Image
User avatar
trap15
Posts: 7835
Joined: Mon Aug 31, 2009 4:13 am
Location: 東京都杉並区
Contact:

Re: Game/Shmup development, beginner questions

Post by trap15 »

You see n0rty's stuff? That's all done in C#.
@trap0xf | daifukkat.su/blog | scores | FIRE LANCER
<S.Yagawa> I like the challenge of "doing the impossible" with older hardware, and pushing it as far as it can go.
User avatar
mice
Posts: 829
Joined: Tue Apr 26, 2005 2:50 pm
Location: Sweden
Contact:

Re: Game/Shmup development, beginner questions

Post by mice »

nasty_wolverine wrote:plus any framework you choose is probably using or has a backend that supports GL
That was the whole point. You shouldn't do your own glDrawTriangles(CoolShader shader), yours are not better than the (any) framework authors glDrawTriangles(CoolShader shader). Ever.
User avatar
mastermx
Posts: 858
Joined: Tue Feb 11, 2014 11:04 pm
Location: UK

Re: Game/Shmup development, beginner questions

Post by mastermx »

trap15 wrote:You see n0rty's stuff? That's all done in C#.
Didn't know norty used C#. His games look really good.
Image
User avatar
nasty_wolverine
Posts: 1371
Joined: Sun Oct 09, 2011 11:44 pm

Re: Game/Shmup development, beginner questions

Post by nasty_wolverine »

mice wrote:
nasty_wolverine wrote:plus any framework you choose is probably using or has a backend that supports GL
That was the whole point. You shouldn't do your own glDrawTriangles(CoolShader shader), yours are not better than the (any) framework authors glDrawTriangles(CoolShader shader). Ever.
well mine does exactly what i need to do, in the way i want it done. i should know, i wrote it.
Elysian Door - Naraka (my WIP PC STG) in development hell for the moment
User avatar
n0rtygames
Posts: 1001
Joined: Thu Mar 15, 2012 11:46 pm
Contact:

Re: Game/Shmup development, beginner questions

Post by n0rtygames »

mastermx wrote:Not sure how a shmup in C# looks or plays
Like this:

http://www.youtube.com/watch?v=WMcJepSXoKU
Is there anything else I need to learn to further augment my C# learning and further increase my likelihood of creating a good shmup, or is C# enough of a tool?
First thing you must do is separate the language of choice from what the game looks/plays like. I am concerned that you think a shmup in C# would /look/ different to any other shmup. As for how it plays, it really depends how you write it. But as you're a beginner I don't think we want to start getting in to the nitty gritty of certain frameworks garbage collection and so on.

XNA is going to be discontinued but that doesn't mean you can't use it. What you want to get is the Windows Phone SDK (Yes, really - this includes what you need to make windows/phone/xbox games) 7.1 that comes with VS express and then just click file->new project->windows game

The rest is up to you. I recommend having a look at 3dbuzz.com for some super beginner tutorials to get you started, however as I warn everyone about 3dbuzz - they will teach you godawful practises that you will have to undo later in development when you actually begin to understand more about the language.

There are also plent of other c#/xna tutorials you can find. I recommend this route because you will find it quite easy to go over to monogame later and yes, there will be portability.
facebook: Facebook
User avatar
mastermx
Posts: 858
Joined: Tue Feb 11, 2014 11:04 pm
Location: UK

Re: Game/Shmup development, beginner questions

Post by mastermx »

Thank you for all the helpful input :)
Image
User avatar
nasty_wolverine
Posts: 1371
Joined: Sun Oct 09, 2011 11:44 pm

Re: Game/Shmup development, beginner questions

Post by nasty_wolverine »

n0rtygames wrote: There are also plent of other c#/xna tutorials you can find. I recommend this route because you will find it quite easy to go over to monogame later and yes, there will be portability.
You forgot about this http://www.opentk.com/
Elysian Door - Naraka (my WIP PC STG) in development hell for the moment
User avatar
BPzeBanshee
Posts: 4859
Joined: Sun Feb 08, 2009 3:59 am

Re: Game/Shmup development, beginner questions

Post by BPzeBanshee »

n0rtygames wrote: First thing you must do is separate the language of choice from what the game looks/plays like. I am concerned that you think a shmup in C# would /look/ different to any other shmup. As for how it plays, it really depends how you write it. But as you're a beginner I don't think we want to start getting in to the nitty gritty of certain frameworks garbage collection and so on.
I've seen that mentality a lot particularly with regard to Game Maker games, and you're right - it's a mentality that really needs to be stamped out.

You craft the product with the tools. The product didn't craft the tools for you. How it "looks" is entirely up to you as a developer. You'd be surprised how many people I've had comment their surprise when they found out that GMOSSE was made in GM, and you certainly couldn't pick Chronoblast's programming language from its aesthetics.
Post Reply