Advertisement

Solid Game Engines For Top Down 2D Game?

Started by December 09, 2016 02:43 AM
5 comments, last by Navyman 7 years, 11 months ago

So I am looking to play around with the idea of building a top down (maybe with isometric styled graphics) 2D survival / crafting / adventure style game (think Terreria / Starbound but top down or Forsaken Isle which would be a much closer example). Basically a game where I am going to want to generate and save random maps, make a lot of the world destructible (trees, rocks, etc.), allow the player to modify the map, fight monsters and such, and probably a bunch of other smaller mechanics (food / water, health, maybe NPCs, etc.). I am looking to see what would be a good choice for a game engine for this style of game. I am not looking to create my own engine with lower level libraries / framework as that it not a part that is extremely interesting to me not to mention that it would probably take me a while to get something that is anywhere close to ok anyways. I don't mind an engine that requires coding (I actually prefer coding over visual style programming) but I am look for an engine where the coding is not C++ (not a fan of dealing with manual memory management and stuff like that).

Right now I am leaning toward Unity as they have an interface to the engine that I quite like, I don't mind the C# language (even if they are on a older version of mono), and it is something I have some experience with (though it has been a good 2-3+ year since I really did anything with it up until just playing around with it last week). The biggest performance issue I think I would probably face would be just rendering the world. I would like to be able to load maps with hundreds of thousands of tiles but with the world being highly destructible, I imagine I would need lots of colliders to be able to handle that would and that would be performance intensive (I imagine the best way to handle that would be steaming the world in and out as the player moves but of course that is something I have no idea about and would have to figure out or figure out a different way to handle it). I just want to make sure the engine itself can handle something like this so that I can mostly focus on building out the game itself.

Not sure if there is any other engines that I might want to play around with before I dive deeper with Unity.

Most of the time if you run into performance issues using a professional game engine I would say the problem isn't the engine but is the technique you are using.

2d rendering is also very performance light compared to most other things. You're rendering a bunch of quads with textures slapped on them, in some games a character model has as many vertices as every layer of your tile map put together would. I would worry less about performance and worry more about what will be most productive for you to use.

Advertisement

Most of the time if you run into performance issues using a professional game engine I would say the problem isn't the engine but is the technique you are using.

I would have to agree 100%. Often a misunderstanding of the workflow of the engine can lead to lag spikes.

reviewing your internal process could help you find the point that is in conflict.

Developer with a bit of Kickstarter and business experience.

YouTube Channel: Hostile Viking Studio
Twitter: @Precursors_Dawn

My performance "concern" was really just more of a guess as to what I think the most intensive thing for the game might be and my lack of understanding of what engines can do. Sure, I am looking to build a 2D game and compared to some 3D games, it would seems to be that graphically, it would be a lot less intensive but it is not unheard of for 2D games to have performance issues (I heard Starbound had some performance issues though it might have had entirely nothing to do with the 2D rendering).

Also, I would imagine not all game engines are optimized for 2D games. From what I have read, Unreal Engine 4 was not all that great for 2D in the early days (though I know they have whatever this Paper2D thing is now and it seems to be improving it’s 2D support). Even Unity is still working on a bunch of 2D features in their engine to optimize that workflow.

I agree that productivity in the engine for focusing on building out the game is high as if one engine is slightly more performant or optimized for 2D games but is 10X harder to use, probably not worth it, at least for me to use it but so is the opposite (much easier to use and just terrible performance), just need to find the engine that has a nice balance. I also know if performance was a huge concern, I know the C++ would be the way to go (or really assembly) but that is one of the trade offs I am will to make to increase my productivity.

Just really looking for engines to try out beside the limited options I have already tried. I have tried Unity and that is pretty good as far as usability (and can’t imagine its performance is all that bad). I have tried UE4 however the coding being C++ and the alternative being the visual blueprints system is a bit of a no-go for me. I also did a bit of research into Lumberyard but there is not a lot of good that has been said about it when it come to 2D. So while I have looked at some of the ones backed by big names, I just want to see if other people might know of other engines that might not have as much written around them as they might not be backed by names like Epic, Unity, Amazon (even though I don’t think of game development when I hear the name Amazon).

My performance "concern" was really just more of a guess as to what I think the most intensive thing for the game might be and my lack of understanding of what engines can do.

Today's commonplace PCs can handle around 144 billion instructions per second. A low-end PC can handle about 24 billion instructions per second.

That gives you about 400 million instructions per graphics frame if you make ideal use of your processor.

You can do an incredible amount of processing with 400 million instructions. That is more than 300 times what the PlayStation 2 had. If you remember it, think back to the best PS2 games, then multiply that by 300. That is what the PC is capable of. Few games push modern machines to their limit.

If your hobby game is running slow it probably is due to programming errors or poor algorithm choices, not due to limitations of the machine.

On the topic of 2D game engines, I thought I'd just throw Godot (https://godotengine.org) into the mix in case you've not heard of it. I've not actually used it myself but heard some good things about it. It's design UI looks very Unity-inspired (with a similar 2D feature set) and maybe there'll be no real practical difference. But I always like a good open source project that releases its code :-) Seems to have a stable Linux version (unlike Unity) in case you also develop in Linux. And seems like you can code/script in either C++ (a big no for you I guess) or their own scripting language!

Advertisement

UE4 has Paper 2d that is fairly good.

Developer with a bit of Kickstarter and business experience.

YouTube Channel: Hostile Viking Studio
Twitter: @Precursors_Dawn

This topic is closed to new replies.

Advertisement