Some questions around game developement

Whether you're a newbie or an experienced programmer, any questions, help, or just talk of any language will be welcomed here.

Moderator: Coders of Rage

TheCompBoy
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 10
Joined: Thu Dec 01, 2011 11:15 am

Some questions around game developement

Post by TheCompBoy »

Hello people!

I had some questions i need answears for, Hope some nice people in this comunity can help me.
Note that all theese questions don't have a connection i just want to find the answear of all of my questions.

1. What languages does the Elysian Shadow team use for their game?
2. How can i use Lua together with C++?
3. What reasons is it to use Lua with C++?
4. Why do most programmers not recomend creating games in Java?
5. What library is best for creating C++ games (SDL, Allegro etc etc) ?

Thanks in advance guys!
User avatar
THe Floating Brain
Chaos Rift Junior
Chaos Rift Junior
Posts: 284
Joined: Tue Dec 28, 2010 7:22 pm
Current Project: RTS possible Third Person shooter engine.
Favorite Gaming Platforms: PC, Wii, Xbox 360, GAME CUBE!!!!!!!!!!!!!!!!!!!!!!
Programming Language of Choice: C/C++, Python 3, C#
Location: U.S

Re: Some questions around game developement

Post by THe Floating Brain »

0: C++ and Lua.
1: You would use the Lua C API (which you can link with your program like you would with SDL or any other library), and something like Luabind or ToLua++.
2: It makes things a heck of a lot easier, for example you dont have to deal with the overhead of your OO structure, and everything can be in one place.
3: The main reason is that Java is slow and games are performance intensive (that's why C++ is generally used or even C#) additionally it is more for business
applications, and web development (Also Java in my opinion is a poorly designed language).
4: It depends on your needs, here is some basic classification:
Algorithm.png
Algorithm.png (29.49 KiB) Viewed 3616 times
"Why did we say we were going to say we were going to change the world tomorrow yesterday? Maybe you can." - Myself

ImageImage
TheCompBoy
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 10
Joined: Thu Dec 01, 2011 11:15 am

Re: Some questions around game developement

Post by TheCompBoy »

Thanks for great answear for my questions!

Tho i wonder if Java still works to create some small browsergames lookalikes.. Im not into creating something big i just want to tinker a bit :)
Else i found C++ a little bit more complicated, I like the language but i still have much to learn.
User avatar
Ginto8
ES Beta Backer
ES Beta Backer
Posts: 1064
Joined: Tue Jan 06, 2009 4:12 pm
Programming Language of Choice: C/C++, Java

Re: Some questions around game developement

Post by Ginto8 »

I'd like to add a little bit of personal experience for 4.

Java is a decent language, but there are two big things that make it unsuitable for game development, and simulation in general.
1) Swing Graphics API. You don't have to use it, but this are the first readily available tool for drawing, and it SUCKS. Its speed is mediocre at best, and it's especially clunky when trying to draw images (e.g. sprites).
2) General Java Bloat. I could write essays on this. Everything in Java is bloated; RTTI is everywhere, EVERY non-primitive type is a heap-based reference capable of being polymorphed, and it seems to encourage doing as much work as possible at run-time. As an example, I wrote a 2D collision test with bouncing balls, and wanted my collision detection method to return the overlap as a vector. To do this I had to have EVERY collision test return a heap-allocated reference. Why? Because Java doesn't allow passing primitives by reference, or creating non-reference data types.
3) Control. When developing a game, you want control. Why? Because simulating hundreds, or maybe thousands, of game objects, with updates 20 or more times per second, is very resource-costly. You can't afford to deal with Java's preset, "one way to do it" system if it just isn't fast enough. If you are writing a game in Java and Java's "Right Way" just doesn't fit, be prepared to cut off a couple toes and sacrifice a goat to get what you want.
Quit procrastinating and make something awesome.
Ducky wrote:Give a man some wood, he'll be warm for the night. Put him on fire and he'll be warm for the rest of his life.
User avatar
THe Floating Brain
Chaos Rift Junior
Chaos Rift Junior
Posts: 284
Joined: Tue Dec 28, 2010 7:22 pm
Current Project: RTS possible Third Person shooter engine.
Favorite Gaming Platforms: PC, Wii, Xbox 360, GAME CUBE!!!!!!!!!!!!!!!!!!!!!!
Programming Language of Choice: C/C++, Python 3, C#
Location: U.S

