Some languages don't have threads. But since you clearly don't know basic Javascript - window.setTimeout(referenceToFunction,timeInMilliseconds); Oh you want a C-like thread implementation handed to you? 3rd Party libraries by people much more familiar with Javascript than you or I exist. Google knows where they are.
7) Failed syntax: compare { x:42, y:35 } with { x=42; y=35; }. I thought the comma-as-a-separator was a thing of the past.
Again with the syntax criticism like it matters. Since it's such a hot issue, go bitch on the Erlang forums about using "." as an "end".
//big Erlang fanboy here. I will continue the Erlang criticism as long as it continues to fall short of being usable.
Scalability by writing all your hardware drivers/software communication, yourself, in C, doesn't really equate to scalability as much as writing your own implementation of a an Erlang-like language. Java seems to do just fine for geo-location and other high availability, high traffic services. Heck, Java has effectively POPULARIZED service-based servers in the last few years.
And before that Herzog Zwei and before that Dune2.
The biggest differences in RTS games are how many "Factories" are optimal, dictating the "type" of strategies that work. Always incorporating economics and the concept of "counters" and tiers.
In order of popularity:
In Starcraft/WC3 single gate, single rax, single hatchery, versus double or triple allows for a large depth of strategy (within limits of the scale).
In Red Alert and DoW and CoH it's always 1 of each building type. The battles are expected to be more about micromanagement since the maps are smaller and resources more scarce and the counters "Softer" until higher tiers. Some people love it (see Company of Heroes).
In Total Annihilation/Supreme Commander/Conquest:Frontier Wars it's hyper macro with an assumption of continual creation/death of units and often incorporate a "supply line" concept. Some people love it (there aren't many).
Beyond this we have a different kind of game that rears its head from time to time which just decides to BREAK OUT of the mold.
Myth was original-ish with no resource management, just pure RTS with mixed soft and hard counters (later seen in Defcon and other failures...if people liked these types of games, the very best would have decent sales) and now the natural evolution of that into WIC to try to bring it back toward the archetypical RTS-land without stepping foot on it by introducing resources without an economic strategy (run away?). I smell poor play and poor sales. This is just my decades of RTS gaming experience talking, YMMV
Apologies if I come off sounding like a dick. I take your opinions and deductions very seriously in forming my own opinions, which have been developed over a very long time.
Any holistic statement where anyone claims "all people do this" are stupid on their face.
Taking a literal stance on a statistical fact is a common way to try to short circuit the truth of the statement. In the end, it's unlikely you even behave contrary to the theory.
have talked to MMO developers and people involved in MMO games. They were called MUDs back then, though.
You should attend some GameDeveloper conferences and talk to the developers of your MMORPGs of interest. A typical MUD player's first (and most common act) is to move to (or otherwise access) new areas until the full extent of the world is explored. It's not like modern MMORPG developers didn't play MUDs.
If players needed to kill level 70 elites to get the 2nd level dungeon, [...]
You're trying to re-design my hypothetical situation to fit your needs. Obviously, you're missing the point.
Your situation is not really hypothetical. Player behvior is rather uniform in this scenario (abandonment is also a popular option, it depends on how much content is accessible OTHER than dungeons to predict the %'s). Although this scenario was hyperbole (yours), the bahavior of players in WoW, Shadowbane, EQ, Lineage, Lineage2, on and on (both due to the creators making too difficult content or bugged content) has already played out this scenario and I have described the behavior, which is part of the theory (players will access content at almost any cost) comes from.
Molten Core allowed progression because it allowed players to first progress through the dungeon, killing (supposedly) hard and hard bosses. Then to progress their characters by getting new items and complete set pieces. Of course, all this great content wouldn't be worth much if that hypothetical boss was the first thing you saw in Molten Core. He'd prevent anyone from progressing through Molten Core and therefor not see any of that content.
In fact, This hypothetical boss DID exist within Molten Core... and Deathwing's Layer and other dungeons. It was called "40-man raid". Only a fraction of the WoW population where actually actually getting 40 people together and set aside a few hours of constant game play.
If the "end of content" is in the form of a raid dungeon or the END of that raid dungeon, does it matter? All players are faced with the same choice. What to do in the face of NO progression.
Progression needs content. Without it, what is there to progress through?
That's a circular argument, assuming that you want to or CAN progress. Progression does not need content if you simply reuse the same content with increasing difficulty. WoW Heroic Dungeons? Lineage 1+2/WoW/EQ/UO/SB/CoV+H/DaoC reusing monster models in increasingly harder areas? But this does not explain WHAT PLAYERS ACTUALLY DO when faced with no option of progression (even if the option is to find a guild and get into a raid, many players wont do this and are faced with the same issue as an endgame raider). They either find new non-progression content to chase or they quit.
Social Aspects You should ask all the WoW PvP players or the Gunbound players who buy special hats that look cool but have NEGATIVE stats. In the end, getting something different or even NEW is considered its own minigame (people still go back to do level 12 quests to see things they may have bypassed, although more commonly in the form of an alt). If you have an MMORPG player who cannot find or create their own motivation (in the form of change), you have a cancelled subscription. Not all of these changes have to be incremental, if they have a social benefit. For those that do not participate in social achievements find most of these games very limiting and end up grinding out achievements until they grow bored and quit and then complain how the game is boring.
I didn't mean to imply java was interpreted, but that interpreted languages (who have the best record for backward compatibility, since they are abstractions) suffer as well. Breaking backwards compatibility is a commonality across all languages.
I am probably showing my ignorance with this statement, but why does it have to become two different functions?
Not all languages support default arguments (optional parameters). Also, when you get deep enough into the implementation, you have to prototype both.
This is my example, which uses a java interface:
Class BidrectionalIOStream
String figureoutwhatkindofstream(ioStream);
void writeIOStream(ioStream,type);
You have a bytestream coming in from who-knows-where and have to read it and figure out through some ad-hoc method if it's from a file or network device or whatever.
Now later I develop specific stream types. Yay.
interface newStream
int getNumBytes()
class BidirectionalFstream implements newStream
fStream fread(filename);
void fwrite(fStream);
int getNumBytes(fStream); class BidirectionalNetStream implements newStream
netStream netRead(Socket);
void netWrite(netStream);
int getNumBytes(netStream);
Now all my stream handling functions have to support 2 different datatypes (and a different number of args) and write a wrapper function for the new case.
in this case all you had to do was write a new function (figureoutnumbBytes) and the default arg to streamToSerializedObject would be newStream.getNumBytes() but as an exercise, I hope you can see that it's a lot of work to maintain backward compatibility in all abstraction changes.
P.S. Yes I know the interface is not exactly right nor the example completely illustrative. I did what I could. Breaking backward compatibility does not give some twisted pleasure to developers. The pleasure is in fixing somethig that is implemented so badly, they are removing it. Developers _know_ it's going to cause people to say "you broke my program".
I eventually tried writing ports, yes. Unsuccessfully as I basically had to write a full blown multithreaded C app to simply communicate with hardware. Show me a good audio port.
Wrong. I mean Progression. And it is NOT what all MMOG players strive for. Such a holistic comment is stupid on it's face.
Try TALKING to any mmorpg developer. They will tell you the same thing. Players devour content. "Stupid on it's face." sounds a lot like "I'm talking out of my ass."
Once anyone gets to the top progression they quit? How long was MC the highest dungeon in WoW? The moment that PvP BGs came out (where there is no "progression" only new content in terms of items) people ate it up. People auction special mounts or pets or toys that have no game function other than visuals. If players needed to kill level 70 elites to get the 2nd level dungeon, you'd see a hundred level 1's suiciding to train the mobs away while a million more ran past to SEE the new content without being able to do anything. You discount content as a motivator like you have real evidence to the contrary.
Then perhaps you would add "complete backward compatibility" to the list of "What Makes a Programming Language Successful?" I do not know any language beyond 3.0 that maintains complete backward compatibility. If I have a function(foo,bar) and later change the compiler so it only needs function(foo), it's very likely I optimized it to extend it and now I'll have to maintain 2 branches? What about the crazy namespaces you have to maintain now? function.FooBarsubFunction & function.FooSubFunction
If you write a new version of a programming language you created, and old programs do not work AT ALL, then you have done something wrong.
I completely agree. Sometimes the fix is to prevent people from accessing your mistakes anymore. YMMV
Disclaimer: I 3 Erlang, it's the only functional language I "get" and as a side effect of learning it, I can read most LISP.
Erlang is pretty bad choice right now, which is partly why it's been relatively unsuccessful. Have you tried writing an application that uses a Database connection other than flatfile or mnesia (also terrible)? I am unable to access hardware (like an audio device) without using assembly, essentially writing my own driver, IN ERLANG. The term, "pulling teeth" comes to mind. Perhaps I'm a little rusty on my Erlang but I'm pretty sure nothing has changed in the last 2 years.
the fact that it can happen at all is unacceptable.
Same with any interpreted language. PHP, Python, same problem if you are using deprecated accessors. Heck, even the MySQL connector worked differently in PHP3
Are you really suggesting that every time there's a new version they change the name of the language? What about changing the name of every program you write just because you altered the API? Why would you say it's unacceptable?
It was sub-par writing. "Shit....as in Poop?" Seriously now. The plot was typical PA, but without the writing, it almost felt dull since we have seen most of the scenarios in PA comics already. The cutscenes kept up the tempo, and the way your customized character got included in the cutscenes (exactly as the character was designed) was a technically interesting exercise. The dialog never really picks up until the last "zone" with the intro the NPC gives, completely outshining the cutscene for a change. This continues on for the majority of last the zone.
Having Beta tested AoC, I think it's an ok game, but I do not see anything in there that I think is "better" than WoW. Except that it's "new". That means new classes, new lands to explore, new quests to do, more levels to grind. That's what people are really going to be leaving WoW for. Progression.
You mean CONTENT, which is what ALL MMOG players strive for, not progression. The people seeking increased difficulty are a demonstrably small subset.
Pretty sure that's not the correct way to backup a Subversion repo,
I actually don't know if the files are zipped since the size is not really an issue and I know I don't need anything other than an SVN directory (according to your naming conventions, as such): svn/repositories svn/conf svn/tracenv to completely restore all projects along with their Trac (given I have installed Trac), although I can simply rebuild Trac out of an existing repository anyways. We've never had trouble restoring. One of our younger repositories became corrupted. In 30 minutes a restored version of the repository was available. Eventually an svnadmin recover was run on the corrupted repository and it was "repaired", switched back to that one, and have not had issues since with any repository.
I'm not sure why you would use that, unless you have a db size problem.
1) The scripting part: mistype a name, and bang, you've got a new variable
Same as PHP AND Ruby, among others.
2) Failed object notation: this.bla, this.foo, this.callMethod(). This is a joke
Why? Because you think object notation is a sacred thing. You should learn more languages. A lot of your criticisms are as if you only know one.
3) No inheritance. Javascript is not object oriented. And using dojo.declare is no joy.
Orly? How hard is it to type "javascript inheritance" into google, really? You don't know Javascript, remove it from your resume.
4) Failed arrays and type system. Play with a[1], a["1"] and other variations, loop over them and get different results. Joy and hapinness
See 1)... Do you even understand how the 2 cases are the same?
5) Failed libraries: new Date( 2000, 1, 1 ): what date is that ?
Yes, only YOU know how a Date() object should be parameterized, right? Go back to school. http://www.w3schools.com/JS/js_obj_date.asp
6) Failed runtime: where are the threads?
Some languages don't have threads. But since you clearly don't know basic Javascript - window.setTimeout(referenceToFunction,timeInMilliseconds); Oh you want a C-like thread implementation handed to you? 3rd Party libraries by people much more familiar with Javascript than you or I exist. Google knows where they are.
7) Failed syntax: compare { x:42, y:35 } with { x=42; y=35; }. I thought the comma-as-a-separator was a thing of the past.
Again with the syntax criticism like it matters. Since it's such a hot issue, go bitch on the Erlang forums about using "." as an "end".
//big Erlang fanboy here. I will continue the Erlang criticism as long as it continues to fall short of being usable.
Scalability by writing all your hardware drivers/software communication, yourself, in C, doesn't really equate to scalability as much as writing your own implementation of a an Erlang-like language. Java seems to do just fine for geo-location and other high availability, high traffic services. Heck, Java has effectively POPULARIZED service-based servers in the last few years.
Or maybe it's an accurate observation.
30% Interesting
40% Troll
30% Underrated
Regardless of it being opinion and partially informative and on topic, troll mods because it criticizes PA's child.
Decent review. A little harsh on the environments, given the engine. Still nothing about the crappy writing given there was so little of it.
see my review (after finishing the game): http://forum.playgreenhouse.com/jforum/posts/list/424.page#2684
see my previous vapid comment: http://games.slashdot.org/comments.pl?sid=566489&cid=23577559
//for some reason criticizing PA writing always garners troll mods
And before that Herzog Zwei and before that Dune2.
The biggest differences in RTS games are how many "Factories" are optimal, dictating the "type" of strategies that work. Always incorporating economics and the concept of "counters" and tiers.
In order of popularity:
In Starcraft/WC3 single gate, single rax, single hatchery, versus double or triple allows for a large depth of strategy (within limits of the scale).
In Red Alert and DoW and CoH it's always 1 of each building type. The battles are expected to be more about micromanagement since the maps are smaller and resources more scarce and the counters "Softer" until higher tiers. Some people love it (see Company of Heroes).
In Total Annihilation/Supreme Commander/Conquest:Frontier Wars it's hyper macro with an assumption of continual creation/death of units and often incorporate a "supply line" concept. Some people love it (there aren't many).
Beyond this we have a different kind of game that rears its head from time to time which just decides to BREAK OUT of the mold.
Myth was original-ish with no resource management, just pure RTS with mixed soft and hard counters (later seen in Defcon and other failures...if people liked these types of games, the very best would have decent sales) and now the natural evolution of that into WIC to try to bring it back toward the archetypical RTS-land without stepping foot on it by introducing resources without an economic strategy (run away?). I smell poor play and poor sales. This is just my decades of RTS gaming experience talking, YMMV
Everyone we hire is either already experienced with SVN or picks it up in about 5 minutes. I don't know what the OP is smoking.
If that software is complex. GPLing simple original software means that other people generate wealth with it while the originator is does not.
Apologies if I come off sounding like a dick. I take your opinions and deductions very seriously in forming my own opinions, which have been developed over a very long time.
Social Aspects
You should ask all the WoW PvP players or the Gunbound players who buy special hats that look cool but have NEGATIVE stats. In the end, getting something different or even NEW is considered its own minigame (people still go back to do level 12 quests to see things they may have bypassed, although more commonly in the form of an alt). If you have an MMORPG player who cannot find or create their own motivation (in the form of change), you have a cancelled subscription. Not all of these changes have to be incremental, if they have a social benefit. For those that do not participate in social achievements find most of these games very limiting and end up grinding out achievements until they grow bored and quit and then complain how the game is boring.
I didn't mean to imply java was interpreted, but that interpreted languages (who have the best record for backward compatibility, since they are abstractions) suffer as well. Breaking backwards compatibility is a commonality across all languages.
Not all languages support default arguments (optional parameters). Also, when you get deep enough into the implementation, you have to prototype both.
This is my example, which uses a java interface:
Class BidrectionalIOStream
String figureoutwhatkindofstream(ioStream);
void writeIOStream(ioStream,type);
You have a bytestream coming in from who-knows-where and have to read it and figure out through some ad-hoc method if it's from a file or network device or whatever.
Now later I develop specific stream types. Yay.
interface newStream
int getNumBytes()
class BidirectionalFstream implements newStream
fStream fread(filename);
void fwrite(fStream);
int getNumBytes(fStream);
class BidirectionalNetStream implements newStream
netStream netRead(Socket);
void netWrite(netStream);
int getNumBytes(netStream);
Now all my stream handling functions have to support 2 different datatypes (and a different number of args) and write a wrapper function for the new case.
streamToSerializedObject(iostream,figureoutnumBytes(iostream));
streamToSerializedObject(newStream);
in this case all you had to do was write a new function (figureoutnumbBytes) and the default arg to streamToSerializedObject would be newStream.getNumBytes() but as an exercise, I hope you can see that it's a lot of work to maintain backward compatibility in all abstraction changes.
P.S.
Yes I know the interface is not exactly right nor the example completely illustrative. I did what I could. Breaking backward compatibility does not give some twisted pleasure to developers. The pleasure is in fixing somethig that is implemented so badly, they are removing it. Developers _know_ it's going to cause people to say "you broke my program".
I eventually tried writing ports, yes. Unsuccessfully as I basically had to write a full blown multithreaded C app to simply communicate with hardware. Show me a good audio port.
Try TALKING to any mmorpg developer. They will tell you the same thing. Players devour content. "Stupid on it's face." sounds a lot like "I'm talking out of my ass."
Once anyone gets to the top progression they quit? How long was MC the highest dungeon in WoW? The moment that PvP BGs came out (where there is no "progression" only new content in terms of items) people ate it up. People auction special mounts or pets or toys that have no game function other than visuals. If players needed to kill level 70 elites to get the 2nd level dungeon, you'd see a hundred level 1's suiciding to train the mobs away while a million more ran past to SEE the new content without being able to do anything. You discount content as a motivator like you have real evidence to the contrary.
I do not know any language beyond 3.0 that maintains complete backward compatibility.
If I have a function(foo,bar) and later change the compiler so it only needs function(foo), it's very likely I optimized it to extend it and now I'll have to maintain 2 branches? What about the crazy namespaces you have to maintain now?
function.FooBarsubFunction & function.FooSubFunctionI completely agree. Sometimes the fix is to prevent people from accessing your mistakes anymore. YMMV
Disclaimer: I 3 Erlang, it's the only functional language I "get" and as a side effect of learning it, I can read most LISP.
Erlang is pretty bad choice right now, which is partly why it's been relatively unsuccessful. Have you tried writing an application that uses a Database connection other than flatfile or mnesia (also terrible)? I am unable to access hardware (like an audio device) without using assembly, essentially writing my own driver, IN ERLANG. The term, "pulling teeth" comes to mind. Perhaps I'm a little rusty on my Erlang but I'm pretty sure nothing has changed in the last 2 years.
Same with any interpreted language. PHP, Python, same problem if you are using deprecated accessors. Heck, even the MySQL connector worked differently in PHP3
Are you really suggesting that every time there's a new version they change the name of the language? What about changing the name of every program you write just because you altered the API? Why would you say it's unacceptable?
The less cryptic the better. This generally means, be C-like in your operators and be easily readable at a loop level.
Having multiple abstractions available. Multiple ways to do the same complex task efficiently, not just for() or while(). Regex plz.
Being able to access hardware directly. This includes RAM allocation.
Few unexpected side effects. Documentation is important for both adoption and maintenance of programs written in the language.
That's all I got.
-The script was hilarious.
No.
It was sub-par writing. "Shit....as in Poop?" Seriously now. The plot was typical PA, but without the writing, it almost felt dull since we have seen most of the scenarios in PA comics already. The cutscenes kept up the tempo, and the way your customized character got included in the cutscenes (exactly as the character was designed) was a technically interesting exercise. The dialog never really picks up until the last "zone" with the intro the NPC gives, completely outshining the cutscene for a change. This continues on for the majority of last the zone.
I hope for better in the following episodes.
Having Beta tested AoC, I think it's an ok game, but I do not see anything in there that I think is "better" than WoW. Except that it's "new". That means new classes, new lands to explore, new quests to do, more levels to grind. That's what people are really going to be leaving WoW for. Progression.
You mean CONTENT, which is what ALL MMOG players strive for, not progression. The people seeking increased difficulty are a demonstrably small subset.
Seems a lot like the lead character from Cloverfield. Probably much more common than I expect.
I actually don't know if the files are zipped since the size is not really an issue and I know I don't need anything other than an SVN directory (according to your naming conventions, as such):
svn/repositories
svn/conf
svn/tracenv
to completely restore all projects along with their Trac (given I have installed Trac), although I can simply rebuild Trac out of an existing repository anyways. We've never had trouble restoring. One of our younger repositories became corrupted. In 30 minutes a restored version of the repository was available. Eventually an svnadmin recover was run on the corrupted repository and it was "repaired", switched back to that one, and have not had issues since with any repository.
I'm not sure why you would use that, unless you have a db size problem.
I personally use Tortoise but the IDEs tend to not be change-aware unless I'm using the integrated tool.