47 votes

Sont les jeux les plus complexes / impressionnant d'applications?

Je pensais aujourd'hui sur ce qui pourrait être le plus complexe / impressionnant de demande jamais écrit. J'ai donc commencé à penser à ce que je suis à l'aise avec et l'utilisation de tous les jours, des bases de données.

Puis je suis allé dans le champ de l'inconnu (pour la plupart d'entre nous je suppose), le gouvernement. Je peux seulement imaginer la complexité de NASAs des applications qui leur permettent de communiquer avec les rovers sur Mars.

Mais ensuite j'ai commencé à penser à des choses que j'utilise tous les jours depuis que je suis gamin, jeux. N'étant pas un développeur de jeu, cela m'a fait de l'imagination une énorme quantité de questions à propos de l'IA et de la complexité de calcul qui va au-dessus de tout ce que je peux penser.

Sont les jeux les plus complexes / impressionnant d'applications?

50voto

cletus Points 276888

Réponse courte: Non.

Réponse longue: les Jeux ne sont pas du tout compliqué. Cela dépend de ce que vous parlez quand vous dites "jeux", mais les deux prétendants à la plus complexe des jeux les jeux 3D et les jeux en ligne (en particulier massivement jeux en ligne).

La complication dans les jeux en 3D vient de prendre un modèle d'un monde et de rendu en 3D et de les faire se comporter dans un "réaliste" (dans le cadre des règles du monde). La création d'un environnement visuel et auditif de qui n'est en fait pas si difficile. Il est à peu près tout l'algèbre linéaire et est une mature domaine de l'informatique.

Le vrai truc vient à ce qui le rend performant en temps réel. Au fil des ans jeu les programmeurs ont dû faire BEAUCOUP de compromis entre réalisme et de la performance (par exemple, si vous pouvez faire un algorithme de performances qui va générer réaliste à la recherche des arbres qui vaut beaucoup d'argent). Donc les jeux ont naturellement eu mieux (visuellement) sur les années de calcul et les graphiques de puissance a augmenté.

Maintenant, certains programmeurs ont fait de réelles innovations dans ce domaine qui ont (à juste titre) acquis beaucoup d'argent. John Carmack (id Software: Doom et Quake) et Tim Sweeney (Irréel) viennent à l'esprit.

Le coût réel cependant, en faisant des jeux, c'est le contenu. Juste aller regarder les crédits d'un système moderne de FPS (first person shooter) jeu, et vous aurez généralement voir aussi peu que 6 programmeurs, mais il y a de 30 à 50+ artistes. Le contenu n'est pas complexe (à partir d'un point de vue logiciel). C'est juste beaucoup de temps.

Comme pour les jeux en ligne, je me souviens quand Everquest est sorti et les gens déliré au sujet de combien il a été difficile. Bzzzt, mal. Pour ceux (comme moi) qui ont été familiarisés avec le développement de MUDs (multi-user dungeons) à travers les années 90 (et, éventuellement, des années 80), l'architecture d'un Everquest serveur n'était pas si compliqué que ça.

En va de même pour World of Warcraft ou de l'une de ces autres jeux.

Si vous voulez parler de complexe, comment sur le système d'exploitation Windows XP ces choses se passent sur laquelle est estimée à 40 millions de lignes de code? Dieu sait combien de Vista. Ou ce sur le noyau Linux?

Maintenant dans le gouvernement, l'armée et le secteur privé, vous trouverez d'autres applications qui ont littéralement des milliers d'années, ont investi en eux.

42voto

Greg Hewgill Points 356191

