Jump to content
  • Advertisement
Sign in to follow this  
Pascal Claes

What language to choose?

This topic is 1474 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Edited by Gian-Reto

Share this post


Link to post
Share on other sites

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 ...

Share this post


Link to post
Share on other sites





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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!