Making a Metroidvania Game - Looking for Engine

Page 1 of 3 [ 35 posts ]  Go to page 1, 2, 3  Next

Ganondox
Veteran
Veteran

User avatar

Joined: 7 Oct 2011
Age: 27
Gender: Male
Posts: 5,776
Location: USA

03 Aug 2016, 5:09 pm

Hello. So I've many several games in the past, mainly in Flash but a view in other work environments, the most complex thing I've done is this: http://ganondox.deviantart.com/art/Serv ... -354987516 I've never actually done a platformer before though, and I tend to have some problems with boundary testing. I've decided not to work in Flash for this project, first because I currently don't have Flash, but secondly because like Servant of Discord it's gonna be sprite based, and Flash sucks for that, that was a source for many of the technical problems in Servant of Discord. So, I'm just looking for a good game engine for this game so I can start working on it. Here is a brief description of the game:

"Metroidvania based around making deals with demons, and you need to make deals with other demons to defeat them as no demon can be defeated with just the power they give you. The game begins with making a deal with Mephistopheles and ends with defeating Satan. Each demon gives a second ability if you eat their heart after defeating him. Each demon has a unique name, location, appearance, time, battle, theme, abilities, and power level. Each ability has a power level, your power level is the sum of all the power levels of your abilities. Each demon must be summoned at their location to make the deal, but if your power level exceeds theirs, they won’t show up (fortunately items don’t count towards it!). A demon will teleport you to it’s arena when it’s time is up and they are next in queue unless another demon is being fought. Some demons can be instantly challenged if at the front of their queue. Satan is always last in queue. The game has four endings depending on if you eat all the demon hearts or not, and then if you eat Satan’s heart. The graphics are vaguely SNES and inspired by Paradise Lost and classic medieval manuscript art. The game has both a health and a stamina meter which is drained by various thing like flying, magic, and swimming.

Basic Plot: You play the scholar Faust, who previously made a deal with Mephistopheles for knowledge about electricity. After being attacked by a group of highwaymen at the crossroads who take all you have and you are left for dead. Mephistopheles comes to collect your soul. However, the intervention of your deceased lover Gretchen prevents him from doing so. So instead he offers to save your life in exchange for overriding Gretchen’s intervention, which you accept. After being revived you tell yourself that this time you’ll find another way to escape, and gameplay starts. "

I have a bunch of other details in the design doc I made for myself, but I want to keep stuff secret. :P A few other things I need to note is that after I get the main game finished and released I plan on making an expansion to it, and a simple grid based map system won't suffice:

"Note on navigation: At various instances there are doors or halls and other intersections which are entered by pressing “up”, these change which plane the player is in. Doors move into a parallel plane, but directions are reversed as it’s a mirror image. Intersections meanwhile bring the player into a more or less perpendicular plane, typically inverting north and west and south and east. You won’t appear right outside the intersection, but rather slightly to the left or right depending on what direction you walked to go through. This is important for navigating many places like the city, and even R'lyeh, as while it has non-euclidean geometry and varying gravity, it still follows those two rules. Directions in R’lyeh are constant for a subarea, and carry-on between areas, regardless of how geometry didn’t work. "

Finally, for technical requirements I want something that can export both a Windows and Mac build easily. So if anyone has any recommendations for a game engine that would be much appreciated.


_________________
Cinnamon and sugary
Softly Spoken lies
You never know just how you look
Through other people's eyes

Autism FAQs http://www.wrongplanet.net/postt186115.html


mr_bigmouth_502
Veteran
Veteran

User avatar

Joined: 12 Dec 2013
Age: 30
Gender: Non-binary
Posts: 7,028
Location: Alberta, Canada

03 Aug 2016, 11:37 pm

I think Game Maker is the thing you're looking for. It's actually been used for a fair number of indie game projects, and it can export to Windows, Mac, and Linux. It used to be kind of a primitive program only capable of making simplistic games, but it's being used for so much more now. There's also Unity, though I don't know as much about it.

If you want, I can help you get in touch with a couple people I know who are involved in indie game development. Just shoot me a PM.


_________________
Every day is exactly the same...


Ganondox
Veteran
Veteran

User avatar

Joined: 7 Oct 2011
Age: 27
Gender: Male
Posts: 5,776
Location: USA

06 Aug 2016, 3:58 pm

mr_bigmouth_502 wrote:
I think Game Maker is the thing you're looking for. It's actually been used for a fair number of indie game projects, and it can export to Windows, Mac, and Linux. It used to be kind of a primitive program only capable of making simplistic games, but it's being used for so much more now. There's also Unity, though I don't know as much about it.

