Advertisement

First post: Game Engine/Framework advice needed.

Started by April 20, 2019 04:38 PM
5 comments, last by 8Observer8 5 years, 10 months ago

Hello,

I'm not a native english speaker so please bear with me, I need some help here, I'll get straight to the point. I just joined this site.

Over the last year, I fleshed out my game, the mechanics and nearly completed the artwork/assets. Its a 2d action adventure platformer. Eventually in a bout 5 years when I finally complete it, I would like to maybe commercialize it, when I do I would like to be able to port it to consoles too. I should state that it is a side project, and even though I have a general timeframe, I find the quality of the end product to be more important than the speed at which I complete it. I think the quality comes from the knowledge I have gained and will be gaining.

I have adept knowledge of C++, some basic C# syntax knowledge, python and general java syntax knowledge. I know the language but have yet to apply it fully with respect to game development. I do not know how I should begin in terms of resources.. That is where I need some help. I have made simple games with the help of tutorials but I find that its harder for me to learn when I'm not actually working on a passion project.

I looked at game engines and frameworks as a starting point. For something as simple as a 2D linear adventure story-based platformer, I doubt I'd need something like unreal engine. I looked at Unity and Godot. I found Unity to be.. more bloated, yet helpful with regards to quick development, but I find myself wanting more control and freedom, independence from game engines. I don't need most of the services they're providing..

I looked to game frameworks like SFML, LWJGL and monogame, which seem rather low-level and overwhelming in terms of the starting point. I found SFML to be the easiest, but have been considering LWJGL for java's versatility in Mac and Linux; I'm using windows. I heard that java isn't exactly supported on consoles, which means if I use LWJGL, i gain the convenience of coding the game once but forsaking console support, which I am not sure is a decision I'm ready to make as of yet. With regards to SFML, though I find it easy, most tutorials cover small arcade-y platformers, wheras mine is much more complex, bigger and exploratory. The environment is designed by me alone (one big world where the events are taking place) and not generated by seeds etc. I am unsure of the way forward. It's basically a knowledge problem.

At the end of the project, not only do I want to produce something, I also want to learn as much as I can and be free to code anywhere and not rely on an engine like unity or godot. What would you recommend I choose?

I would appreciate a response and maybe some insight on those frameworks and engines, if any.

Thank you.

Where are you from? Your English seems fine to me.

I'm not a very experienced developer yet and more a beginner, but I began so I should be able to give you some starting advice.

You definitely want to use an engine or framework, otherwise, you need to build everything from scratch. I worked with Monogame and Unity and I can recommend you an engine. You got more control with a low-level framework like Monogame, but all the necessary stuff should be doable in Unity too. In my experience, you end up writing to much code for very basic stuff when doing low-level game development. Just try to make a simple text box where the players can enter a name, and you need hours for a good one. Also, you should be good at the programming language because it's all you got to make the game. I would recommend Unity. It would save you more time in the long run, and if you want to work with others together or get a job in a game dev career, it's useful to have knowledge about it. It may seem bloated and takes more time to get into it, but it will pay off.

And maybe you should try to start with a way less complicated game. The hardest thing is to finish a game, starting to make them is always easier, and 5 years is a very long time. Your first game will always have not the best code, artwork, game design and marketing. You can practice it by making some smaller games first. I scraped over 100 hours of work, I used to make my first game but the game idea wasn't that good and working with Monogame was time-consuming. I found a new better game idea and need to get more into Unity, and I'm sure I can make my game in less than 2 years realistically. I wanted to make something short but hadn't a good game idea, so I'm now doing something bigger, which I probably could finish in a year, but you can underestimate the amount of work pretty easily, so I calculate with less than 2 years since I don't have finished a real game before. In the end, it was a very good choice to work on a different game. But if you work on a bigger game you need to do some good developing practice like DevOps, to ensure that you don't waste too much time on something bad. You need a good 2D platformer to make some money with it because there is a lot of competition in this genre. And Unity which is based on Monogame supports cross-platform development, so you can deliver your game on all operating systems, consoles and even mobile devices.

Advertisement
5 hours ago, c0ngruen7 said:

SFML, LWJGL and monogame

SFML, libGDX and Monogame are in one category. If you will use LWJGL3 then you will use pure OpenGL.

I study C#: Unity, OpenTK, pure modern OpenGL and TypeScript: pure WebGL, Phaser, Pixi.js, Three.js, Babylon.js. I study them by writing very simple clone games like: Snake, Tetris and so on.

Because you know C++, I reflexively recommend using Godot because it's built on C++.  Furthermore, it's open-source, so if it's lacking any functionality that you need, you can also code that it.

Is currently working on a rpg/roguelike
Dungeons Under Gannar
Devblog

6 hours ago, Lendrigan Games said:

Because you know C++

Godot uses C++ for writing plugins (like Unity). You cannot write scripts for games using C++.

7 hours ago, Lendrigan Games said:

Furthermore, it's open-source, so if it's lacking any functionality that you need

I understood what you meant. You meant that you can add or change Godot engine functionality using C++ and recompile the engine source. Okay, it is good.

This topic is closed to new replies.

Advertisement