Who gives a sh*t who approached who? The question remains for your brain to process (that'll take a while though): if sega/espn had been offered the same deal, do you think they would have hesitated?
For having cut the price of its games to 20$, don't tell me that ESPN/Sega wasn't ready to throw TONS of money to become a player in the sports market.
65 Kb, dude they really fooled you! Once you launch that small executable, then the real binaries are downloaded. And content is streamed as you zone. So, 65 Kb.... ummmm, not really.
Well, I work in the games industry (for a company that has a few AAA titles), and while I respect blizzard (I actually have a friend who works there), not every developer wants to spend 5 years on a single game. Their games are always super polished though, so the extra time does pay off.
As for id, yes they have some really impressive talent, but again, 4 years for a game like doom 3, well...
Bungee is totally awesome though. Although not everyone likes their games (well almost everyone does!), they do deliver them in a timely fashion! Halo was an exception but it's understandable since they changed target platforms a few times and were acquired in the process.
Except for a MMO, no project should take longer than 3 years.
You forgot to mention Naughty Dog by the way. These guys are incredible. Again, you may not like platformers, but the technology for Jak and Daxter + the game itself were developed in 3 years. And many many sony 2nd party games have been using that engine. Naughty Dog is probably one of the best (if not the best) north american console studios.
9.8 on gamespot does make me raise an eyebrow, but your review of the game without having played xbox live at all is even worse. I'm sorry, but to review a game without _even_ trying one of the most major (if not the most major) feature of that game is unprofessionnal.
You can't develop a MMO with such a small team. Sure, they could do all the engineering, but the amount of content to develop is way out of id's scope. Not cause they're not good, but as some point you just need a lot of people to produce all that content.
Sorry, my use of the word native was misplaced. I meant couldn't be as fast as a language that's closer to machine code.
When you write code in C, it translates pretty naturally into machine code.
With C++, some unexpected stuff can happen. Implicit conversions, temporary objects, late binding when resolving virtual methods, etc. But if you know what you're doing, you can still pretty much avoid the C++ gotchas.
In Java, there is even more unexpected stuff that happens behind the scenes, and that's sorta of what I meant. But I'm not really explaining it well, forget it.;)
The language does not always matter
on
Quake2 Engine In Java
·
· Score: 5, Interesting
The important thing to know is that the majority of your performance gains are obtained by scheduling the hardware intelligently, keeping the CPU and GPU well balanced, i.e. busy at all times. And of course, that your tight loops are really optimized, that you do not fragment memory, etc. That, for the most part, has nothing to do with the language your using, but simply with your programming skills.
By the way, what hardware have they tested on to claim that performance is similar? If it's modern hardware, then of course it will run at 60+ fps no matter what.
What's more, I would guess the bulk of the work on the CPU for quake2 consisted in traversing the BSP tree, building the scene (with transforms still being performed on the CPU at that time) and collision detection. The rest is taken care by the graphics hardware so that's totally independant of the language you've used.
There is one thing that bothers me with Java though. You never know when the garbage collection will be performed. Sure, recent virtual machines make it possible to perform garbage collection in smaller but more frequent iterations so you don't halt the system for a few seconds like early virtual machines would do. But still, if you're in a tight loop with your data and instruction cache perfectly populated, and all of a sudden the garbage collection kicks in, then your cache is toast and data will have to be refetched to it when execution resumes. That would result in a horrible performance loss provided you are already really close to the machine's limit. Also, what I'm saying is only pertinent on a console with no (or almost no) OS, because on any PC operating system, your process can be interrupted at any time by the various system tasks that are running, so the garbage collection interrupting your tight loop would only be one of many possible interruptions.
I don't believe java can be as fast as native code, although probably extremely close. And sure, a good java compiler will generate faster code then a crappy C++ compiler.
Another thing I don't like about java is that you have no control over memory (not that i know of, maybe some recent VM extensions allow you to have some control over that?). I really like to be able to give different sets of alloc/dealloc routines to the different subsystems in a game. A subsystem that is known to perform very small allocations/deallocations very often could be passed alloc/free routines that are customized to its use so that memory fragmentation is kept to a minimum. If such a component was allowed to get memory from the same pool then your other subsystems, it would wreck havoc on your memory.
Anyway, it's not such a good idea to compare java and C++ (or whatever other languages) on a system where resources are abundant (PCs).
By the way, Jak & Daxter for the ps2 is written in a lisp derived language (GOAL), yet that game outperforms and looks better then almost everything else on the ps2. Yet lisp is not perceived as a high performance language. But the people at Naughty Dog have developed their very own compiler that is extremely specific to their needs (see their gamasutra post-mortem, very cool read) So, it goes to show that the notion of performance shouldn't be tied with a language, but rather with that language's runtime & compilers.
I've always been curious as to how you can rate the technology down to a single percent. Same goes for all the other parts of the game (interface 92%, Grpahics 95%).
Most sites have (wisely) abandonned such an approach and rather go with a 1-5 scale or A,B,C,D,E ratings (with +/-).
Take out id software, unreal and source. Companies that use renderware generally put out cross platform products. By cross platform I really mean cross platform, and not just "pc and xbox", but gc + ps2 + xbox and possibly pc.
People say EA destroyed Origin, but Origin was long dead before being acquired.
People bitch about EA's sports games, but those sports games are actually good.
And and there are studios that didn't survive their acquisition (or rather, their best employees were relocated, and the rest was shutdown). And of course there are some games EA puts out that aren't as good as the rest.
But get real, EA puts out a lot of really good titles. And EA must have great tools and libs. On consoles, a good portion of their games look better then the majority of other titles.
Are you telling me FIFA doesn't look awesome? Are you telling me SSX 3 doesn't look gorgeous? (and runs at 60 fps on a ps2 for most areas)
I've noticed that people always hate #1. No matter the industry, the sport, etc. People hate EA, people hate Michael Schumacher, etc, etc.
Well every compiler has something wrong. However, there seemed to be a better than average compiler study last summer in C++ Users Journal that outlined a few interesting things. The study was for intel compilers by the way.
What I remember of gcc/g++ is that while it was said to generate decently efficient code (still behind vc++ and intel's compiler though), it generated very fat code. The binaries were significantly larger then the ones generated by other compilers.
gcc is also the most compliant C++ compiler. It is actually perfectly compliant. It also generates very clear compiler messages, while microsoft's are often cryptic.
If you are using a cross-platform engine and tools, it is definitely worth also supporting xbox and maybe even gamecube. While the xbox and cube sales numbers will be nowhere near the ps2 numbers, they still constitute a very welcome income.
Everytime a bunch of programmers do something amazing (like this tiny shooter), all average programmers can come up with is "their code is not readable", "their variable names are meaningless", etc.
If you compare the number of online ps2 or xbox owners to the total number of ps2 or xbox owners, you will see that only a fraction of them are online.
As amazing as a service like XBox live is, it's still not the killer feature for a console.
Why not simply have the client send a random value to be used as an index in the DM's shuffled array of values?
ex for a d6 roll:
DM shuffles his array: [ 6, 3, 2, 4, 1, 5 ]
Client generates a random roll: 3 and sends it over to the DM.
DM retrives the values at index 3: 4
You need to trust the DM, but that makes sense...
Re:Solves the wrong problem.
on
Gates on Spam
·
· Score: 1
You will probably be able to specify hosts that do not require to "solve puzzles" in order to send you mail. Your well known peers will therefore be able to send you mail without going through all this. But all the people you don't know (including spammers) will have to go through the ordeal.
Yes, margins are better on the PC. On consoles, publishers pay royalties to the console maker (sony, nintendo, microsoft) on all their titles. This isn't the case on PC.
Yeah, it's basically like quake, where both single and multiplayer games are client/server.
Except that in the single player game, the host handles both the client logic and the server logic (all part of the same process naturally).
For a multiplayer game, data transfers between client and server consist of the usual network transmission with bit packing, delta compression, ACKs when needed, etc. Whereas in a single player game, data transfers simply consist in the data being mem copied from the server "object" to the client "object".
It would still work without this "fast path", except it would be a waste of time to go through all the compression when there is near infinite bandwidth (mem to mem), and through the prediction when there is no latency or packet loss.
Well... think about it for a second man. Your ISP knows exactly where your traffic is going to - in other words, they know source, content and destination.
With freedom, there isn't a single entity (except for you) that knows both the source and destination. And the destination web site (or ftp site, irc server or whatever) doesn't know your true IP. The proxies that redirect your traffic only know who they receive data from (the previous proxy on the route) and who they are sending it to (the next proxy on the route).
For people working at zero-knowledge, it must really be hard to continuously see people that haven't got the slightest idea on what freedom is actually all about.
Who gives a sh*t who approached who? The question remains for your brain to process (that'll take a while though): if sega/espn had been offered the same deal, do you think they would have hesitated?
For having cut the price of its games to 20$, don't tell me that ESPN/Sega wasn't ready to throw TONS of money to become a player in the sports market.
If Sega/ESPN had been offered the same deal, do you think they would have hesitated even one second?
65 Kb, dude they really fooled you! Once you launch that small executable, then the real binaries are downloaded. And content is streamed as you zone. So, 65 Kb.... ummmm, not really.
Well, I work in the games industry (for a company that has a few AAA titles), and while I respect blizzard (I actually have a friend who works there), not every developer wants to spend 5 years on a single game. Their games are always super polished though, so the extra time does pay off.
As for id, yes they have some really impressive talent, but again, 4 years for a game like doom 3, well...
Bungee is totally awesome though. Although not everyone likes their games (well almost everyone does!), they do deliver them in a timely fashion! Halo was an exception but it's understandable since they changed target platforms a few times and were acquired in the process.
Except for a MMO, no project should take longer than 3 years.
You forgot to mention Naughty Dog by the way. These guys are incredible. Again, you may not like platformers, but the technology for Jak and Daxter + the game itself were developed in 3 years. And many many sony 2nd party games have been using that engine. Naughty Dog is probably one of the best (if not the best) north american console studios.
9.8 on gamespot does make me raise an eyebrow, but your review of the game without having played xbox live at all is even worse. I'm sorry, but to review a game without _even_ trying one of the most major (if not the most major) feature of that game is unprofessionnal.
You can't develop a MMO with such a small team. Sure, they could do all the engineering, but the amount of content to develop is way out of id's scope. Not cause they're not good, but as some point you just need a lot of people to produce all that content.
Sorry, my use of the word native was misplaced. I meant couldn't be as fast as a language that's closer to machine code.
;)
When you write code in C, it translates pretty naturally into machine code.
With C++, some unexpected stuff can happen. Implicit conversions, temporary objects, late binding when resolving virtual methods, etc. But if you know what you're doing, you can still pretty much avoid the C++ gotchas.
In Java, there is even more unexpected stuff that happens behind the scenes, and that's sorta of what I meant. But I'm not really explaining it well, forget it.
The important thing to know is that the majority of your performance gains are obtained by scheduling the hardware intelligently, keeping the CPU and GPU well balanced, i.e. busy at all times. And of course, that your tight loops are really optimized, that you do not fragment memory, etc. That, for the most part, has nothing to do with the language your using, but simply with your programming skills.
By the way, what hardware have they tested on to claim that performance is similar? If it's modern hardware, then of course it will run at 60+ fps no matter what.
What's more, I would guess the bulk of the work on the CPU for quake2 consisted in traversing the BSP tree, building the scene (with transforms still being performed on the CPU at that time) and collision detection. The rest is taken care by the graphics hardware so that's totally independant of the language you've used.
There is one thing that bothers me with Java though. You never know when the garbage collection will be performed. Sure, recent virtual machines make it possible to perform garbage collection in smaller but more frequent iterations so you don't halt the system for a few seconds like early virtual machines would do. But still, if you're in a tight loop with your data and instruction cache perfectly populated, and all of a sudden the garbage collection kicks in, then your cache is toast and data will have to be refetched to it when execution resumes. That would result in a horrible performance loss provided you are already really close to the machine's limit. Also, what I'm saying is only pertinent on a console with no (or almost no) OS, because on any PC operating system, your process can be interrupted at any time by the various system tasks that are running, so the garbage collection interrupting your tight loop would only be one of many possible interruptions.
I don't believe java can be as fast as native code, although probably extremely close. And sure, a good java compiler will generate faster code then a crappy C++ compiler.
Another thing I don't like about java is that you have no control over memory (not that i know of, maybe some recent VM extensions allow you to have some control over that?). I really like to be able to give different sets of alloc/dealloc routines to the different subsystems in a game. A subsystem that is known to perform very small allocations/deallocations very often could be passed alloc/free routines that are customized to its use so that memory fragmentation is kept to a minimum. If such a component was allowed to get memory from the same pool then your other subsystems, it would wreck havoc on your memory.
Anyway, it's not such a good idea to compare java and C++ (or whatever other languages) on a system where resources are abundant (PCs).
By the way, Jak & Daxter for the ps2 is written in a lisp derived language (GOAL), yet that game outperforms and looks better then almost everything else on the ps2. Yet lisp is not perceived as a high performance language. But the people at Naughty Dog have developed their very own compiler that is extremely specific to their needs (see their gamasutra post-mortem, very cool read) So, it goes to show that the notion of performance shouldn't be tied with a language, but rather with that language's runtime & compilers.
Ok enough ranting!
Dude, as a game developer, you really should know this by now, even if you're not developing for the PSP.
What you're seeing is it running off a dev kit.
I've always been curious as to how you can rate the technology down to a single percent. Same goes for all the other parts of the game (interface 92%, Grpahics 95%).
Most sites have (wisely) abandonned such an approach and rather go with a 1-5 scale or A,B,C,D,E ratings (with +/-).
I mean come on...
Unreal doesn't have a good rep amongst ps2 developers.
Do you actually know how splinter cell was ported to ps2 and gc? Certainly not through a common engine, toolchain and pileline!!
Read this:
http://www.gamasutra.com/resource_guide/2003071
Basically it was a brute force attack in ubisoft's shangai studio where labor is cheap (and competent).
Take out id software, unreal and source. Companies that use renderware generally put out cross platform products. By cross platform I really mean cross platform, and not just "pc and xbox", but gc + ps2 + xbox and possibly pc.
Maxis is doing fine (the sims)
Blackbox is doing fine (NFS underground).
EA Tiburon (Madden) is doing fine.
People say EA destroyed Origin, but Origin was long dead before being acquired.
People bitch about EA's sports games, but those sports games are actually good.
And and there are studios that didn't survive their acquisition (or rather, their best employees were relocated, and the rest was shutdown). And of course there are some games EA puts out that aren't as good as the rest.
But get real, EA puts out a lot of really good titles. And EA must have great tools and libs. On consoles, a good portion of their games look better then the majority of other titles.
Are you telling me FIFA doesn't look awesome? Are you telling me SSX 3 doesn't look gorgeous? (and runs at 60 fps on a ps2 for most areas)
I've noticed that people always hate #1. No matter the industry, the sport, etc. People hate EA, people hate Michael Schumacher, etc, etc.
(about gcc - perhaps a bit of topic)
Well every compiler has something wrong. However, there seemed to be a better than average compiler study last summer in C++ Users Journal that outlined a few interesting things. The study was for intel compilers by the way.
What I remember of gcc/g++ is that while it was said to generate decently efficient code (still behind vc++ and intel's compiler though), it generated very fat code. The binaries were significantly larger then the ones generated by other compilers.
gcc is also the most compliant C++ compiler. It is actually perfectly compliant. It also generates very clear compiler messages, while microsoft's are often cryptic.
HTML is a declarative programming language. It is a programming language.
If you are using a cross-platform engine and tools, it is definitely worth also supporting xbox and maybe even gamecube. While the xbox and cube sales numbers will be nowhere near the ps2 numbers, they still constitute a very welcome income.
Everytime a bunch of programmers do something amazing (like this tiny shooter), all average programmers can come up with is "their code is not readable", "their variable names are meaningless", etc.
Dude these guys are awesome.
If you compare the number of online ps2 or xbox owners to the total number of ps2 or xbox owners, you will see that only a fraction of them are online.
As amazing as a service like XBox live is, it's still not the killer feature for a console.
Why not simply have the client send a random value to be used as an index in the DM's shuffled array of values?
ex for a d6 roll:
DM shuffles his array:
[ 6, 3, 2, 4, 1, 5 ]
Client generates a random roll:
3
and sends it over to the DM.
DM retrives the values at index 3:
4
You need to trust the DM, but that makes sense...
You will probably be able to specify hosts that do not require to "solve puzzles" in order to send you mail. Your well known peers will therefore be able to send you mail without going through all this. But all the people you don't know (including spammers) will have to go through the ordeal.
Yes, margins are better on the PC. On consoles, publishers pay royalties to the console maker (sony, nintendo, microsoft) on all their titles. This isn't the case on PC.
Except that in the single player game, the host handles both the client logic and the server logic (all part of the same process naturally).
For a multiplayer game, data transfers between client and server consist of the usual network transmission with bit packing, delta compression, ACKs when needed, etc. Whereas in a single player game, data transfers simply consist in the data being mem copied from the server "object" to the client "object".
It would still work without this "fast path", except it would be a waste of time to go through all the compression when there is near infinite bandwidth (mem to mem), and through the prediction when there is no latency or packet loss.
Well... think about it for a second man. Your ISP knows exactly where your traffic is going to - in other words, they know source, content and destination.
With freedom, there isn't a single entity (except for you) that knows both the source and destination. And the destination web site (or ftp site, irc server or whatever) doesn't know your true IP. The proxies that redirect your traffic only know who they receive data from (the previous proxy on the route) and who they are sending it to (the next proxy on the route).
For people working at zero-knowledge, it must really be hard to continuously see people that haven't got the slightest idea on what freedom is actually all about.
Read the white papers, it's worth it.
I heard Gollum but didn't see him... Yet on the german site they mentionned that there was a huge spoiler. What was it?