|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
You could use the time as a parameter for your seed, which would probably be psuedorandom enough for your purpose
|
Does anybody here have any experience with the Camera object in Papervision3D ( Flash library for 3d engine )? I've set it up but the perspective on the camera really messes up the preciseness of the placed pixels while I need to make a transition between a regular bitmap and a 3D plane as unnoticable as possible...
Perhaps there are other libraries out there that fit the job better?
|
On January 06 2012 06:06 Pawsom wrote:You could use the time as a parameter for your seed, which would probably be psuedorandom enough for your purpose But the spawning happens at fixed intervals, so it isn't all that random. Will it still be random enough for it to not matter? I mean, I know I don't need absolutely perfectly random numbers, but how random is random enough?
|
On January 02 2012 22:37 FranzP wrote:Show nested quote +On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway) Purely in terms of performance, C# and Java are pretty much the same, so that's definitely not a reason against Java when you compare it with C#. There is no 3D library that I know of that is as good as XNA for Java though and I personally like C# a lot more than Java, it feels a lot more modern.
|
On January 06 2012 09:39 Millitron wrote:Show nested quote +On January 06 2012 06:06 Pawsom wrote:You could use the time as a parameter for your seed, which would probably be psuedorandom enough for your purpose But the spawning happens at fixed intervals, so it isn't all that random. Will it still be random enough for it to not matter? I mean, I know I don't need absolutely perfectly random numbers, but how random is random enough? You only need to seed your randomizer once at the beginning of execution, not every time you spawn. The point of seeding the randomizer is just that you will get different random numbers every time you run the program.
|
On January 06 2012 10:48 klo8 wrote:Show nested quote +On January 02 2012 22:37 FranzP wrote:On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway) Purely in terms of performance, C# and Java are pretty much the same, so that's definitely not a reason against Java when you compare it with C#. There is no 3D library that I know of that is as good as XNA for Java though and I personally like C# a lot more than Java, it feels a lot more modern. Just to clarify, XNA encapsulates DirectX and does a lot of the underlying work for you. If you want to use OpenGL and perhaps go a bit more in-depth with your engine programming, there are a number of C# wrappers for OpenGL out there. I personally have used Tao and found it to be quite sufficient, but I'm sure that there are merits to the others as well.
|
That JMonkey Engine is pretty good and incredibly easy to use once you learn how to do stuff with it, besides its java and I like java! And apparently you can port your games to Android.
A downside that I can think off is the lack of an organized documentation and tutorials, you have to search and look into their example codings and figure out what does what by yourself.
I'm having trouble using custom Shaders but thats because it has been 2 years since I last wrote a GLSL code 
If anyone knows how to create a shader to make a sphere look like the sun please teach me!
|
On January 06 2012 10:55 Uranium wrote:Show nested quote +On January 06 2012 09:39 Millitron wrote:On January 06 2012 06:06 Pawsom wrote:You could use the time as a parameter for your seed, which would probably be psuedorandom enough for your purpose But the spawning happens at fixed intervals, so it isn't all that random. Will it still be random enough for it to not matter? I mean, I know I don't need absolutely perfectly random numbers, but how random is random enough? You only need to seed your randomizer once at the beginning of execution, not every time you spawn. The point of seeding the randomizer is just that you will get different random numbers every time you run the program. OH, thank you, I understand now.
|
On January 06 2012 10:59 Uranium wrote:Show nested quote +On January 06 2012 10:48 klo8 wrote:On January 02 2012 22:37 FranzP wrote:On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway) Purely in terms of performance, C# and Java are pretty much the same, so that's definitely not a reason against Java when you compare it with C#. There is no 3D library that I know of that is as good as XNA for Java though and I personally like C# a lot more than Java, it feels a lot more modern. Just to clarify, XNA encapsulates DirectX and does a lot of the underlying work for you. If you want to use OpenGL and perhaps go a bit more in-depth with your engine programming, there are a number of C# wrappers for OpenGL out there. I personally have used Tao and found it to be quite sufficient, but I'm sure that there are merits to the others as well.
So what I am understanding in this is that Java isn't the proper choice to use for creating games, especially 3D games, and that C# is the language that is standard for video game development. What I also understand from this is that XNA is really just a provider of a sufficient 3D library?
|
On January 06 2012 15:26 Leftwing wrote:Show nested quote +On January 06 2012 10:59 Uranium wrote:On January 06 2012 10:48 klo8 wrote:On January 02 2012 22:37 FranzP wrote:On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway) Purely in terms of performance, C# and Java are pretty much the same, so that's definitely not a reason against Java when you compare it with C#. There is no 3D library that I know of that is as good as XNA for Java though and I personally like C# a lot more than Java, it feels a lot more modern. Just to clarify, XNA encapsulates DirectX and does a lot of the underlying work for you. If you want to use OpenGL and perhaps go a bit more in-depth with your engine programming, there are a number of C# wrappers for OpenGL out there. I personally have used Tao and found it to be quite sufficient, but I'm sure that there are merits to the others as well. So what I am understanding in this is that Java isn't the proper choice to use for creating games, especially 3D games, and that C# is the language that is standard for video game development. What I also understand from this is that XNA is really just a provider of a sufficient 3D library? It depends on the video game. If you want to write something like CounterStrike or SC2, you will probably use c++. If you want to write a game for Android, it will always be Java. if you want to write a simple game, it doesn't really matter that much imo. Java, C#, Flash, it will be sufficient.
|
On January 06 2012 19:51 Roban wrote:Show nested quote +On January 06 2012 15:26 Leftwing wrote:On January 06 2012 10:59 Uranium wrote:On January 06 2012 10:48 klo8 wrote:On January 02 2012 22:37 FranzP wrote:On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway) Purely in terms of performance, C# and Java are pretty much the same, so that's definitely not a reason against Java when you compare it with C#. There is no 3D library that I know of that is as good as XNA for Java though and I personally like C# a lot more than Java, it feels a lot more modern. Just to clarify, XNA encapsulates DirectX and does a lot of the underlying work for you. If you want to use OpenGL and perhaps go a bit more in-depth with your engine programming, there are a number of C# wrappers for OpenGL out there. I personally have used Tao and found it to be quite sufficient, but I'm sure that there are merits to the others as well. So what I am understanding in this is that Java isn't the proper choice to use for creating games, especially 3D games, and that C# is the language that is standard for video game development. What I also understand from this is that XNA is really just a provider of a sufficient 3D library? It depends on the video game. If you want to write something like CounterStrike or SC2, you will probably use c++. If you want to write a game for Android, it will always be Java. if you want to write a simple game, it doesn't really matter that much imo. Java, C#, Flash, it will be sufficient.
What he said, plus - XNA is pretty much the choise if you want to make a game for windows phone + xna's keyboard support sucks donkey balls - you don't get the order of keys pressed and the information you get from the keyboard is actually frame dependant, which means with dropped frames you will not get the keys pressed. Oh, and C is still used widely.
|
On January 06 2012 15:26 Leftwing wrote:Show nested quote +On January 06 2012 10:59 Uranium wrote:On January 06 2012 10:48 klo8 wrote:On January 02 2012 22:37 FranzP wrote:On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway) Purely in terms of performance, C# and Java are pretty much the same, so that's definitely not a reason against Java when you compare it with C#. There is no 3D library that I know of that is as good as XNA for Java though and I personally like C# a lot more than Java, it feels a lot more modern. Just to clarify, XNA encapsulates DirectX and does a lot of the underlying work for you. If you want to use OpenGL and perhaps go a bit more in-depth with your engine programming, there are a number of C# wrappers for OpenGL out there. I personally have used Tao and found it to be quite sufficient, but I'm sure that there are merits to the others as well. So what I am understanding in this is that Java isn't the proper choice to use for creating games, especially 3D games, and that C# is the language that is standard for video game development. What I also understand from this is that XNA is really just a provider of a sufficient 3D library?
Triple A games are usually C++ If you want a multiplatform game then Java Otherwise C#, at the end of the day it doesn't really matter. Just that C# has a good framework with XNA, Bastion was made with C#, for example, and it is a very solid game.
|
On January 06 2012 19:58 Herper wrote:Show nested quote +On January 06 2012 15:26 Leftwing wrote:On January 06 2012 10:59 Uranium wrote:On January 06 2012 10:48 klo8 wrote:On January 02 2012 22:37 FranzP wrote:On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway) Purely in terms of performance, C# and Java are pretty much the same, so that's definitely not a reason against Java when you compare it with C#. There is no 3D library that I know of that is as good as XNA for Java though and I personally like C# a lot more than Java, it feels a lot more modern. Just to clarify, XNA encapsulates DirectX and does a lot of the underlying work for you. If you want to use OpenGL and perhaps go a bit more in-depth with your engine programming, there are a number of C# wrappers for OpenGL out there. I personally have used Tao and found it to be quite sufficient, but I'm sure that there are merits to the others as well. So what I am understanding in this is that Java isn't the proper choice to use for creating games, especially 3D games, and that C# is the language that is standard for video game development. What I also understand from this is that XNA is really just a provider of a sufficient 3D library? Triple A games are usually C++ If you want a multiplatform game then Java Otherwise C#, at the end of the day it doesn't really matter. Just that C# has a good framework with XNA, Bastion was made with C#, for example, and it is a very solid game.
Not just usually... you'd have to search for a long time and really hard to find a triple A game that isn't done in C++. With 7 year old hardware (the current console generation) you have to apply optimizations to games that you simply can not do in Java or C#.
Most games written in C# using XNA are indie games that end up in the Live Marketplace or the indie games section. On the PS3, even indies just use the devkit (which is expensive for someone with no money) and C++, too. On the Wii, I'm not sure... never looked at it. The only place where you find Java are Android devices and some PC games (of course, Minecraft is written in Java).
Oh man I sound like a C++ fanboy in this thread. Well, I am. But that said, if you're new to game programming, you're much better off just using C#. The reason I say "don't use Java" is because the game developing community in Java is really small. You will have a very hard time finding libraries for high level stuff that you want to do (remember rendering is only the smallest part of a game - you'll need much more if you don't want to do everything by yourself).
At least when you're learning, that is. The first couple of years your priority will not be to get multiplatform games so that many people can play your game (nobody will want to, anyways), but to actually finish small protoypes. This in itself is hard enough. It will be a long, long time before you even have the capability (mostly artistically - designing games is very, very hard. But technically too, of course. It just takes experience to get how to design the software-architecture of a game) to create something that anyone wants to play.
Also, XNA does more than just provide a (very simple and nice) wrapper around DirectGraphics. It has an easily extendable content pipeline which makes it easy to load and use assets (textures, shaders, sounds etc.). It also provides some basic audio-playback functionality and of course user-input methods (for keyboard/mouse and the XBOX360 controller... I didn't use XNA for a while so I'm not sure if it actually has joystick support, although you should be able to address a joystick using the controller interface).
|
|
On January 04 2012 04:57 obesechicken13 wrote: So I figure I've wasted a lot of time this break. What should I spend my time on programming to not feel like complete horseshit? I'm reviewing some lynda videos right now but the ones on excel and ios are just really boring.
Not sure exactly what you're looking for or your level of expertise, but I suggest learning a new language. I recently came across clojure.
|
So I've been reading about how to handle logins and how to remember logins http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ.
This is how I interpret the link above: - Google suggests that a session ID should be created (and probably stored in database) to pass along every time client sends data to server. - This session ID is the only login information that is to be stored in cookies.
Now to my questions: 1. Do I need to also store username in cookies or is this bad? 2. Is it ok to just renew the session ID cookie duration each time the user visit the website or should I generate a new session ID?
|
On January 07 2012 06:24 SCbiff wrote:Show nested quote +On January 04 2012 04:57 obesechicken13 wrote: So I figure I've wasted a lot of time this break. What should I spend my time on programming to not feel like complete horseshit? I'm reviewing some lynda videos right now but the ones on excel and ios are just really boring. Not sure exactly what you're looking for or your level of expertise, but I suggest learning a new language. I recently came across clojure.
Dude, why won't you convince him to learn C? It's easily translatable to C++, C# and basically every other language out there. At least you get the basics and you learn stuff from the ground up, not the other way around.
|
On January 06 2012 20:10 heishe wrote:Show nested quote +On January 06 2012 19:58 Herper wrote:On January 06 2012 15:26 Leftwing wrote:On January 06 2012 10:59 Uranium wrote:On January 06 2012 10:48 klo8 wrote:On January 02 2012 22:37 FranzP wrote:On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway) Purely in terms of performance, C# and Java are pretty much the same, so that's definitely not a reason against Java when you compare it with C#. There is no 3D library that I know of that is as good as XNA for Java though and I personally like C# a lot more than Java, it feels a lot more modern. Just to clarify, XNA encapsulates DirectX and does a lot of the underlying work for you. If you want to use OpenGL and perhaps go a bit more in-depth with your engine programming, there are a number of C# wrappers for OpenGL out there. I personally have used Tao and found it to be quite sufficient, but I'm sure that there are merits to the others as well. So what I am understanding in this is that Java isn't the proper choice to use for creating games, especially 3D games, and that C# is the language that is standard for video game development. What I also understand from this is that XNA is really just a provider of a sufficient 3D library? Triple A games are usually C++ If you want a multiplatform game then Java Otherwise C#, at the end of the day it doesn't really matter. Just that C# has a good framework with XNA, Bastion was made with C#, for example, and it is a very solid game. Not just usually... you'd have to search for a long time and really hard to find a triple A game that isn't done in C++. With 7 year old hardware (the current console generation) you have to apply optimizations to games that you simply can not do in Java or C#. Most games written in C# using XNA are indie games that end up in the Live Marketplace or the indie games section. On the PS3, even indies just use the devkit (which is expensive for someone with no money) and C++, too. On the Wii, I'm not sure... never looked at it. The only place where you find Java are Android devices and some PC games (of course, Minecraft is written in Java). Oh man I sound like a C++ fanboy in this thread. Well, I am. But that said, if you're new to game programming, you're much better off just using C#. The reason I say "don't use Java" is because the game developing community in Java is really small. You will have a very hard time finding libraries for high level stuff that you want to do (remember rendering is only the smallest part of a game - you'll need much more if you don't want to do everything by yourself). At least when you're learning, that is. The first couple of years your priority will not be to get multiplatform games so that many people can play your game (nobody will want to, anyways), but to actually finish small protoypes. This in itself is hard enough. It will be a long, long time before you even have the capability (mostly artistically - designing games is very, very hard. But technically too, of course. It just takes experience to get how to design the software-architecture of a game) to create something that anyone wants to play. Also, XNA does more than just provide a (very simple and nice) wrapper around DirectGraphics. It has an easily extendable content pipeline which makes it easy to load and use assets (textures, shaders, sounds etc.). It also provides some basic audio-playback functionality and of course user-input methods (for keyboard/mouse and the XBOX360 controller... I didn't use XNA for a while so I'm not sure if it actually has joystick support, although you should be able to address a joystick using the controller interface).
That's interesting to know. When I compare C+ to Java I find that learning Java is a lot more work than C++. Also I was wondering if there are any major communities around coding (java or C++), or more specifically game coding?
|
On January 07 2012 13:03 Leftwing wrote:Show nested quote +On January 06 2012 20:10 heishe wrote:On January 06 2012 19:58 Herper wrote:On January 06 2012 15:26 Leftwing wrote:On January 06 2012 10:59 Uranium wrote:On January 06 2012 10:48 klo8 wrote:On January 02 2012 22:37 FranzP wrote:On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway) Purely in terms of performance, C# and Java are pretty much the same, so that's definitely not a reason against Java when you compare it with C#. There is no 3D library that I know of that is as good as XNA for Java though and I personally like C# a lot more than Java, it feels a lot more modern. Just to clarify, XNA encapsulates DirectX and does a lot of the underlying work for you. If you want to use OpenGL and perhaps go a bit more in-depth with your engine programming, there are a number of C# wrappers for OpenGL out there. I personally have used Tao and found it to be quite sufficient, but I'm sure that there are merits to the others as well. So what I am understanding in this is that Java isn't the proper choice to use for creating games, especially 3D games, and that C# is the language that is standard for video game development. What I also understand from this is that XNA is really just a provider of a sufficient 3D library? Triple A games are usually C++ If you want a multiplatform game then Java Otherwise C#, at the end of the day it doesn't really matter. Just that C# has a good framework with XNA, Bastion was made with C#, for example, and it is a very solid game. Not just usually... you'd have to search for a long time and really hard to find a triple A game that isn't done in C++. With 7 year old hardware (the current console generation) you have to apply optimizations to games that you simply can not do in Java or C#. Most games written in C# using XNA are indie games that end up in the Live Marketplace or the indie games section. On the PS3, even indies just use the devkit (which is expensive for someone with no money) and C++, too. On the Wii, I'm not sure... never looked at it. The only place where you find Java are Android devices and some PC games (of course, Minecraft is written in Java). Oh man I sound like a C++ fanboy in this thread. Well, I am. But that said, if you're new to game programming, you're much better off just using C#. The reason I say "don't use Java" is because the game developing community in Java is really small. You will have a very hard time finding libraries for high level stuff that you want to do (remember rendering is only the smallest part of a game - you'll need much more if you don't want to do everything by yourself). At least when you're learning, that is. The first couple of years your priority will not be to get multiplatform games so that many people can play your game (nobody will want to, anyways), but to actually finish small protoypes. This in itself is hard enough. It will be a long, long time before you even have the capability (mostly artistically - designing games is very, very hard. But technically too, of course. It just takes experience to get how to design the software-architecture of a game) to create something that anyone wants to play. Also, XNA does more than just provide a (very simple and nice) wrapper around DirectGraphics. It has an easily extendable content pipeline which makes it easy to load and use assets (textures, shaders, sounds etc.). It also provides some basic audio-playback functionality and of course user-input methods (for keyboard/mouse and the XBOX360 controller... I didn't use XNA for a while so I'm not sure if it actually has joystick support, although you should be able to address a joystick using the controller interface). That's interesting to know. When I compare C+ to Java I find that learning Java is a lot more work than C++. Also I was wondering if there are any major communities around coding (java or C++), or more specifically game coding?
You are pretty much mistaken. Learning C++ is more work, because the language has many quirks, most of them you will encounter not in the books, but when you are trying to accomplish something non trivial. (A very very very basic example is that you cannot shove auto_ptr in a standard container - it is trivial, but is surprising how few people know this). And I take it you haven't checked the boost libraries. As about communities, maybe you should check gamedev.net, google for flipcode - this place is dead, but there are still some usefull articles. Check out gamasutra, there are a lot of resources there.
|
On January 08 2012 00:24 Gesh wrote:Show nested quote +On January 07 2012 13:03 Leftwing wrote:On January 06 2012 20:10 heishe wrote:On January 06 2012 19:58 Herper wrote:On January 06 2012 15:26 Leftwing wrote:On January 06 2012 10:59 Uranium wrote:On January 06 2012 10:48 klo8 wrote:On January 02 2012 22:37 FranzP wrote:On January 02 2012 22:31 Warri wrote: Can anyone recommend me a rather recent tutorial on how to create 3d games in java? All i can find with google are tutorials from 2004 and older, but i guess a lot changed since then so its better to use a more recent one? The most obvious reason I can think of "Why there is no tutorial to do 3D java games" is because java sucks for making games. Most 3D engines are not made for java because it is not in the philosophy of the java language (and it is a lot less efficient than other language because of the JVM). So you can make a game in 3D using java and Java3D (http://fivedots.coe.psu.ac.th/~ad/jg/) but I don't think that would be the right choice of language. The simplest way to do a 3D game must be XNA and C# (it's not far from java anyway) Purely in terms of performance, C# and Java are pretty much the same, so that's definitely not a reason against Java when you compare it with C#. There is no 3D library that I know of that is as good as XNA for Java though and I personally like C# a lot more than Java, it feels a lot more modern. Just to clarify, XNA encapsulates DirectX and does a lot of the underlying work for you. If you want to use OpenGL and perhaps go a bit more in-depth with your engine programming, there are a number of C# wrappers for OpenGL out there. I personally have used Tao and found it to be quite sufficient, but I'm sure that there are merits to the others as well. So what I am understanding in this is that Java isn't the proper choice to use for creating games, especially 3D games, and that C# is the language that is standard for video game development. What I also understand from this is that XNA is really just a provider of a sufficient 3D library? Triple A games are usually C++ If you want a multiplatform game then Java Otherwise C#, at the end of the day it doesn't really matter. Just that C# has a good framework with XNA, Bastion was made with C#, for example, and it is a very solid game. Not just usually... you'd have to search for a long time and really hard to find a triple A game that isn't done in C++. With 7 year old hardware (the current console generation) you have to apply optimizations to games that you simply can not do in Java or C#. Most games written in C# using XNA are indie games that end up in the Live Marketplace or the indie games section. On the PS3, even indies just use the devkit (which is expensive for someone with no money) and C++, too. On the Wii, I'm not sure... never looked at it. The only place where you find Java are Android devices and some PC games (of course, Minecraft is written in Java). Oh man I sound like a C++ fanboy in this thread. Well, I am. But that said, if you're new to game programming, you're much better off just using C#. The reason I say "don't use Java" is because the game developing community in Java is really small. You will have a very hard time finding libraries for high level stuff that you want to do (remember rendering is only the smallest part of a game - you'll need much more if you don't want to do everything by yourself). At least when you're learning, that is. The first couple of years your priority will not be to get multiplatform games so that many people can play your game (nobody will want to, anyways), but to actually finish small protoypes. This in itself is hard enough. It will be a long, long time before you even have the capability (mostly artistically - designing games is very, very hard. But technically too, of course. It just takes experience to get how to design the software-architecture of a game) to create something that anyone wants to play. Also, XNA does more than just provide a (very simple and nice) wrapper around DirectGraphics. It has an easily extendable content pipeline which makes it easy to load and use assets (textures, shaders, sounds etc.). It also provides some basic audio-playback functionality and of course user-input methods (for keyboard/mouse and the XBOX360 controller... I didn't use XNA for a while so I'm not sure if it actually has joystick support, although you should be able to address a joystick using the controller interface). That's interesting to know. When I compare C+ to Java I find that learning Java is a lot more work than C++. Also I was wondering if there are any major communities around coding (java or C++), or more specifically game coding? You are pretty much mistaken. Learning C++ is more work, because the language has many quirks, most of them you will encounter not in the books, but when you are trying to accomplish something non trivial. (A very very very basic example is that you cannot shove auto_ptr in a standard container - it is trivial, but is surprising how few people know this). And I take it you haven't checked the boost libraries. As about communities, maybe you should check gamedev.net, google for flipcode - this place is dead, but there are still some usefull articles. Check out gamasutra, there are a lot of resources there.
That is true. The original creator of the C++ language once estimated his skill in c++ to 7 on a scale from 1 to 10. Template metaprogramming is the biggest reason for that. Few people are actually able to understand written metaprogram code like they can read normal code, and even fewer people can actually use template metaprogramming to their advantage. Despite it being by far the most powerful tool C++ has to offer. The entire C++ standard committee didn't really realize that they'd created a turing-complete sublanguage in C++ with templates until one of their members showed a faulty program that didn't compile but produced prime numbers during compilation.
It's hard to explain this, and when you read relatively theoretical books that just introduce basic concepts about template metaprogramming (like "Modern C++ Design") it's hard to see how those techniques can actually be of usage outside of the cases that were shown in the book. The fact that there are so few libraries out there which actually utilize it well makes it even harder to see what it can do in practice.
A good example of a library that heavily uses templates to great, great advantage is "luabind". It's essentially a C++ wrapper around the standard Lua (the scripting language) libraries provided by the developer, which is written entirely in C. You can take a look at it here:
http://www.rasterbar.com/products/luabind/docs.html
|
|
|
|