If you want, I can help you get in touch with a couple people I know who are involved in indie game development. Just shoot me a PM.


So far GameMaker has been looking like the best option, but last I checked while it has Mac versions it can't export directly to dmgs, so make users need to get GameMaker themselves, which may interfere with distribution plans. Also, I'm not sure how well it works for something this complex, the closest I've seen is An Untitled Story, but this has another layer of complexity.

Unity typically isn't the best for 2D games, especially Sprite based ones, though I think Nitrome started doing that recently.


_________________
Cinnamon and sugary
Softly Spoken lies
You never know just how you look
Through other people's eyes

Autism FAQs http://www.wrongplanet.net/postt186115.html


mr_bigmouth_502
Veteran
Veteran

User avatar

Joined: 12 Dec 2013
Age: 30
Gender: Non-binary
Posts: 7,028
Location: Alberta, Canada

07 Aug 2016, 12:31 am

Ganondox wrote:
mr_bigmouth_502 wrote:
I think Game Maker is the thing you're looking for. It's actually been used for a fair number of indie game projects, and it can export to Windows, Mac, and Linux. It used to be kind of a primitive program only capable of making simplistic games, but it's being used for so much more now. There's also Unity, though I don't know as much about it.

If you want, I can help you get in touch with a couple people I know who are involved in indie game development. Just shoot me a PM.


So far GameMaker has been looking like the best option, but last I checked while it has Mac versions it can't export directly to dmgs, so make users need to get GameMaker themselves, which may interfere with distribution plans. Also, I'm not sure how well it works for something this complex, the closest I've seen is An Untitled Story, but this has another layer of complexity.

Unity typically isn't the best for 2D games, especially Sprite based ones, though I think Nitrome started doing that recently.

I thought all you had to do to make a dmg was drag and drop some files.


_________________
Every day is exactly the same...


Ganondox
Veteran
Veteran

User avatar

Joined: 7 Oct 2011
Age: 27
Gender: Male
Posts: 5,776
Location: USA

07 Aug 2016, 10:35 pm

mr_bigmouth_502 wrote:
Ganondox wrote:
mr_bigmouth_502 wrote:
I think Game Maker is the thing you're looking for. It's actually been used for a fair number of indie game projects, and it can export to Windows, Mac, and Linux. It used to be kind of a primitive program only capable of making simplistic games, but it's being used for so much more now. There's also Unity, though I don't know as much about it.

If you want, I can help you get in touch with a couple people I know who are involved in indie game development. Just shoot me a PM.


So far GameMaker has been looking like the best option, but last I checked while it has Mac versions it can't export directly to dmgs, so make users need to get GameMaker themselves, which may interfere with distribution plans. Also, I'm not sure how well it works for something this complex, the closest I've seen is An Untitled Story, but this has another layer of complexity.

Unity typically isn't the best for 2D games, especially Sprite based ones, though I think Nitrome started doing that recently.

I thought all you had to do to make a dmg was drag and drop some files.


If that's the case I'll check it out and see if it works.


_________________
Cinnamon and sugary
Softly Spoken lies
You never know just how you look
Through other people's eyes

Autism FAQs http://www.wrongplanet.net/postt186115.html


Ichinin
Veteran
Veteran

User avatar

Joined: 3 Apr 2009
Gender: Male
Posts: 3,653
Location: A cold place with lots of blondes.

07 Aug 2016, 10:57 pm

How about pure HTML5 and JS?

Just add a SVG canvas and you can do lots of things (Wont work in IE though). You can even do WebGL in some browsers.


_________________
"It is far better to grasp the Universe as it really is than to persist in delusion, however satisfying and reassuring" (Carl Sagan)


mr_bigmouth_502
Veteran
Veteran

User avatar

Joined: 12 Dec 2013
Age: 30
Gender: Non-binary
Posts: 7,028
Location: Alberta, Canada

07 Aug 2016, 11:28 pm

Ichinin wrote:
How about pure HTML5 and JS?

Just add a SVG canvas and you can do lots of things (Wont work in IE though). You can even do WebGL in some browsers.

That sounds terribly inefficient to be quite honest. Then again, people used to make shedloads of different games in Flash, and that wasn't even originally intended for interactive content.


_________________
Every day is exactly the same...


Ganondox
Veteran
Veteran

User avatar

Joined: 7 Oct 2011
Age: 27
Gender: Male
Posts: 5,776
Location: USA

