Good game engine for beginners

Started by
12 comments, last by Serapth 10 years, 9 months ago

If you have no programming experience, I would recommend you to use Stencyl . It requires no programming experience and the best part of using it, is that you can publish your games for many platforms: iOS, Android, Flash, HTML5, Windows and Mac. I've recently purchased a course dedicated to Stencyl at Udemy, but I am not that impressed. Well, if Stencyl is not your thing, there are many more similar programs. Take a look to the following articles:

Last but not least, if none of these fast-game software do not suffice, learn a programming language (such as Lua and C#) and dive into the real game development.

Advertisement

Can anyone recommend a good place to start and what I should be working towards? What software should I familiarize myself with and what is the best programming language for these types of games? Thanks! Apologies for my ignorance.

No language is "best" for those type of games. Any of a dozen different languages would work fine.
I'd recommend starting with Python, and recognizing that it'll take a few years to really learn programming. Take it slow, but be persistent. If you want to actually learn the programming side, you'll have to learn the basics and work up. It's rather like learning a new language like Spanish or French, and it takes time to learn how to put your brain into the new mindset of computer languages.

Once you learn one language, 80-90% of the concepts you learn are applicable to most other computer languages. The important thing is to stick with it for the long haul.

Again, this is if you are sure you are wanting to learn the programming side of things.

By the by, this website (GameDev.net) is heavily active. You don't have to jump on 'living' threads, because every thread created within the past week is living. If you start a new thread, you'll get a few hundred views and at least three responses in less than 45 minutes (well, it's nighttime in the USA at the moment, but you'll get a good number of responses within 24 hours).

To be honest, i'm increasingly finding recommending Python hard. Performance really isn't all that important to a beginner, but Python + PyGame performance really does seem to suck. New developers need to start optimizing far earlier than they should have to. On top of that, Python just doesn't seem to be going anywhere these days... outside of the VFX industry I suppose. In Gamedev look at the current state of Python... pretty much non-existent on mobile, two big name game engines ( PyGame, Panda... I suppose Blender too, but does anyone actually used BGE for anything? ).

Python certainly has some advantages; good documentation, support, good library support and a REPL environment are all good for beginners. On the other hand though, Lua has all of those things too, is easier to learn, faster and has far more support in the game dev world.

In a world where Lua exists, and is as well supported as it is, why recommend Python for game development?

Sorry, just my 2cents.

Python is used very heavily in scientific computing and I use Python regularly at work. Even if not for games it is a really nice language for scripting your way out of problems.

Python is also widely used in the Django web application framework.

I much prefer the syntax of Python to Lua. Especially when it comes to OOP.

I recommend Python because it is in my opinion a great language to learn.

There are python bindings to SFML as well: http://www.python-sfml.org/ . There is also pyglet. For 3D there is Python-Ogre. Pygame runs on Android. As far as PyGame being slow, this thread talks about some things that can be done to improve performance.

I respect your opinion and I am not going to downvote your comment, but I still think you are incorrect (I disagree about Python not going anywhere, that there is just Panda3D and PyGame, that it is nonexistant for Mobile, that it easier to learn as that is subjective, and I also disagree that Lua has far more support in the game development world but I concede that I have no sources to back that up... although the term FAR more seems a bit extreme? Here is a list of games that use python though...) smile.png .

We are making a game engine for the web. It still in early beta but is quite stable.

It is completely based on web technologies (Javascript, jQuery, HTML, & WebGL).

If you are a beginner and want to show off your work to others quickly without needing them to download installer and plugins, you may want

to take a look at our engine.

This is a sample 3D scene created using our platform using only 41 lines of javascript.

Here is a few promo videos:

3DScene.png

BraveWeb.png

Python is used very heavily in scientific computing and I use Python regularly at work. Even if not for games it is a really nice language for scripting your way out of problems.

Python is also widely used in the Django web application framework.

I much prefer the syntax of Python to Lua. Especially when it comes to OOP.

I recommend Python because it is in my opinion a great language to learn.


I suppose I should point out, I am not dumping on Python as a language; obviously there are realms where it is very effective. I am talking solely in the domain of game development; or even more specifically new programmers learning game development.

There are python bindings to SFML as well: http://www.python-sfml.org/ . There is also pyglet. For 3D there is Python-Ogre. Pygame runs on Android. As far as PyGame being slow, this thread talks about some things that can be done to improve performance.


Bindings are just not the same as a native game engine. They are generally second class citizens when it comes to support, you often have no documentation, you generally lag behind the main branch by a couple of versions. Plus it adds another layer for bugs to be introduced and for performance to be sapped. I KNOW that was the case with PyOgre when I checked it out a few years ago. Frankly if you didn't know the native language ( in that case C++ ), could luck puzzling out the API. When it comes to new programmers ( and this is an overly broad statement )... language bindings are generally a bad thing. There are exceptions, but they are just that, exceptions.

I hadn't realized that the PyGame for Android subset existed. In terms of performance, as I said earlier, you don't want new developers to have to think about optimization at all ( within reason of course ). That there are ways to make it perform better are little consolation for a new dev.


I respect your opinion and I am not going to downvote your comment, but I still think you are incorrect (I disagree about Python not going anywhere, that there is just Panda3D and PyGame, that it is nonexistant for Mobile, that it easier to learn as that is subjective, and I also disagree that Lua has far more support in the game development world but I concede that I have no sources to back that up... although the term FAR more seems a bit extreme? Here is a list of games that use python though...) smile.png .


Well, that's exactly how opinions should work, I'm glad to see you get the up/down vote concept ( people... you aren't supposed to down vote because you disagree with something... ) and your rational response is easily deserving of my upvote. In terms of "not going anywhere", well frankly Python really does seem to have stalled. The lack of backward compatibility between Python 3 and 2 seemed to REALLY hurt the languages development. Lua suffers this to a smaller degree between versions 5.1 and 5.2, but to nowhere near the same degree.

In terms of my FAR comment, it's easiest just to look at development tools out there that support Lua... you get lots of mobile toolkits ( LOVE, Corona, Gideros, Moai, Dreemcheest ), 3D Game Engine ( Havok/Vision, Gameplay3D, CryEngine, Polycode ) and those are just the ones that come to mind without a Google search. This of course doesn't include bindings. So while there are a dozen or so games written in Python ( many on that list seemed to be server side only too ), there are literally thousands written in Lua including some pretty big named titles, like the upcoming Shadowrun Returns. I think FAR is actually a reasonable fair adjective to use.

This topic is closed to new replies.

Advertisement