What language to choose?

Started by
12 comments, last by Nypyren 9 years, 6 months ago

Pretty sure this has been asked a thousand times, I've read a lot about it, but I'm still not sure!

I want to create simple, free to play games, so browser games seem like my best option? Or not?

Mostly single player, but I'd also like to be able to add some player interaction, doesn't have to be real time, although the possibility is a plus.

Probably going for full text-based games so won't be needing fancy graphics.

I'm a pretty decent programmer, I just lack experience.

I know C#, VB, Java, PHP, HTML, SQL and I'm pretty sure I can pick up any other language pretty quickly.

The main thing is my games should be easy to access, no downloads or anything!

The more possibilities the better.

I'm pretty good with HTML / PHP / SQL (haven't used HTML5 yet) but I seem to lack possibilities just using PHP especially when trying to add multiplayer content.

Don't really like Java because the updates are really annoying and not everyone has Java installed on their computer.

Not sure about Flash, but seems like a good option?

Maybe HTML5, haven't really looked into it yet?

Any other options?

Would C# / C++ be an option for simple browser games or is that just silly?

Advertisement
For my general language starter advice, read this
http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx

These days however, I would probably let the library I want to use decide the language. Languages are becoming more alike every day, so it is becoming less and less of a factor.

That said, in terms of "easy to access, no downloads", unless you literally mean no downloads, this should be a non factor, pretty much every language can be bundled into a single downloadable executable these days. It can get a bit large, as you are linking everything into the executable, but really, what's a say... 20mb download these days?

If you mean literally no downloads, HTML5 is a no brainer decision, as it's the only real run everywhere with no download option out there. It can be a pretty pleasant experience too, so long as you use the right tools to isolate you from the bullshit that is cross browser support. I have been working on a tutorial series using TypeScript and Phaser ( http://www.gamefromscratch.com/page/Adventures-in-Phaser-with-TypeScript-tutorial-series.aspx ) and enjoy the experience.

not everyone has Java installed on their computer.

Almost everybody has Java installed in their computer. Everyone after Windows XP should have at least Java 6 or later. About 15% of Windows OS are pirated XP and many of them are not updated to the latest Java, but that should not stop you.

Usually their update application in the operating system will detect that a new application is being used which requires a particular update and the update system will download and install it the next time that the computer is restarted. Of course, the update system will notify the end-user right away if the person runs a check for updates manually.

Java has its own update system.

No matter what language and development framework that you use to create your games, there will be numbers of people who can not play your game (at least initially) OR have some compatibility bugs because the owner/end-user has not updated their runtime environment in their computer.

It sounds like a browser game made with HTML 5 would have the fewest compatibility issues, but even there, you probably will run into some until you rise in your level of understanding of HTML 5 development to at least intermediate experience.

Sorry, no free ride with no problems exists out there for the beginner in the areas that you mentioned. Likely you will have issues to overcome until you reach intermediate level. Eventually you will be able to deploy a bug and compatibility free game most of the time. That will take hard work and time.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Required reading.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Probably one of the Big Daddy Languages to start you off. Then learn a scripting language.

Erm... I started off with C, then C++. It's not because of "It's what the Pro's use" But more so that every language seems to be derived FROM C or C++. From what I experienced, it's a language that has an annoying habit of giving you a loaded gun without a safety. You are forced to point it at your own foot, and your finger is teased into pulling the trigger. Which in the case it does happen, you have a pretty high chance of destroying your foot, and taking out people around you. That's pretty much the best analogy I can come up with for the power of C, because it literally lets you do anything you want with few restrictions.

So it can be incredibly fast! Only if you know what the heck you are doing. Because this language does nothing for you. If you leave a pointer dangling, well tough. It doesn't go away till the program is terminated. I definitely don't recommend starting with this language if you do not have a teacher. Other notes. Some people will say it's out of date. When actually, it's expanding. A bit slowly however.

Java was the next language I learned. Coming from C, it was a little trickier to understand some of it's concepts. But the language is overall easier. Syntax is almost, if not, the same as C++. The program is also friendlier with newbie mistakes so Memory Leaks are less prone to happen. But most high end programs aren't made with Java. It's possible, but it requires a lot of wrappers for any games to be developed with it. Probably a good choice for beginners.

C#... I never touched. Mostly because it's tied to only Microsoft, which would be incredibly limiting in my opinion.

I would recommend ActionScript. It's really nice to use, though there are very few IDEs for it. I use FlashDevelop, and I'm really happy with my experience so far. I would recommend ActionScript because:

The majority of computers now have some version of Flash; So, like 3Ddreamer mentioned above with HTML5, you'd have few (If any...) compatibility issues, along with a huge player base at your fingertips.

You can distribute your game easily! Large sites like Kongregate and Armor Games will host your Flash games for you, and even allow you to earn some money on the side! This is important if you plan to make a career out of game development.

Simplistic. With your knowledge of programming languages (Most of which I have some experience in), ActionScript programming should be a breeze for you.

I hope this has helped in your quest for the right programming language. smile.png

Use HTML5 with Javascript.

The Canvas element will allow you to do graphics, and even use graphical acceleration in the future if you get into that.

PHP can be really decent for the back end, for a simple game. It's hardly fast, but if you know it and you're just looking for ease of development, it's potentially a good call. There are many older multiplayer games (particular management and empire type games) which functioned sort of like forums, using ticks, and were all PHP and HTML.

Tell us more about what you want to make, and we can advise you better on how to get started.

Be aware that you can also build unto an existing engine to have a little shortcut for medium sized games upwards... not that useful if you really want to stay with smaller games though.

And the engine will not relief you from any programming tasks, you still need to code a lot. And as with the frameworks already mentioned, most engines also dictate to some extent what language to use.

As for the language choice (given that you want to go without any engine and minimal framework help), I would second the idea to go with what you know best. Especially if you are not that interested in flashy graphics, nowadays you can do a lot with HTML. Have a look into that before you head off in a new direction. Working with a language you know will make you productive in a shorter time.

I just want to get started on some small projects, something like cookie clicker or clickerheroes, maybe something like tribal wars, kings of chaos, ...

When I find something people really like I might want to put some more effort into the game.

Still doubting if I should use a graphical interface, since I basically know nothing about images / graphics ...





C#... I never touched. Mostly because it's tied to only Microsoft, which would be incredibly limiting in my opinion.

Actually C# will run in any computer. C# is one of the many standard languages recognized by all makers.

The real issue for OS or hardware cross-platform implementation is to have an intermediate layer which is a framework between the language and the machine/assembly language. True it is that C# was made specifically for Microsoft's .NET Framework (actually tailored specifically for development toward .NET), but C# is accepted in the industry as a standard language which any developer may use to write coding of applications and any computer will read it as long as the runtime framework is present, as what is written in C# will be interpreted by that framework layer.

Think that the framework is unnecessary overhead? Game engines are another example of an intermediate layer framework in which you may develop applications and software, often both OS and hardware cross-platform. No coder has the ability to do all the things that they want to do in machine/assembly language because it is unreadable to humans. C# is another standard high level language among many which enables the coder to command the computer what to do.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

This topic is closed to new replies.

Advertisement