08 Aug 2016, 5:54 am

Ichinin wrote:
How about pure HTML5 and JS?

Just add a SVG canvas and you can do lots of things (Wont work in IE though). You can even do WebGL in some browsers.


1. I'd have to learn HTML5 and JavaScript.

2. It defeats the point of looking for an engine with native sprite and platforming support. Working those out on your own isn't worth the effort.


_________________
Cinnamon and sugary
Softly Spoken lies
You never know just how you look
Through other people's eyes

Autism FAQs http://www.wrongplanet.net/postt186115.html


Ichinin
Veteran
Veteran

User avatar

Joined: 3 Apr 2009
Gender: Male
Posts: 3,653
Location: A cold place with lots of blondes.

08 Aug 2016, 6:09 am

Ganondox wrote:
1. I'd have to learn HTML5 and JavaScript.


So? Are you expecting technologies never to change and not having to learn anything new - ever?

Ganondox wrote:
2. It defeats the point of looking for an engine with native sprite and platforming support. Working those out on your own isn't worth the effort.


Yeah, HTML5 is pure s**t - and you would know that, especially when you have put SO much thought into actually taken the time to learn about it:

A cross platform HTML/CSS/JS example:
http://www.rleonardi.com/interactive-resume/


_________________
"It is far better to grasp the Universe as it really is than to persist in delusion, however satisfying and reassuring" (Carl Sagan)


mr_bigmouth_502
Veteran
Veteran

User avatar

Joined: 12 Dec 2013
Age: 30
Gender: Non-binary
Posts: 7,028
Location: Alberta, Canada

08 Aug 2016, 7:11 am

Screw all these high level languages, you should code this game in hand-optimized x86 assembly language. Make it run under MS-DOS on a 66MHz 486 with 8MB of ram, 320x200 256 color VGA Mode X graphics, and Sound Blaster compatible audio with OPL3 FM synthesized music. Hey, it'll give your game cross-platform support right off the bat thanks to DosBox. ;)

Of course, I still think Game Maker is probably your best option, though C++ is supposed to be a good language for game programming as well.


_________________
Every day is exactly the same...


Ganondox
Veteran
Veteran

User avatar

Joined: 7 Oct 2011
Age: 27
Gender: Male
Posts: 5,776
Location: USA

08 Aug 2016, 6:29 pm

Ichinin wrote:
Ganondox wrote:
1. I'd have to learn HTML5 and JavaScript.


So? Are you expecting technologies never to change and not having to learn anything new - ever?

Ganondox wrote:
2. It defeats the point of looking for an engine with native sprite and platforming support. Working those out on your own isn't worth the effort.


Yeah, HTML5 is pure s**t - and you would know that, especially when you have put SO much thought into actually taken the time to learn about it:

A cross platform HTML/CSS/JS example:
http://www.rleonardi.com/interactive-resume/


A programming language and a game engine are completely different things. If you could recommend an actual game engine that used those languages, I'd be down. Also, that interactive-resume has convinced that isn't going to work at all, it's so laggy. I do know of actual Metroidvania's created in HTML5 though, like Subbania.

mr_bigmouth_502 wrote:
Screw all these high level languages, you should code this game in hand-optimized x86 assembly language. Make it run under MS-DOS on a 66MHz 486 with 8MB of ram, 320x200 256 color VGA Mode X graphics, and Sound Blaster compatible audio with OPL3 FM synthesized music. Hey, it'll give your game cross-platform support right off the bat thanks to DosBox. ;)

Of course, I still think Game Maker is probably your best option, though C++ is supposed to be a good language for game programming as well.


I know C++, the issue is I'd rather use a game engine than make something from scratch for this. Looks like it's time to take a look at GameMaker.


_________________
Cinnamon and sugary
Softly Spoken lies
You never know just how you look
Through other people's eyes

Autism FAQs http://www.wrongplanet.net/postt186115.html


Last edited by Ganondox on 08 Aug 2016, 8:17 pm, edited 1 time in total.

saxgeek
Veteran
Veteran

Joined: 18 Jul 2015
Age: 28
Gender: Male
Posts: 730

08 Aug 2016, 9:13 pm

I usually code things from scratch in C instead of using an engine. SDL is a nice high-level library for doing 2D graphics. I made a simple 2D fighting game a few years ago with it, but I lost the code for it.

HTML5 stuff generally runs like crap unless you've got an extremely powerful computer. Javascript is not a high performance language. Native C/C++ code is much better.



Ganondox
Veteran
Veteran

User avatar