Contrôle de la circulation aérienne sont les systèmes à tolérance de panne, critiques pour la sécurité, la haute disponibilité, et distribué. Il n'y a pas de temps d'arrêt que jamais, le système doit fonctionner 24 heures par jour, 365 jours de l'année, même pendant les mises à niveau du système. Il n'y a pas vraiment quelque chose qui est terriblement calcul complexe (pas d'IA par exemple, parce que vous voulez que le système soit prévisible), mais à partir d'un point de vue système il n'y a pas grand chose d'autre qui doit courir à ce niveau. Même d'une mission spatiale de logiciel ne doit s'exécuter tant que la mission n'.

25voto

T.E.D. Points 26829

J'ai travaillé un peu sur le code pour l'un de la NASA satellite de stations au sol. Le travail du système est électroniquement afin de garder une trace de, et le contrôle de tous les satellites de la NASA. Il pourrait ne pas sembler beaucoup, mais si un système tombe en panne alors que vous êtes dans le milieu de commander un satellite, vous pouvez envoyer des milliards de dollars de contribuable tourne dans le soleil. Si la tolérance de panne et de redondance intégré dans le programme d'installation ferait Blizzard jaloux. Autant que je me souvienne, il y avait quelque part dans le voisinage de 50 serveurs, dont les plus importants ont un disque de rechange prêt à prendre le relais en moins d'une seconde si la première échoue. Chacun de ces systèmes a redondant paire de systèmes prêts à prendre le relais si les deux échouent. J'ai pas encore vu un match aussi compliqué (ou impressionnant, à sa manière).

Chacune de ces stations au sol d'interagir les uns avec les autres en temps réel (à la fois par voie électronique et par l'intermédiaire d'interactions humaines), ainsi que tous les satellites eux-mêmes, bien sûr, et la navette lors de son là-haut, et les différents terminaux au sol que les processus de données d'orbites, et pouvaient donc être considérées comme de simples pièces d'un même plus grand et plus complexe du système, que la NASA appelle TDRSS. Voici un très conceptuel schéma que j'ai trouvé en ligne:

alt text

Le "White Sands Complexe" est physiquement situé dans l'extrême sud du Nouveau-Mexique, près de Los Cruces. Comme vous pouvez le voir à l'intérieur de son bloc, il y a trois bornes de masse comme celle que j'ai décrite, toute mise en réseau et à la les les satellites. Plus il y a deux plus éloignées (je ne sais pas où ils sont).

10voto

Renaud Bompuis Points 10330

Jeux certainement couvrir un très large éventail de technologie de l'informatique, de matériel, des optimisations de bases de données, l'intelligence artificielle, mathématiques avancées, you name it.

Il est difficile d'établir une référence pour la complexité, je ne suis pas sûr si l'un existe réellement. Si vous pensez à ce sujet, des choses qui sont anodines pour nous aujourd'hui ont vraiment des problèmes difficiles à résoudre une poignée d'années, de sorte que la complexité est une cible en mouvement et nous sommes tous sur le dessus de cela.

Si nous avions à analyser ce qui est impliqué dans juste la lecture de votre question, l'immensité des problèmes à résoudre sont effarants: imaginez la complexité des logiciels qui ont été utilisés pour la fabrication des composants électroniques de votre machine, ma machine et toutes les autres machines de entre.
Imaginez la quantité de complexité impliqués dans l'obtention d'ordinateurs pour transmettre des informations à d'autres de manière fiable.
Imaginez ce qu'il a fallu pour le système d'exploitation pour gérer l'ensemble de ce matériel, pour les navigateurs à évoluer au point où ils peuvent afficher complexe disposition des informations à l'écran...
Tout cela est énorme pour moi.

Vous pourriez point à partir d'une application complexe, mais si vous pensez cela, il est probablement toujours un autre qui ressemble assez simple sur la surface, mais peut être considéré comme encore plus complexe lorsque vous prenez en compte tout.

7voto

Uri Points 50687

Je voudrais dire un non catégorique.

Les jeux modernes sont certes impressionnants, bien que leur logiciel et le matériel, la technologie accuse un retard important, l'état de l'art dans le monde universitaire, de l'industrie et de l'armée. Après tout, ils sont destinés à fonctionner sur la commune de suffisamment de matériel à domicile. Je suis sûr que les militaires trains leur peuple sur la plus réaliste des simulations.

À partir d'un calcul point de vue, les jeux ne sont pas intéressants. Les jeux modernes (par exemple, Fallout 3, GTA4) certainement paraître étonnant en raison de leur "monde ouvert" et une longue histoire, mais qui n'a rien à voir avec la technologie, mais plutôt avec la valeur de la production. Jeux populaires exigent maintenant un plus grand casting et de l'investissement que certains films d'Hollywood. Alors bien sûr, vous avez un modèle de New York plutôt que d'un bloc, mais alors quoi?

Même les MMORPG ne sont pas aussi impressionnant. Oui, ils ont beaucoup de l'interaction des agents. Cependant, les applications d'entreprise qui comprennent notamment des agents ont plus de les agents, plus vite, et avoir de hautes exigences en matière de fiabilité.

Enfin, je dirais que, à l'exception de la pointe des algorithmes qui sont testées à l'aide de jeux comme les échecs car ils servent de repères, de jeu de l'IA n'est pas aussi avancé. Encore une fois, les militaires (et les entreprises) ont beaucoup plus intelligente des applications.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X