I have a very clear idea of what this book is about and what it covers, and in what level of detail. It does indeed seem like a good introduction to the subject. Thank you for writing this, and of course for your other reviews.
That is a very informative post, most interresting to read. It shows a great deal of knowledge on the subject and I will be sure to use what I've learned on my blog wkeosdikrm.kdixmnaiqer.com for future reference.
It's time for people to stop with this pretending to write computer games nonsense.
HTML5 is not a suitable development environment. Javascript is not a suitable development environment. Your web browser is not a suitable development environment. HTML5 is vaporware. HTML is designed to display TEXT.
Please re-read those sentences until you get it through your head. If you want to write a computer game, start with a real programming language:
1. C 2. C++
I recommend C so you don't get distracted by all the h
How is he right? "Game" does not have to mean cutting-edge, state-of-the-art 3D graphics with massively multiplayer mechanics. If you are making a simple 2D card game, how much advantage are you really getting from writing the game in C, spending a lot more time writing it, and then building it for each platform you'd like to distribute to? For simple games, HTML5 and JS allow you to write it quickly and easily distribute to many platforms. Sounds like you are just as bitter and old as the GGP.
For 2D games with simple mechanics, you don't need the performance of a fine-tuned engine written in C or C++ and natively compiled. Writing your game logic in JavaScript and rendering to an HTML5 Canvas is an easy way to distribute a simple game to many platforms.
It's time for people to stop with this pretending to write computer games nonsense.
HTML5 is not a suitable development environment. Javascript is not a suitable development environment. Your web browser is not a suitable development environment. HTML5 is vaporware. HTML is designed to display TEXT.
Please re-read those sentences until you get it through your head. If you want to write a computer game, start with a real programming language:
1. C
2. C++
I recommend C so you don't get distracted by all the horse**** theory around OOP.
If you need a graphics engine, fine. Get one. Then code the game in a real development environment on a real computer (not a fiddly mobile device) on the metal. It will be hard, but the results will be worth it. If you can't bring yourself to do this, then you have no business programming or writing computer games.
P.S. I'm not interested in Javascript DOOM or whatever the "gew-gaw of the week" is, and I've been programming computers for 37 years, so I'm not interested in your tech credentials either. Either code the game or don't code the game, but knock it off with this artificial development nonsense.
That is all.
It's time for people to stop with this pretending to write computer games nonsense.
C/C++ is not a suitable development environment. VI is not a suitable development environment. Emacs is not a suitable development environment. C++14 is vaporware. C++ is designed to focus on OBJECTS, not GAMES.
Please re-read those sentences until you get it through your head. If you want to write a computer game, start with a real instruction set:
1. ARM (ARMv7 not ARMv8)
2. x86-64
I recommend ARM so you don't get distracted by all the horse**** bloat around CISC.
If you need a punch card reader, fine. Get one. Then code the game on a real ENIAC (not a fiddly PC) in the vacuum tubes. It will be hard, but the results will be worth it. If you can't bring yourself to do this, then you have no business programming or writing computer games.
P.S. I'm not interested in C++ OOP or whatever "Stroustrup's latest fly-by-night language" is, and I've been programming computers for 1,337 years, so I'm not interested in your tech credentials either. Either code the game or don't code the game, but knock it off with this artificial C/C++ development nonsense.
MOD THIS UP. proper answer for elitist morons coming from the stone age trying to sell their rusted selves and presenting themselves as be-all and end-all of computer literacy.
This is being done every day (I have worked with GIS applications with that level of complexity, and many of the in browser games have that level of complexity too.). Granted, the environment has its flaws, but for the most part performance is good enough (it could be better - especially on older versions of IE.), and you generally have nowhere near the same amount of deployment problems as with C++ application or java applet.
As always, choose the right tool for the right job - If you are part of a team c
I know its being done. I am doing it (a big part of my current work is an extJS web app.. There are no good JS development environments and debuggers. And without static typing you really don't know for sure what an object is or does when it is passed to you. You can assume, and you can test, but that isn't the same as knowing.
Why do you need millions of lines of code? This is an honest question.
Not every game is a triple-A title that costs millions of dollars to develop. Indie studios are becoming increasingly popular and are producing games that are unique and interesting. For a concrete example, check out the Humble Indie bundles or InXile's Wasteland 2 and Torment. The latter 2 are looking very promising and they are developed using Unity.
Performance isn't as critical as it used to be. Modern tools allow smaller dev teams
Well, I am only a amateur game programmer, never had a game run more than 10kloc, but that is generally with procedural generation of terrain and no 3d. My professional programming is in logistics and reporting services for the DoD, where our requirements documents literally take up a stack of paper more than 4 feet tall in fine print. We used to have a ER diagram to reference, it took up one of our office walls, it has since then grown, I think we would need to use the ceiling for it now.
I understand what you're saying, and I have no objection to seeing games run in the browser, but it is a little disheartening to watch a game that wouldn't have taxed a NES lag on my x86 PC that's only a few years old. Granted, this seems to be more of a flash problem...
I view C++ as designed to be completely unfocused. (Although I'd perhaps note that Alexander Stepanov's theory of programming might have had some say in the design of its generic programming features.)
P.S. I'm not interested in C++ OOP or whatever "Stroustrup's latest fly-by-night language" is, and I've been programming computers for 1,337 years, so I'm not interested in your tech credentials either.
I view C++ as designed to be completely unfocused. (Although I'd perhaps note that Alexander Stepanov's theory of programming might have had some say in the design of its generic programming features.)
P.S. I'm not interested in C++ OOP or whatever "Stroustrup's latest fly-by-night language" is, and I've been programming computers for 1,337 years, so I'm not interested in your tech credentials either.
While i kind of understand eldavojohn's point of view, C is indeed the one and only answer for some kind of tasks and some kind of games and game components. I cannot agree with him, Mr. Stroustrup created a wonderful abstract computer language, we are (developers) the ones who misunderstood it (completely it seems). C++11 is not C++98.
C++ is well suited for game development, because it gives you the abstraction level and speed computer games require.
ECMAScript implementations are used for game scripting (U
C is indeed the one and only answer for some kind of tasks and some kind of games and game components.
So you couldn't write these components in, say, Modula-2 or Modula-3? To me it seems that C is actually a member of a (large) class of languages that sport an intersection of features desirable for "some kind of tasks and some kind of games and game components". That doesn't mean that some of these features couldn't (or even shouldn't) be dropped without causing much harm, and even more importantly, it doesn't mean that within this class of languages, there are no better alternatives. To claim that "C is th
C++ is well suited for game development, because it gives you the abstraction level and speed computer games require.
You're not very demanding if you claim that C++ gives you "abstraction levels" of any kind. But then again, historically, game programmers have never been suckers for abstraction levels. They were using assembly instead of Forth in the 1980's, C instead of C++ in the 1990's; these days, I guess they're using whatever in C++ gives them the best speed and skip the rest.
When i said abstraction level i was talking about programming language abstraction (operators, keywords, types), not on the class/object level, from the language point of view C++ is very abstract. language abstraction leads to class abstraction and other abstractions. In fact C++ is defined as "A light-weight abstraction programming language" [stroustrup.com] (Bjarne's 2012 Keynote). Developers should start listening to what he has to say, he's very smart dude.
I'm actually not professional game developer, just an armature
That's because it's a general-purpose programming language.
No, it's not. Lisp is a general purpose language (partly because it's actually a metalanguage, even accomodating different evaluation models when the user requires). C++ is a semi-general-purpose language (pretends being general purpose but requires to be mutilated and molested into shape in many domains). C, for that matter, is not a general purpose language at all, it's a bit-twiddling language.
Speaketh someone who's likely never programmed any complex modern game.
Its not one language anymore pal, sorry. Its C++, its C, its Python, it's lua, and yes its Javascript & HTML inside the game. Holy moly save us from abstraction lords of assembly!
Hey old timer, I have a message for you: Computers are fast now.
Not really. Yeah, the hardware guys have done a great job of making their part of the stack smaller and faster as the years have flown by. But the software guys have done an even better job of erasing the hardware speed increases by more than matching each with memory- and cpu-consuming bloat.
Much of this is due to the attitude that "We don't need to be efficient any more, because the hardware is so fast and there's so much memory available." There is no processor so fast or memory so large that progr
Not really. Yeah, the hardware guys have done a great job of making their part of the stack smaller and faster as the years have flown by. But the software guys have done an even better job of erasing the hardware speed increases by more than matching each with memory- and cpu-consuming bloat.
Yeah really. Computers do a lot more than they used to, even with the bloat. And a lot of times, the CPU is just sitting there, wasting cycles.
Much of this is due to the attitude that "We don't need to be efficient any more, because the hardware is so fast and there's so much memory available." There is no processor so fast or memory so large that programmers with contempt for efficient design can't easily saturate both of them, and then complain that the machine is just too slow and there's not nearly enough memory.
It all depends on the task. A majority of the time, the programmer's time is more valuable than making a piece of code efficient.
Of course, but putting it that way wouldn't be as funny.;-)
Actually, in one of my recent jobs, I spent a day or so going through an app's use of malloc(), which was used a lot to save data structures for a short time, then free() them. I replaced these calls with calls to a pair of routines that "freed" a chunk by putting it on a list of similar-sized chunks, to be re-used later. The result was a program that was maybe 5% bigger in most runs, but ran between 4 a 5 times faster. This reduced the task
Game written using C++: Requires a super computer to run with a specific set of hardware Requires a team of 15 highly skilled developers Requires at least a year a 10 million bucks Has super fancy pants performance and graphics which only impresses elitist snob nerds. Has to sell for $50 just to even try to break even. Only purchased by nerds living in their mom's basements.
Game written using Javascript/HTML5 Requires a modern web browser on pretty much any hardware Requires 1 amateur developer with a decent vision
Mostly agreed, although I'd make exception in case of The Elder Scrolls series. Just like you wouldn't probably try to film LoTR as an indie film on Kickstarter.
You sir, are mistaken. People with the former attitude would indeed think a cheaply made, low quality production of LoTR would be preferable to a studio produced one simply *because* it was done with cheap tools. Hell, that view has been argued here on/.
People with the former attitude would indeed think a cheaply made, low quality production of LoTR would be preferable to a studio produced one simply *because* it was done with cheap tools.
I hope I made it obvious that this is *not* my point of view. If that was clear to you, it means that the rest of your comment is incomprehensible to me.
C++ does not require a super computer and will usually have perform better than you html game. in fact the delvik java vm is written in c++ and runs most of the smart phones on the market.
oh and c++ is portable you just have to use libraries that are available on multiple architectures and os's. just cross compile.
But shouldn't it be about how fun/intriguing the game is and not what language it's written in?
I do agree with your sentiments of there's a place for everything though, and the web browser has ways to go if you are trying to put a league of legends, world of warcraft, or COD in the browser.
Ironically "which is written in C++ and OpenGL, and compiles it using Emscripten into JavaScript and WebGL"
So why bother writing games in Javascript when you can use traditional methods and compile to js and arguably achieve better results?
But shouldn't it be about how fun/intriguing the game is and not what language it's written in?
I do agree with your sentiments of there's a place for everything though, and the web browser has ways to go if you are trying to put a league of legends, world of warcraft, or COD in the browser.
League of Legends (LoL) and World of Warcraft (WoW) are hardly taxing on hardware. The WoW engine is almost 10 years old and LoL runs without a hitch on integrated graphics (nVidia 320m on my 2010 Macbook). Performance in games isn't as critical as it used to be.
This sentiment is exactly why there is age discrimination against software developers. People can't adapt to updates and new technologies, and get stuck in the past.
Dude. Did you forget to take your medication? Geeze. Talk about "get off my lawn." It's the year 2013, not 1995. I don't understand your rationale of harder == better, either.
Do you think every system of a game is written in C or C++? If you do, think again.
Not everyone programs to the metal. Nor should they have to. Not every game needs to be a AAA title developed with a cutting edge game engine or advanced graphics sub systems. Using a language such as Javascript and the canvas allows developers
Neither C nor C++ is "on the metal".Any programming language short of Assembly is an abstraction of "the metal" with less capabilities. And even Assembly is debatable.
Surely as a 37-year veteran you should have been well aware of this. Neither C nor C++ enables all control flow mechanisms possible on a CPU.
Many mobile games, interrestingly enough, are optimized for "the metal".
C is a portable assembler. As long as we are writing directly to memory, it's on the metal.
C cannot do all the control flow that one can do using assembler. C does not support all CPU datatypes CPU (i.e. BCD). C does not support SIMD (some C dialects do, though). C is a very thin abstraction and much closer to the hardware than most languages, but it's an abstraction nonetheless. If you think C is as much "on the metal" as assembler, you are sorely mistaken.
No mobile code is written on the hardware. The mobile OS companies want a cut.
Android allows developers to write assembler for native CPU and graphics hardware directly. Many games and engines on mobile devices do exactly th
Sorry, I can't "hear" you over the 1.1 billion dollar/year we're making here by using that HTML5 vaporware and javascript to do more than just display text.
I have to agree with what you say, but only for 'serious' programs. This does not include games. Anything doing serious data crunching, modeling, etc. needs C/C++ (or FORTRAN, usually for legacy code). Most games do not fall into this category. Yes some games do some modeling, ray tracing, etc. but not the ones written in Flash or similar languages. Remember the expression 'use the right tool for the job'? As much as I appreciate and use C, it is not the tool to meet the requirements for browser games
A lot of serious number crunching these days is being done using R [wikipedia.org]. R seems to be filling the role in at least scientific fields that FORTRAN occupied in past years, though you still see some new FORTRAN code as well...
Languages like C/C++ get iffy when it comes to doing serious number crunching, unless you are careful or are using the libraries of someone who was.
R seems like a good Matlab alternative, rather than a good FORTRAN replacement. I have similar code in Matlab and C++/VC++, and in terms of speed the C version rips Matlab a new one and then dances around it. And that's the Debug version. If execution speed is less of a concern R and Matlab are both fine.
If you're not careful you probably shouldn't be doing serious number crunching.
R is not a Matlab alternative. R is a statistics package with several constructs and built-ins for statistical analysis. Matlab on the other hand is generally for "matrix" oriented mathematics, think linear algebra, differential equations, control systems etc.. while you can probably shoe horn R to do Matlab stuff or visa-vera they are definetly not alternatives.
Another Excellent Review (Score:3)
I have a very clear idea of what this book is about and what it covers, and in what level of detail. It does indeed seem like a good introduction to the subject. Thank you for writing this, and of course for your other reviews.
Re: (Score:3)
Re: (Score:-1)
That is a very informative post, most interresting to read. It shows a great deal of knowledge on the subject and I will be sure to use what I've learned on my blog wkeosdikrm.kdixmnaiqer.com for future reference.
Re: (Score:3)
Ouch. No, I haven't got much into NL programming. I think those kind of comments are copy/pasted though. Mine was just congratulatory and vapid.
Re: (Score:1)
Re: (Score:0)
Grab it here [thepiratebay.sx]
Enough with the toy languages (Score:-1, Flamebait)
It's time for people to stop with this pretending to write computer games nonsense.
HTML5 is not a suitable development environment. Javascript is not a suitable development environment. Your web browser is not a suitable development environment. HTML5 is vaporware. HTML is designed to display TEXT.
Please re-read those sentences until you get it through your head. If you want to write a computer game, start with a real programming language:
1. C
2. C++
I recommend C so you don't get distracted by all the h
Re: (Score:0)
You sound like an old fart. Oh wait...
Re: (Score:0)
You just sound bitter and old..
Re: (Score:3)
You just sound bitter and old..
... and right.
Didn't I warn you about the lawn already?
Re: (Score:3)
You missed one (Score:1, Insightful)
Re: (Score:0)
There is no "correct" lanaguage to program anything in.
Re: (Score:2)
There is no "correct" lanaguage to program anything in.
no but their in most assuredly are wrong ones. if you dont agree then go write everything in the Brainfuck [wikipedia.org] programing language
Re: (Score:3)
Re: (Score:2)
Re: (Score:3)
While I agree with about 90%, it does depend on how you define "game".
Given that you can get better framerates doing OpenGL in Java now than you could 15 years ago in C, it's really not that simple.
Enough with the toy languages like C & C++ (Score:5, Insightful)
It's time for people to stop with this pretending to write computer games nonsense.
HTML5 is not a suitable development environment. Javascript is not a suitable development environment. Your web browser is not a suitable development environment. HTML5 is vaporware. HTML is designed to display TEXT.
Please re-read those sentences until you get it through your head. If you want to write a computer game, start with a real programming language:
1. C 2. C++
I recommend C so you don't get distracted by all the horse**** theory around OOP.
If you need a graphics engine, fine. Get one. Then code the game in a real development environment on a real computer (not a fiddly mobile device) on the metal. It will be hard, but the results will be worth it. If you can't bring yourself to do this, then you have no business programming or writing computer games.
P.S. I'm not interested in Javascript DOOM or whatever the "gew-gaw of the week" is, and I've been programming computers for 37 years, so I'm not interested in your tech credentials either. Either code the game or don't code the game, but knock it off with this artificial development nonsense.
That is all.
It's time for people to stop with this pretending to write computer games nonsense.
C/C++ is not a suitable development environment. VI is not a suitable development environment. Emacs is not a suitable development environment. C++14 is vaporware. C++ is designed to focus on OBJECTS, not GAMES.
Please re-read those sentences until you get it through your head. If you want to write a computer game, start with a real instruction set:
1. ARM (ARMv7 not ARMv8)
2. x86-64
I recommend ARM so you don't get distracted by all the horse**** bloat around CISC.
If you need a punch card reader, fine. Get one. Then code the game on a real ENIAC (not a fiddly PC) in the vacuum tubes. It will be hard, but the results will be worth it. If you can't bring yourself to do this, then you have no business programming or writing computer games.
P.S. I'm not interested in C++ OOP or whatever "Stroustrup's latest fly-by-night language" is, and I've been programming computers for 1,337 years, so I'm not interested in your tech credentials either. Either code the game or don't code the game, but knock it off with this artificial C/C++ development nonsense.
That is all.
Re: (Score:1)
Re: (Score:2)
Game dev requires good tools and performance, and those are sorely lacking in js. JS is a total nightmare to code anything serious in.
C or C++ isn't necessary, but c# or java make a much better environment than the web browser and js.
Re: (Score:0)
JS is a total nightmare to code anything serious in.
If you really believe this, you don't know how to use it, and probably shouldn't be commenting.
Re: (Score:2)
By serious, I mean hundreds of thousands or millions of lines of code.
Re: (Score:1)
Re: (Score:2)
I know its being done. I am doing it (a big part of my current work is an extJS web app.. There are no good JS development environments and debuggers. And without static typing you really don't know for sure what an object is or does when it is passed to you. You can assume, and you can test, but that isn't the same as knowing.
And yes it really is a nightmare.
Re: (Score:2)
Why do you need millions of lines of code? This is an honest question.
Not every game is a triple-A title that costs millions of dollars to develop. Indie studios are becoming increasingly popular and are producing games that are unique and interesting. For a concrete example, check out the Humble Indie bundles or InXile's Wasteland 2 and Torment. The latter 2 are looking very promising and they are developed using Unity.
Performance isn't as critical as it used to be. Modern tools allow smaller dev teams
Re: (Score:2)
Well, I am only a amateur game programmer, never had a game run more than 10kloc, but that is generally with procedural generation of terrain and no 3d. My professional programming is in logistics and reporting services for the DoD, where our requirements documents literally take up a stack of paper more than 4 feet tall in fine print. We used to have a ER diagram to reference, it took up one of our office walls, it has since then grown, I think we would need to use the ceiling for it now.
Re: (Score:0)
I understand what you're saying, and I have no objection to seeing games run in the browser, but it is a little disheartening to watch a game that wouldn't have taxed a NES lag on my x86 PC that's only a few years old. Granted, this seems to be more of a flash problem...
Re: (Score:2)
C++ is designed to focus on OBJECTS, not GAMES.
I view C++ as designed to be completely unfocused. (Although I'd perhaps note that Alexander Stepanov's theory of programming might have had some say in the design of its generic programming features.)
P.S. I'm not interested in C++ OOP or whatever "Stroustrup's latest fly-by-night language" is, and I've been programming computers for 1,337 years, so I'm not interested in your tech credentials either.
Mr. Al-Khwarizmi, is that you?
Re: (Score:1)
C++ is designed to focus on OBJECTS, not GAMES.
I view C++ as designed to be completely unfocused. (Although I'd perhaps note that Alexander Stepanov's theory of programming might have had some say in the design of its generic programming features.)
P.S. I'm not interested in C++ OOP or whatever "Stroustrup's latest fly-by-night language" is, and I've been programming computers for 1,337 years, so I'm not interested in your tech credentials either.
While i kind of understand eldavojohn's point of view, C is indeed the one and only answer for some kind of tasks and some kind of games and game components. I cannot agree with him, Mr. Stroustrup created a wonderful abstract computer language, we are (developers) the ones who misunderstood it (completely it seems). C++11 is not C++98.
C++ is well suited for game development, because it gives you the abstraction level and speed computer games require.
ECMAScript implementations are used for game scripting (U
Re: (Score:2)
C is indeed the one and only answer for some kind of tasks and some kind of games and game components.
So you couldn't write these components in, say, Modula-2 or Modula-3? To me it seems that C is actually a member of a (large) class of languages that sport an intersection of features desirable for "some kind of tasks and some kind of games and game components". That doesn't mean that some of these features couldn't (or even shouldn't) be dropped without causing much harm, and even more importantly, it doesn't mean that within this class of languages, there are no better alternatives. To claim that "C is th
Re: (Score:1)
C++ is well suited for game development, because it gives you the abstraction level and speed computer games require.
You're not very demanding if you claim that C++ gives you "abstraction levels" of any kind. But then again, historically, game programmers have never been suckers for abstraction levels. They were using assembly instead of Forth in the 1980's, C instead of C++ in the 1990's; these days, I guess they're using whatever in C++ gives them the best speed and skip the rest.
When i said abstraction level i was talking about programming language abstraction (operators, keywords, types), not on the class/object level, from the language point of view C++ is very abstract. language abstraction leads to class abstraction and other abstractions. In fact C++ is defined as "A light-weight abstraction programming language" [stroustrup.com] (Bjarne's 2012 Keynote). Developers should start listening to what he has to say, he's very smart dude.
I'm actually not professional game developer, just an armature
Re: (Score:2)
I view C++ as designed to be completely unfocused.
That's because it's a general-purpose programming language. In what way would it be focussed exactly?
Re: (Score:2)
That's because it's a general-purpose programming language.
No, it's not. Lisp is a general purpose language (partly because it's actually a metalanguage, even accomodating different evaluation models when the user requires). C++ is a semi-general-purpose language (pretends being general purpose but requires to be mutilated and molested into shape in many domains). C, for that matter, is not a general purpose language at all, it's a bit-twiddling language.
I love you. (Score:-1)
I recommend C so you don't get distracted by all the horse**** theory around OOP.
If my wife was 10 years younger, I'd ask you to fuck her so I could have your baby.
Re: (Score:2)
Re: (Score:0)
Speaketh someone who's likely never programmed any complex modern game.
Its not one language anymore pal, sorry. Its C++, its C, its Python, it's lua, and yes its Javascript & HTML inside the game. Holy moly save us from abstraction lords of assembly!
Lord of COBOL save us!
Re: (Score:0)
Hey old timer, I have a message for you: Computers are fast now.
Re: (Score:2)
Hey old timer, I have a message for you: Computers are fast now.
Not really. Yeah, the hardware guys have done a great job of making their part of the stack smaller and faster as the years have flown by. But the software guys have done an even better job of erasing the hardware speed increases by more than matching each with memory- and cpu-consuming bloat.
Much of this is due to the attitude that "We don't need to be efficient any more, because the hardware is so fast and there's so much memory available." There is no processor so fast or memory so large that progr
Re: (Score:0)
Not really. Yeah, the hardware guys have done a great job of making their part of the stack smaller and faster as the years have flown by. But the software guys have done an even better job of erasing the hardware speed increases by more than matching each with memory- and cpu-consuming bloat.
Yeah really. Computers do a lot more than they used to, even with the bloat. And a lot of times, the CPU is just sitting there, wasting cycles.
Much of this is due to the attitude that "We don't need to be efficient any more, because the hardware is so fast and there's so much memory available." There is no processor so fast or memory so large that programmers with contempt for efficient design can't easily saturate both of them, and then complain that the machine is just too slow and there's not nearly enough memory.
It all depends on the task. A majority of the time, the programmer's time is more valuable than making a piece of code efficient.
Re: (Score:2)
It all depends on the task.
Of course, but putting it that way wouldn't be as funny. ;-)
Actually, in one of my recent jobs, I spent a day or so going through an app's use of malloc(), which was used a lot to save data structures for a short time, then free() them. I replaced these calls with calls to a pair of routines that "freed" a chunk by putting it on a list of similar-sized chunks, to be re-used later. The result was a program that was maybe 5% bigger in most runs, but ran between 4 a 5 times faster. This reduced the task
Re: (Score:1)
Game written using C++:
Requires a super computer to run with a specific set of hardware
Requires a team of 15 highly skilled developers
Requires at least a year a 10 million bucks
Has super fancy pants performance and graphics which only impresses elitist snob nerds.
Has to sell for $50 just to even try to break even.
Only purchased by nerds living in their mom's basements.
Game written using Javascript/HTML5
Requires a modern web browser on pretty much any hardware
Requires 1 amateur developer with a decent vision
Re: (Score:0)
Only purchased by nerds living in their mom's basements.
Whilst I agree with your point wholeheartedly, this line was just plain unnecessary. Ad hominem attacks do nothing for your credibility.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
People with the former attitude would indeed think a cheaply made, low quality production of LoTR would be preferable to a studio produced one simply *because* it was done with cheap tools.
I hope I made it obvious that this is *not* my point of view. If that was clear to you, it means that the rest of your comment is incomprehensible to me.
Re: (Score:2)
C++ does not require a super computer and will usually have perform better than you html game. in fact the delvik java vm is written in c++ and runs most of the smart phones on the market.
oh and c++ is portable you just have to use libraries that are available on multiple architectures and os's. just cross compile.
I agree with your premise (Score:1)
But shouldn't it be about how fun/intriguing the game is and not what language it's written in?
I do agree with your sentiments of there's a place for everything though, and the web browser has ways to go if you are trying to put a league of legends, world of warcraft, or COD in the browser.
Re: (Score:3)
the web browser has ways to go if you are trying to put a league of legends, world of warcraft, or COD in the browser.
I would argue that "ways to go" has been getting much shorter [mozilla.org].
Re: (Score:2)
So why bother writing games in Javascript when you can use traditional methods and compile to js and arguably achieve better results?
Re: (Score:2)
Re: (Score:2)
But shouldn't it be about how fun/intriguing the game is and not what language it's written in?
I do agree with your sentiments of there's a place for everything though, and the web browser has ways to go if you are trying to put a league of legends, world of warcraft, or COD in the browser.
League of Legends (LoL) and World of Warcraft (WoW) are hardly taxing on hardware. The WoW engine is almost 10 years old and LoL runs without a hitch on integrated graphics (nVidia 320m on my 2010 Macbook). Performance in games isn't as critical as it used to be.
Re: (Score:0)
This sentiment is exactly why there is age discrimination against software developers. People can't adapt to updates and new technologies, and get stuck in the past.
Re: (Score:0)
This! And somewhere, there is an assembly programmer sneering at you for even using C.
Re: (Score:2)
I did my first programming on punch cards and you sound like someone that wants us to keep programming in assembler, lots 'o luck with that.
Re: (Score:1)
Dude. Did you forget to take your medication? Geeze. Talk about "get off my lawn." It's the year 2013, not 1995. I don't understand your rationale of harder == better, either.
Do you think every system of a game is written in C or C++? If you do, think again.
Not everyone programs to the metal. Nor should they have to. Not every game needs to be a AAA title developed with a cutting edge game engine or advanced graphics sub systems. Using a language such as Javascript and the canvas allows developers
Re: (Score:3)
Neither C nor C++ is "on the metal".Any programming language short of Assembly is an abstraction of "the metal" with less capabilities. And even Assembly is debatable.
Surely as a 37-year veteran you should have been well aware of this. Neither C nor C++ enables all control flow mechanisms possible on a CPU.
Many mobile games, interrestingly enough, are optimized for "the metal".
Re: (Score:1)
C is a portable assembler. As long as we are writing directly to memory, it's on the metal.
No mobile code is written on the hardware. The mobile OS companies want a cut.
Re: (Score:2)
C is a portable assembler. As long as we are writing directly to memory, it's on the metal.
C cannot do all the control flow that one can do using assembler.
C does not support all CPU datatypes CPU (i.e. BCD).
C does not support SIMD (some C dialects do, though).
C is a very thin abstraction and much closer to the hardware than most languages, but it's an abstraction nonetheless.
If you think C is as much "on the metal" as assembler, you are sorely mistaken.
No mobile code is written on the hardware. The mobile OS companies want a cut.
Android allows developers to write assembler for native CPU and graphics hardware directly.
Many games and engines on mobile devices do exactly th
Re: (Score:0)
you make 0 sense
Re: (Score:2)
Sorry, I can't "hear" you over the 1.1 billion dollar/year we're making here by using that HTML5 vaporware and javascript to do more than just display text.
Re: (Score:2)
I Googled "most successful HTML5 game"
http://techcrunch.com/2013/02/22/ludei/ [techcrunch.com]
This was the result.
Re: (Score:2)
Oh no, we don't do games, but we use the same technologies you would use to make a game, so still relevant IMO.
Same deal Direct X or OpenGL aren't just used for games.
Re: (Score:3)
I have to agree with what you say, but only for 'serious' programs. This does not include games. Anything doing serious data crunching, modeling, etc. needs C/C++ (or FORTRAN, usually for legacy code). Most games do not fall into this category. Yes some games do some modeling, ray tracing, etc. but not the ones written in Flash or similar languages. Remember the expression 'use the right tool for the job'? As much as I appreciate and use C, it is not the tool to meet the requirements for browser games
Re: (Score:1)
A lot of serious number crunching these days is being done using R [wikipedia.org]. R seems to be filling the role in at least scientific fields that FORTRAN occupied in past years, though you still see some new FORTRAN code as well...
Languages like C/C++ get iffy when it comes to doing serious number crunching, unless you are careful or are using the libraries of someone who was.
Re: (Score:2)
Re: (Score:2)
R seems like a good Matlab alternative, rather than a good FORTRAN replacement. I have similar code in Matlab and C++/VC++, and in terms of speed the C version rips Matlab a new one and then dances around it. And that's the Debug version. If execution speed is less of a concern R and Matlab are both fine.
If you're not careful you probably shouldn't be doing serious number crunching.
Re: (Score:0)
R is not a Matlab alternative. R is a statistics package with several constructs and built-ins for statistical analysis. Matlab on the other hand is generally for "matrix" oriented mathematics, think linear algebra, differential equations, control systems etc.. while you can probably shoe horn R to do Matlab stuff or visa-vera they are definetly not alternatives.
Re: (Score:2)
Re: (Score:2)
I think I made it pretty clear my remarks were directed specifically at games.
Re: (Score:2)
That is all.
Canvas is discussed; now what about networking? (Score:2)
Cool to see HTML5 becoming almost complete for game dev.
How people handling pseudo-realtime TCP/UDP packets (networking) in HTML5 ?
Re: (Score:0)
HTML5 WebSockets