Re: Some questions around game developement

Post by THe Floating Brain »

TheCompBoy wrote:Thanks for great answear for my questions!
Hey no prob!

Ginto8 wrote:I'd like to add a little bit of personal experience for 4.

Java is a decent language, but there are two big things that make it unsuitable for game development, and simulation in general.
1) Swing Graphics API. You don't have to use it, but this are the first readily available tool for drawing, and it SUCKS. Its speed is mediocre at best, and it's especially clunky when trying to draw images (e.g. sprites).
2) General Java Bloat. I could write essays on this. Everything in Java is bloated; RTTI is everywhere, EVERY non-primitive type is a heap-based reference capable of being polymorphed, and it seems to encourage doing as much work as possible at run-time. As an example, I wrote a 2D collision test with bouncing balls, and wanted my collision detection method to return the overlap as a vector. To do this I had to have EVERY collision test return a heap-allocated reference. Why? Because Java doesn't allow passing primitives by reference, or creating non-reference data types.
3) Control. When developing a game, you want control. Why? Because simulating hundreds, or maybe thousands, of game objects, with updates 20 or more times per second, is very resource-costly. You can't afford to deal with Java's preset, "one way to do it" system if it just isn't fast enough. If you are writing a game in Java and Java's "Right Way" just doesn't fit, be prepared to cut off a couple toes and sacrifice a goat to get what you want.
I can not agree more. Additionally no operator and/or method overloading, no non-pure virtual methods unless you inherit from an interface, enums = classes, no pointers, no function pointers, linar inheritance (I guess thats not too important but still :-) ).
TheCompBoy wrote: Tho i wonder if Java still works to create some small browsergames lookalikes.. Im not into creating something big i just want to tinker a bit :)
Else i found C++ a little bit more complicated, I like the language but i still have much to learn.
If that is all you are planning to do (say Mario, mega-man) then Java should work just fine, although I would watch out for what Ginto8 pointed out with the '' "Right Way" thing '' you may want to get another graphics lib ;)
"Why did we say we were going to say we were going to change the world tomorrow yesterday? Maybe you can." - Myself

ImageImage
TheCompBoy
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 10
Joined: Thu Dec 01, 2011 11:15 am

Re: Some questions around game developement

Post by TheCompBoy »

I decided to instead starting with something in Java i would go for something in C++.
I'll go with the SDL library for this game im creating.. This brings me another question tho!

Is Visual C++ still the number 1 IDE or is there something better out there?
User avatar
short
ES Beta Backer
ES Beta Backer
Posts: 548
Joined: Thu Apr 30, 2009 2:22 am
Current Project: c++, c
Favorite Gaming Platforms: SNES, PS2, SNES, SNES, PC NES
Programming Language of Choice: c, c++
Location: Oregon, US

Re: Some questions around game developement

Post by short »

TheCompBoy wrote:I decided to instead starting with something in Java i would go for something in C++.
I'll go with the SDL library for this game im creating.. This brings me another question tho!

Is Visual C++ still the number 1 IDE or is there something better out there?
matter of opinion, I happen to think so. But this has been coming into question lately, mostly because how bloated / slow VS is becoming.
My github repository contains the project I am currently working on,
link: https://github.com/bjadamson
tappatekie
Chaos Rift Junior
Chaos Rift Junior
Posts: 204
Joined: Mon Nov 21, 2011 3:01 pm
Current Project: Web browser from scratch
Favorite Gaming Platforms: SNES, PSP, PS1 and 3
Programming Language of Choice: C#
Location: A house near me
Contact:

Re: Some questions around game developement

Post by tappatekie »

If I was to go with a visual studio version, id go for 2008 (9) since it's less bloated and faster. I used to use 2008 just fine according to speed (on a netbook), but since my recent upgrade to 2010, I personally would not recommend it (unless you have a good PC) since it uses around 100mb of memory per instance of visual studio which just makes everything slower. But debuggin on 2010 is very fustrating with speed, so if you are going to do alot of debugging, go for 2008.
TheCompBoy
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 10
Joined: Thu Dec 01, 2011 11:15 am