Joined: 7 Oct 2011
Age: 27
Gender: Male
Posts: 5,776
Location: USA

08 Aug 2016, 11:22 pm

saxgeek wrote:
I usually code things from scratch in C instead of using an engine. SDL is a nice high-level library for doing 2D graphics. I made a simple 2D fighting game a few years ago with it, but I lost the code for it.

HTML5 stuff generally runs like crap unless you've got an extremely powerful computer. Javascript is not a high performance language. Native C/C++ code is much better.


With native C++ I have a few concerns. First I haven't actually got from a C++ file to an executable file for Windows or Mac, just executing straight from .cpp files. Second, I've never done anything with a graphical interface in C++ that wasn't just some other application implementing C++. The last concern is I still suck with boundaries, which I need to get really tight to do a platformer, and I'd rather have an existing library for that.


_________________
Cinnamon and sugary
Softly Spoken lies
You never know just how you look
Through other people's eyes

Autism FAQs http://www.wrongplanet.net/postt186115.html


saxgeek
Veteran
Veteran

Joined: 18 Jul 2015
Age: 28
Gender: Male
Posts: 730

11 Aug 2016, 10:57 pm

To create executables from C/C++ source code, you need to use a compiler such as GCC, which is a program that compiles high level source code into machine code. You can install MinGW on Windows or XCode on Mac to get a version of GCC. I tend to stay away from Visual Studio since the latest versions are incredibly bloated and very confusing to get started with. I use makefiles to build my programs, but this is usually hell for a beginner to learn, since it uses its own rule-based language for running build commands, and then different platforms require different libraries and compiler flags which makes it very complicated. If you want to create GUI programs, you either need to use platform-specific functions, or use a cross-platform library like GTK or Qt. I really think something like boundary testing and collision detection should be implemented from scratch. It's not that hard to implement properly in 2D.

If you're not ready to learn C++, you can try something like QB64, which is a port of QuickBasic to Windows, OS X, and Linux. I made a simple Zelda style game in it when I was younger.



Ganondox
Veteran
Veteran

User avatar

Joined: 7 Oct 2011
Age: 27
Gender: Male
Posts: 5,776
Location: USA

15 Aug 2016, 10:22 pm

saxgeek wrote:
To create executables from C/C++ source code, you need to use a compiler such as GCC, which is a program that compiles high level source code into machine code. You can install MinGW on Windows or XCode on Mac to get a version of GCC. I tend to stay away from Visual Studio since the latest versions are incredibly bloated and very confusing to get started with. I use makefiles to build my programs, but this is usually hell for a beginner to learn, since it uses its own rule-based language for running build commands, and then different platforms require different libraries and compiler flags which makes it very complicated. If you want to create GUI programs, you either need to use platform-specific functions, or use a cross-platform library like GTK or Qt. I really think something like boundary testing and collision detection should be implemented from scratch. It's not that hard to implement properly in 2D.

If you're not ready to learn C++, you can try something like QB64, which is a port of QuickBasic to Windows, OS X, and Linux. I made a simple Zelda style game in it when I was younger.


I know C++ well from a computer science standpoint, just not from a practical standpoint. I think we are going more into how it relates with the operating system in a class I'm doing this fall, all I know is it involves making Android apps for part of it. All that you are talking about here is beyond my knowledge, everything I've done with C++ has been in Visual Studio, so in the very least I need a tutorial on how to do this stuff. Anyway, right now I'm using a Mac, it has a Windows partition, but I still need to get a product key for it. I might be getting that in a couple weeks though when I start back up for class, I need to check if students get a free copy of Windows and if so how to claim it.

"I really think something like boundary testing and collision detection should be implemented from scratch. It's not that hard to implement properly in 2D." Well I've been running into problems when I've tried doing it with my other games like that Zelda one, and if it's really easy to implement in 2d than shouldn't there be lots of scripts already available?


_________________
Cinnamon and sugary
Softly Spoken lies
You never know just how you look
Through other people's eyes

Autism FAQs http://www.wrongplanet.net/postt186115.html


Ganondox
Veteran
Veteran

User avatar

Joined: 7 Oct 2011
Age: 27
Gender: Male
Posts: 5,776
Location: USA

18 Aug 2016, 9:22 pm

Okay, I took another look at Gamemaker, and I see what the problem is - the professional version has the technical requirements I need, but the free version does not.


_________________
Cinnamon and sugary
Softly Spoken lies
You never know just how you look
Through other people's eyes

Autism FAQs http://www.wrongplanet.net/postt186115.html