Replies To: Noob looks for language...

Re: Noob looks for language...

Posted 18 November 2013 - 08:03 AM

You've never programmed I'm guessing?

What kind of operations? A game does several different kinds of operations, usually across different processors.

Is your game graphically intensive and/or 3d? You may want to use a pre-existing engine to get into the meat of making a game instead of the technicality of making your own engine. Unity3D is a good 3D engine with a selection of langauges to write in.

Or if you do want to tinker with your own engine, but just need the ground work laid out for you. You might want to look at XNA which is usually written in C# (you can write in other .Net languages if you prefer, but most everyone writes C# for it, so it'd have the easiest learning curve for when researching).

But really I can't give you a good answer with out knowing what you want to do.

But I'll say that the answer is going to not be about what language is good for making a game "with a lot of operations". The language you use will be based on what technologies you want to access and how you want to approach your problem.

Re: Noob looks for language...

Posted 18 November 2013 - 08:41 AM

lordofduct, on 18 November 2013 - 08:03 AM, said:

You've never programmed I'm guessing?

I took a Massive Online Course ~2 months ago and learnt the basics of Python. Since then I've been diving a bit into the language and trying to recreate some strategy games elements - but with no graphic interface.

lordofduct, on 18 November 2013 - 08:03 AM, said:

What kind of operations? A game does several different kinds of operations, usually across different processors.

Tons of calculations with integers, basically.

lordofduct, on 18 November 2013 - 08:03 AM, said:

Is your game graphically intensive and/or 3d? You may want to use a pre-existing engine to get into the meat of making a game instead of the technicality of making your own engine. Unity3D is a good 3D engine with a selection of langauges to write in.

So far I'd be satisfied with something simple, not even 3D. However, If I endure with the project I have in mind (which I doubt), I'd like to know If there are free and somewhat presentable 3D graphic engines around, something I could use to have profit.

lordofduct, on 18 November 2013 - 08:03 AM, said:

But I'll say that the answer is going to not be about what language is good for making a game "with a lot of operations". The language you use will be based on what technologies you want to access and how you want to approach your problem.

Re: Noob looks for language...

Posted 18 November 2013 - 08:44 AM

Quote

So far I'd be satisfied with something simple, not even 3D. However, If I endure with the project I have in mind (which I doubt), I'd like to know If there are free and somewhat presentable 3D graphic engines around, something I could use to have profit.

You're not at that point yet. Grab a Python book and stick with that. You're already somewhat familiar with the language. Don't do yourself a disservice by thinking that language hopping will get you a big 3D game faster. It won't. Honestly, until you've had a couple years of solid experience at least, you won't be ready for 3D games.

Re: Noob looks for language...

Posted 19 November 2013 - 08:19 AM

Tons of integer calculations really actually isn't much. You'd notice a difference if you had written it in C++ vs if you had written it in javascript running in a browser. But it's not really the languages fault, it's the fact the javascript is being interpreted language. You can have a javascript compiler that compiles to say CIL to run in the .Net/Mono runtime that would run better than being interpreted by a browser.

It's not like it has NO influence, but at the same time you can't actually judge it by the language because the way the language is handled could change things.

For example Unity3D has its main engine written in C++ (I believe) and uses directx/opengl for graphics (depending if you compile for windows or non-windows, noting opengl supports windows as well). It also uses the Mono runtime (its the open-source version of .Net) to allow its users to script their game. The available scripting languages directly supported are:

C#
Unityscript (a dialect of ecmascript that is pretty much javascript, and everyone calls it javascript)
boo

All 3 compile down to be ran in the Mono runtime. Your javascript in this case runs nearly just as well as C#. Your selection of language here has nothing to do with efficiency with that specific language, but with your preference for either language.

And because it compiles to be ran in the Mono runtime, really any language that can be compiled to Mono's CIL can be used. You could event invent your own language and just need to write the compiler that turns it into Mono's CIL (common interpreted language).

Mono/.Net is a set up called JIT compiling. It works like Java in that when you write the program you then compile it part way, get a bit of the compiling job done. Then this partially compiled code is what is delivered to the customer, and when they run it on their machine the runtime compiles it to their specific machine. This allows your program to be easily cross-platform with out any need to compile it for each specific hardware/OS combination. (of course any IO and OS dependent activity you do in code you'll have to handle... but the frameworks that these runtimes use often give you tools to make that easy).

Personally I suggest checking out Unity3D, it is free to use the standard version (the pro version costs money). You can make games on the standard version and distribute them. You're only required to get the pro version if your distribution makes over a certain amount of profit (and that profit line vs the cost of the engine is pretty reasonable... if you've made 50grand and you gotta shell out a measily 2 grand for the engine... big whoop).

Some people have actually even worked on making a python compiler to compile python for direct use in Unity3D. Though you could easily just use any of the other various languages too. I personally prefer C# since I write a lot of .Net anyway.