Java or C++
#1
Posted 26 September 2009 - 12:39 PM
#2
Posted 26 September 2009 - 01:49 PM
If you're learning just to make your own little games, then Java is as good a choice as C++. There's differences of course, but you'll be able to make games with both. If you're interested in DirectX 10 support though, I'd say C++ is the better choice, as DirectX is configured for C++ use out-of-the-box, while on Java you probably (?) need some sort of wrapper...
- www.mattiasgustavsson.com - My blog and current projects
- www.rivtind.com - My Fantasy world and isometric RPG engine
- www.pixieuniversity.com - My Software 2D Game Engine
#3
Posted 26 September 2009 - 03:31 PM
Mattias Gustavsson said:
If you're learning just to make your own little games, then Java is as good a choice as C++. There's differences of course, but you'll be able to make games with both. If you're interested in DirectX 10 support though, I'd say C++ is the better choice, as DirectX is configured for C++ use out-of-the-box, while on Java you probably (?) need some sort of wrapper...
Well I guess i should go with c++ then. Since that c++ supports directx 10 the graphics wont come out fuzzy like in the blitz3d. Also when I start learning c++ do you think I should start with 2d or 3d?(I have experience with both 2d and 3d)
#4
Posted 26 September 2009 - 04:11 PM
MMO said:
Hmm, I don't understand what you mean here... if you use 2d-sprites and linear interpolation, things will look just as blurred in DirectX10 as in DirectX7... If you use 3D objects, it will look just as sharp in both DirectX7 as it will in DirectX10.
Perhaps it will be easier for us to advise you if you describe what type of game you're making, and what the reasons are that you feel that Blitz might be inadequate...
- www.mattiasgustavsson.com - My blog and current projects
- www.rivtind.com - My Fantasy world and isometric RPG engine
- www.pixieuniversity.com - My Software 2D Game Engine
#5
Posted 27 September 2009 - 03:34 AM
#6
Posted 27 September 2009 - 06:56 AM
fireside said:
There's also Edit-and-continue in visual studio: set a breakpoint, make your changes, resume execution. Works a treat most of the time. I don't think using a scripting language is useful for the lone dev/hobbyist.
- www.mattiasgustavsson.com - My blog and current projects
- www.rivtind.com - My Fantasy world and isometric RPG engine
- www.pixieuniversity.com - My Software 2D Game Engine
#7
Posted 27 September 2009 - 10:56 AM
I see your name is "MMO" and maybe in the near to far future youd like to have a networked game for people to connect to :) (i am not concerned, if its just a dream of yours to have, at least you sound like you honestly want to do a bit of work yourself.), im quite sure java has in it the networking stuff you need. But of course c++ has it too.
You could write a mini mmo with both.
Java is technically a little less of a performer than c, but if you cut the game down in a few areas, im pretty sure java can impress.
If you were writing in java, youd be using their 3d library, which is not direct x, but its still quite impressive...
#8
Posted 27 September 2009 - 01:01 PM
#9
Posted 27 September 2009 - 01:22 PM
Quote
There isn't a big advantage. A lot of engines compile to a dll so it's very much like a scripted engine except you can go back and recompile the dll with your own changes. Still, it's easy to make memory errors with c++ and time gets wasted finding the errors which isn't necessary with a scripted language. C++ has a longer learning curve because of the memory issue and pointers so it takes more time to get started making a game, so I would argue the point. A lone developer needs to worry about art work and game design, so it's a very large agenda already. It's going to mostly boil down to personal preference. People who are more technical will choose c++ and generally have a lot more problem doing art work. People who are a little more artistic will generally choose a script language. If you take a look at the more productive engines like Unity, Torque, and many others, you can see that a lot of people are doing better with a scripted engine. It would be interesting to get XNA statistics, but I would be willing to bet that the majority of lone developers and hobbyists are using c#. Memory issues are a pain in the neck and if you aren't in that type of mind frame, it's better to avoid the issue by using a memory managed language. Most of the engines are written in c, so the speed difference is minimal for the amount of script used.
#10
Posted 27 September 2009 - 01:59 PM
I do agree with the longer learning curve though. It takes a very, very long time before you can start using C++ well.
#11
Posted 27 September 2009 - 02:53 PM
- www.mattiasgustavsson.com - My blog and current projects
- www.rivtind.com - My Fantasy world and isometric RPG engine
- www.pixieuniversity.com - My Software 2D Game Engine
#12
Posted 28 September 2009 - 12:19 AM
Mattias Gustavsson said:
The Mac users on this forum burn with wrath as they look in your general direction. :dry:
#13
Posted 28 September 2009 - 08:55 AM
- www.mattiasgustavsson.com - My blog and current projects
- www.rivtind.com - My Fantasy world and isometric RPG engine
- www.pixieuniversity.com - My Software 2D Game Engine
#14
Posted 28 September 2009 - 10:09 AM
Mattias Gustavsson said:
Well, the PS3 and many (most?) mobile devices use OpenGL, so I don't think it's all about DirectX anymore.
In any case, it's not like someone who knows one is going to have a really hard time learning the other. I think employers would be mainly just looking for someone who can make stuff - their API of choice is really a secondary consideration.
#15
Posted 30 September 2009 - 02:34 AM
As for C++ vs Java, I've never been enamored with byte code/JIT languages for stuff that needs to run fast, so I tend to stick to C++. Also my personal experience with Java has been sub-optimal but I'll have to admit I haven't tried it in a few years.
Also I'm a bit confused by the entire programming language fear factor that seems to go around these days. At some point in the not so distant past you rarely heard talk of language X being too complex for someone. If you needed to program in X you got a book, took a class etc. Now I sometimes get yelled at for recommending C++ to someone because It's "too hard" for them. My opinion is if Java, C#, Visual Basic or some scripting language makes sense in a given case use them, but don't be afraid of C++ or any other language. There is no computer language that should scare anyone.
#16
Posted 30 September 2009 - 03:52 AM
In all seriousness, though: while C++ certainly can be learned by anyone with a modicum of programming experience, I think the general consensus is that C++ is not the best choice for a first language. We usually recommend Python or some such as a first language, because when you're just getting familiar with how computer languages work and learning to think like a programmer, it's a lot less confusing and frustrating if you don't have to worry about memory management, the funny ways C/C++ treat strings and arrays, the idiosyncrasies and gotchas of the standard library and STL, and so on. I think possibly the disapproval of C++ as a first language may be what you are encountering when people say it's too hard for someone.
#17
Posted 30 September 2009 - 07:41 PM
#18
Posted 30 September 2009 - 09:11 PM
With great power comes the great responsibility.
#19
Posted 30 September 2009 - 10:41 PM
Mattias Gustavsson said:
What serious game company asks it's applicants for DirectX knowledge? Sure, if you're interested in a graphics programmer on PC, then DirectX is a plus. But otherwise I don't think I've ever seen that as a requirement.
-
Currently working on: the 3D engine for Tomb Raider.
#20
Posted 30 September 2009 - 10:50 PM
fireside said:
-
Currently working on: the 3D engine for Tomb Raider.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











