propane42 a écrit : ↑lundi 14 octobre 2019 à 17:54
Eh eh j'avais pas vu qu'il y avait une série de question pour se présenter.
KoaKao a écrit : ↑mardi 6 janvier 2015 à 15:53
Quelques question ? Allez si je suis sûr que vous adorer mes questions hihihi
- Êtes vous plutôt gros dev pro qui programme beaucoup ? Plutôt un joueur qui fait quelques petit programmes par-ci par-là ? Ou plutôt un débutant qui à déjà programmer mais encore bien débutant ? Ou alors avez vous juste vu ce que c'était un programme et au pire toucher à un code une ou deux fois ?
Programmeur 100% geek, pas pro mais ayant une formation pro. Je suis informaticien de gestion, de formation et de profession. Ma formation m'a initié au développement mais j'ai pas de formation de développeur en tant que tel. Je suis un IT qui touche un peu à tout.
KoaKao a écrit :
- Pour ceux qui programme : depuis quand ? Quel langage connaissez vous (C/C++, Java, JS, PHP, html, .Net etc...) ?
Depuis longtemps ... au tournant des années 2000 durant ma formation, et j'ai jamais lâché.
J'ai commencé en VB6. Je suis depuis resté sur plateforme Windows (.Net).
Aujourd'hui je code surtout en C#, et quant je dois faire du web, en ASP.NET et PHP
Et bien sûr le SQL pour les bases de données.
KoaKao a écrit :
- Que préférez vous faire (Web, Applications, Jeux...) ? Quel langages préférez vous, ou quel type ?
Applicatif Windows.
En terme de langage, je préfère le VB (pas de prise de tête avec les ; ). Par contre j'utilise préférentiellement le C# (plus complet).
KoaKao a écrit :
- Avez vous, pour les plus avertis, déjà créé de "gros" programmes tel que des jeux, des sites, application...
Oui au niveau pro j'ai créé notre outil de ticketing, qui s'articule autour d'une DB. Et qu'on utilisent tous les jours au bureau. J'ai également développé nos logiciel serveur et client de DNS dynamique en SSL, pour nos clients qui ont besoin d'un accès externe mais qui n'ont pas d'IP fixe. Ca nous évite de devoir payer un DynDNS !!!
Au niveau perso, j'ai fait quelques projets "importants".
Un moteur 3D en XNA de A à Z, que j'ai fini par abandonné a cause des limitations de XNA au niveau des collisions. Et actuellement je code un MMO en Unity3D et C#. Si je parle de MMO c'est parce que je code à la fois un client Unity3D, mais également 2 applicatif coté serveur : l'applicatif de gestion de l'infra (serveur de login, de DB, serveur maître) , ainsi qu'un hybride Unit3D/serveur de jeu persistant (ça c'est chaud !!!). La partie infra réseau fonctionne bien (du login initiale jusqu’à l'entrée en jeu). Actuellement je bloque sur des problèmes de skybox 3D interactive, au niveau des échelles entre la zone de jeu à l’échelle 1, les différents niveaux de skybox et le basculement de l'affichage des objets selon qu'ils sont trop loin (skybox) ou proche (échelle 1). Mais j'ai de la peine a m'y remettre (question de motivation)
Et j'ai mon portail web en ASP.NET.
Beau parcours.
Mon parcours pour répondre en gros à la présentation du sujet.
Mon premier ordi était l'Apple IIc. Dans les années 90. Obsolète. Mon père me l'avait donné.
J'étais au début du collège.
C'était encore en floppy-disks, grandes disquettes souples. Il y en avait une qui était un tuto interactif sur le BASIC (pas le VB, visual basic, hein, le BASIC), qui contenait plusieurs applications.
Space Invaders, une appli qui jouait une sonate pour piano à 2 voix de Mozart, un jeux de gestion d'une buvette. J'étais fous.
Et j'avais plein d'autres jeux, sur d'autres disquettes.
Au collège, j'ai programmé pleins de programmes sans importance en BASIC.
Les seuls qui valent le coup d'être cités, c'était un solveur de mots-mêlés et un tetris.
Le problème qui me frustrait, c'était que c'était trop lent. Ça ramait comme on dit.
(L'Apple IIc avait un 6502a cadencé à 1Mhz). Mais oh malheur, mon père avait un bouquin sur l'assembleur du 6502.
Son adressage mémoire est sur 16 bits (et encore c'est pas le processeur mais la MMU), mais il ne peut cependant gérer que des mots de 8 bits. C'est un processeur 8 bits.
Il fallait tout calculer avec des entiers qui varient de 0 à 255, ou de -127 à 128.
En plus, quand je parle d'assembleur, c'est presque un anachronisme, car il fallait coder en langage machine.
J'avais entrepris de faire un éditeur d'assembleur, en BASIC.
Il fallait transformer l'instruction (mnémonique en assembleur) en son code hexadécimal. Et inverser les octets des adresses 16 bits.
Mais vu que je restais cloitré dans ma chambre toute la journée, mes parents ont décidé de me le confisquer.
Je n'ai jamais fini ce programme.
Pour passer du BASIC (langage très haut niveau, non typé explicitement) au langage machine sur l'Apple IIc, il y avait 3 commandes BASIC : PEEK, POKE et CALL. Les deux premières servent à lire ou écrire en mémoire, avec un entier décimal en paramètre pour l'adresse concernée, et CALL servait à lancer le programme en langage machine, en précisant l'adresse de début encore en décimal. (Nombres entiers en base 10)
Adolescent et jusqu'à maintenant, je me suis mis au 68k(Ah là, la génuflexion est de rigueur
) , puis au C, puis au C++ (et le HLSL), puis à Java (et le GLSL) , puis au C# (balbutiements, je débute, mais c'est le même langage à quelques mots clés près, et le même paradigme que le Java)
Un moteur de jeu en C++ qui m'a pris plusieurs années. Les ombres m'ont bouffé la vie. Ma seule fierté était de gérer les ombres engendrées par les surfaces transparentes. (Des ombres colorées quoi, pas en noir et blanc). Et avec des contours lissés et non pixélisés. Oh malheur.
. Avec mon binôme depuis plus de 20 ans, ce petit moteur nous avait permis de faire un prototype de jeu de cours ala Mario Kart. Mais on a abandonné ce projet. Car un seul développeur (mon binôme est concepteur, il connait rien en codage mais est une tête en modélisation 3D), ne je peux pas suivre tout seul l'évolution des technologies et les implémenter à temps.
On a publié un jeu 2D sur le playStore, un jeu de réflexion, qui est en 2D. J'ai dû créer une API 2D utilisant GLSL (langage de shader d'OpenGL), pour les graphismes, avec l'avantage de pouvoir créer ses propres shaders (Niveaux de gris, colorisation d'un sprite en niveau de gris, normal mapping … Et ouais ma grosse, bien que le sprite soit toujours parallèle à l'écran, cela permet de calculer la lumière d'une lampe et la brillance selon une normal map et l'inclinaison du sprite, en 2D. Bien entendu, il faut appliquer des rotations et des translations sur les sprites qui utilisent le normal mapping, pour que l'on voit les changements de luminosité et de brillance dessus car sinon cela ne servirait à rien. Autant coder ces informations direct sur l'image si c'est une illumination statique. Comme en 3D, il faut 2 texture pour faire du normal mapping, même en 2D. Une color map, qui ne contient que les couleurs sans informations d'illuminations. Couleurs brutes. Et une normal map, qui code l'inclination de chaque pixel par rapport à sa surface. En 2D c'est pas compliqué. En 3D c'est autre chose, car chaque facette a son inclinaison propre. (Son propre repère, que l'on appelle TBN, chaque vertex contient un repère 3D utilisé pour le normal mapping, et le displacement mapping (qui ne crée pas de géométrie contrairement à ce qui est dit sur certains tutos. C'est autant une approximation de volume que le normal mapping, mais qui feint la hauteur grâce à une height map en plus). Je ne vais pas plus loin).
Je me suis mis à Unity très récemment, et j'ai déjà des déboires, notamment avec le "character controller". Dans une scène, j'ai mis un personnage et quelques plateformes animées.
Notamment, une qui va de haut en bas. Le personnage tombe sous le terrain quand je le mets sous cette plateforme quand elle descend et l'écrase…
Une autre plateforme qui tourne. Quand le personnage va dessus, il ne tourne pas avec...
On en est là.