Re: Some questions around game developement

Post by TheCompBoy »

Im only coding on a laptop at the moment so i would like the slower one, But is VC the only choise or is there other C++ compilers i can choose from that are fairly up to date?
User avatar
short
ES Beta Backer
ES Beta Backer
Posts: 548
Joined: Thu Apr 30, 2009 2:22 am
Current Project: c++, c
Favorite Gaming Platforms: SNES, PS2, SNES, SNES, PC NES
Programming Language of Choice: c, c++
Location: Oregon, US

Re: Some questions around game developement

Post by short »

TheCompBoy wrote:Im only coding on a laptop at the moment so i would like the slower one, But is VC the only choise or is there other C++ compilers i can choose from that are fairly up to date?
All of the major compilers implement C++03 completely I believe, if you're looking for C++11 support then take a look at the various compiler's websites for which features they support. Each compiler vendor has picked/chosen features they thought prevalent to implement, so they're kind of all over the place.
My github repository contains the project I am currently working on,
link: https://github.com/bjadamson
TheCompBoy
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 10
Joined: Thu Dec 01, 2011 11:15 am

Re: Some questions around game developement

Post by TheCompBoy »

The Netbeans for C/C++ looks pretty good, I already have it installed since i did code some stuff in java, I'll check it out and see if it suits me.
User avatar
ismetteren
Chaos Rift Junior
Chaos Rift Junior
Posts: 276
Joined: Mon Jul 21, 2008 4:13 pm

Re: Some questions around game developement

Post by ismetteren »

Ginto8 wrote:To do this I had to have EVERY collision test return a heap-allocated reference. Why? Because Java doesn't allow passing primitives by reference, or creating non-reference data types.
Just out of interest, is this not the case for most languages, except for C/C++?
Image ImageImage Image
User avatar
THe Floating Brain
Chaos Rift Junior
Chaos Rift Junior
Posts: 284
Joined: Tue Dec 28, 2010 7:22 pm
Current Project: RTS possible Third Person shooter engine.
Favorite Gaming Platforms: PC, Wii, Xbox 360, GAME CUBE!!!!!!!!!!!!!!!!!!!!!!
Programming Language of Choice: C/C++, Python 3, C#
Location: U.S

Re: Some questions around game developement

Post by THe Floating Brain »

ismetteren wrote:
Ginto8 wrote:To do this I had to have EVERY collision test return a heap-allocated reference. Why? Because Java doesn't allow passing primitives by reference, or creating non-reference data types.
Just out of interest, is this not the case for most languages, except for C/C++?
I would not assume it for all languages (especially for older ones such as Pascal).

Just my opinion on the IDE thing, I would choose Qt it is: fast, multi platform, and everything is integrated (even scripting!), although VC++ is more user friendly.
"Why did we say we were going to say we were going to change the world tomorrow yesterday? Maybe you can." - Myself

ImageImage
User avatar
JamesParkes
Chaos Rift Junior
Chaos Rift Junior
Posts: 212
Joined: Sat Jan 07, 2012 4:21 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Nintendo 64, Xbox 360
Programming Language of Choice: C++
Location: Madison, Alabama
Contact:

Re: Some questions around game developement

Post by JamesParkes »

Qt for the Win :worship:
James Parkes
Computer Programmer, Graphic Artist

Email: parkesrjames@gmail.com
Twitter: http://www.twitter.com/parkesrjames
Facebook: http://www.facebook.com/parkesrjames
Portfolio: http://james.parkesnet.org
tappatekie
Chaos Rift Junior
Chaos Rift Junior
Posts: 204
Joined: Mon Nov 21, 2011 3:01 pm
Current Project: Web browser from scratch
Favorite Gaming Platforms: SNES, PSP, PS1 and 3
Programming Language of Choice: C#
Location: A house near me
Contact:

Re: Some questions around game developement

Post by tappatekie »

Quick question, can I learn c++ using just qt? (with help from www for language). I mean, would you recommend me to learn c++ using just the QT IDE. Also, could QT Creator be used without the use of QT API's and only rely on Win32 api's
Post Reply