[ FR | EN ] Construction de mon avenir : de Gamedev à Webdev ? | Build of my future : from Gamedev to Webdev ?

in #videogames2 years ago

isart-digital-1024x576.png
Je n'ai aucune idée de quelle image mettre en présentation de ce post, donc voici le logo d'Isart Digital

Bonjour à tous !

Ça fait un moment que je n'avais pas écrit, j'étais pas mal occupé en Mai - Juin, et je n'ai hélas pas pu profiter de mes vacances comme je le voulais ( mais j'y reviendrais plus tard). J'ai mis dans ce post les tags "gamedev" et "webdev", et ce n'est pas pour rien ! Que vous soyez développeur de jeux vidéo ou développeur web, j'espère que vous aimerez l'article qui parlera des deux domaines.

Comme vous le savez peut-être, je suis étudiant en Game Programming à l'école Isart Digital à Montréal. Enfin... j'étais.

Oui, j'étais un étudiant en Game Programming. Après avoir passé 1 an à galérer en programmation, dans mes études, le verdict a été le suivant : alors que le reste de ma classe a été validé, le conseil de classe a estimé que je dois passer un rattrapage final pour valider mon année et passer en année supérieure. Je devais faire une reproduction de Minecraft. Et bon, le fait de travailler pendant les vacances qui fait que la motivation était au plus bas et que j'étais malade pendant plusieurs semaines ( vraiment, tomber malade en été est pire que tomber malade en hiver ) et que je galérais en programmation et que je n'ai commencé alors qu'il me restait 4 semaines. Et bien, forcément, j'ai eu la réunion avec la vie scolaire et mon prof pour mon rattrapage. La réunion a duré 1 minute et j'ai très vite compris les premières secondes que ça n'est pas passé.

Et donc ouais, au final, les mots ont été clair : " Ton rendu n'est pas suffisant, tu ne peux pas passer en année supérieure ".

Donc avant de donner mon ressenti sur cela et sur ma situation actuelle, j'aimerais du coup vous parler de tout ce que j'ai vécu, appris, expérimenté et retenu cette année et surtout... qu'est-ce que j'envisage pour cette année.

Quand j'étais accepté dans l'école, je faisais des études professionnelles françaises Informatiques. Au début, donc novembre 2019, on avait commencé à apprendre le C et la programmation basse niveau, cependant on n'a pas pu apprendre grand-chose et apprendre la programmation plus large à cause d'une chose qui s'appelle le Covid-19. Et par la suite, bah on avait fait presque plus de programmation, et pour une raison inexplicable, je n'ai pas continué à apprendre la programmation de mon côté. Ce qui fait qu'à la rentrée de septembre, j'ai commencé mon année sans aucune connaissance ou bagage en programmation. Enfin, j'avais mon bac avec mention mais bon, c'était "insignifiant" par rapport à ce qui m'attendais.

Avoir appris le C fut très difficile, on avait des exercices pendant 2 semaines et à la fin, on avait une sorte d'examen où on avait 6 heures je crois pour écrire un programme qui lit un fichier texte, écrit dedans et supprime dedans. Évidemment, j'ai totalement foiré à la base et après 2 semaines de galère, je suis donc parti de la France et je suis donc arrivé, début Septembre.

Donc par la suite, on avait un projet de reproduction Space Invaders, ça s'est bien passé mais pas grâce à moi. J'avais dans mon groupe le meilleur élevé de la classe, donc forcément, ça aide énormément. Par la suite, on a appris l'allocution de mémoire et... c'était foiré parce que' début du projet, il m'est arrivé une histoire d'alcool en soirée qui fait que j'ai eu une phobie scolaire et sociale vis-à-vis de l'école pendant presque toute l'année jusqu'à fin Mai environ. Donc mon année était composée d'études en programmation où je galérais car je n'étais pas en état d'apprendre même si j'étais déterminé. Un moment dans mon année, j'ai failli échouer mon année, j'avais des modules pas validé mais j'ai quand même cherché toutes les solutions pour réussir. L'école a fini par me donner une chance, et je l'ai prise et j'ai tryhard pendant 4 semaines, et j'ai fini par valider mon premier semestre et put continuer mes études.

Donc, le second semestre, on a appris à utiliser OpenGL Legacy qui fut très difficile à apprendre car l'apprentissage était pendant 2 semaines de confinement chez nous et couplé à des problèmes de sommeil, donc le projet je l'ai raté avec beaucoup, mais vraiment BEAUCOUP de retard. Pour ceux qui ne savent pas, OpenGL est une bibliothèque de fonctions pour afficher des graphismes, des images, des modèles, etc. Et il y a deux versions de Open Gl : Legacy, qui est la première version d'OpenGL qui était plus simple mais moins performante, et Modern, qui est la dernière version qui est largement plus compliquée à comprendre mais largement plus performant que l'ancien. Par la suite, on a eu un projet Rasterizer en groupe et... pour être honnête, je ne me rappelle plus du tout en quoi il consistait mais je sais que c'était par rapport aux Graphismes 3D. Ensuite... ENSUITE ! On a appris le C# et Unity... ah, le C# et Unity... Comme je l'avais déjà dit dans un ancien post, je n'aime pas du tout Unity, même, je n'aime pas du tout le C#. Je pense que c'est un moteur et un language très confus et pas simple à comprendre. Ce qui est assez étrange vu que le C++ est considéré comme plus compliqué que le C#, je préférais bosser en C++ qu'en C#. Donc on a eu un projet de jeu vidéo avec les Game Designers de 2ème année et ça s'est plutôt bien passé. Par la suite, on a étudié le modern OpenGL et pendant l'apprentissage, on a eu la Game Week de l'école. La fameuse Game Week où j'ai subi la petite humiliation de ne pas avoir réussi à coder un simple mouvement de personnage vu que j'étais dans une équipe ( très sympa ) qui avait décidé de faire le jeu sur Unity.

FINAL_IMAGE_PUMPYS_TRIP.png
Le logo final du jeu !

Et enfin... le projet de fin d'année. Groupe de 3-4, on devait faire une reproduction de Portal. Je m'occupais de l'éditeur de niveau, et je devais apprendre à utiliser une librairie appelée ImGui et c'était très difficile vu qu'il n'y avait que très peu de documentation sur les fonctions de la librairie. Donc c'était le chef de groupe qui m'a beaucoup aidé dans mon travail. On était 3 groupes, et à la fin, on était la deuxième meilleure notée ( si je m'en rappelle bien ).

Donc voilà en grand résumé toute mon année scolaire. Maintenant, qu'est-ce que j'ai retenu de tout ça ? Beaucoup de choses.

Déjà, la programmation de jeux vidéo est sans doute l'un des domaines de programmation les plus durs. Je dis "l'un des domaines" par respect pour ceux qui font des choses plus avancés comme de la programmation en Python pour des sciences ultra-complexes ( non, ne me remerciez pas 😉 ). Je me suis rendu compte à quel point chaque détail dans un jeu vidéo est travaillé pendant des heures, derrière le mouvement d'un personnage, il y'a des heures et des heures de travail derrière, des tas de calculs effectués pour un simple mouvement... Alors, maintenant, j'imagine très bien tout le travail qu'il y a pour des choses comme tirer avec une arme ou le fait de faire en sorte que tu as une barre de vie et un temps d'invincibilité, etc...

Vous savez, il y a des gens qui disent : " Il y a deux catégories de personnes : ceux qui peuvent, et ceux qui ne peuvent pas. ". Eh bien, je dois avouer que je ne sais pas quelle est la réponse par rapport à ce rêve d'enfant. Je pourrais dire que les études dans cette école étaient très compressées, tendus et très difficiles. Même, je pense que je peux le dire sans forcément chercher des excuses à mon échec, car tout le monde, même les professeurs de programmation et des programmeurs expérimentés me confirment que le niveau est chaud. Après, par question de bon sens, je ne peux pas dire que c'est que de la faute des études. Parce que très honnêtement, plusieurs fois je n'étais ni motivé ni discipliné, il me manquait clairement des acquis que j'étais censé avoir intégré à la base. Enfin, j'ai compris certaines logiques, certains procédés, mais je ne savais pas comment le retranscrire en programmation. Et tout ça, pour quelqu'un qui était censé travailler dans un studio de jeu vidéo 1 an plus tard, c'était par ouf. En fait, je ne sais pas si ça serait auto-rabaissant de dire que c'était catastrophique. D'où on revient à ce que je disais plus haut : est-ce que je peux mais c'est juste qu'il me faut plus de temps, plus d'acquis... ou alors, je ne peux tout simplement pas parce que je ne suis pas capable ? Eh bien, je ne sais pas. Et c'est l'un des problèmes de l'étape de construction d'avenir du jeune adulte que je suis : le doute. Je doute de moi, sur mon expérience, sur " Est-ce que j'en suis capable ? Est-ce que je suis prêt à apprendre en autodidacte ? Est-ce que mon rêve d'enfant est un vrai but ou ce n'est justement qu'un rêve du petit Thibaud qui voulait faire des jeux vidéos ? ". Et bien, il me faudra du temps pour trouver ses réponses.

Pour conclure ce post : et maintenant ? Eh bien, je suis toujours au Québec parce que je n'ai aucune envie de retourner en France. Vraiment, AUCUNE. J'ai toujours mon statut d'étudiant, mais je ne suis pour le moment pas inscrit dans un programme d'études. Tout ce que je sais, c'est que vu les études que j'ai faits en France, je peux aller à l'université ici. C'est cool ! Et du coup, qu'est-ce que je fais ? Eh bien, en me rappelant une discussion avec mon professeur de programmation ( qui a d'ailleurs quitté l'école pour travailler chez Ubisoft), il m'avait parlé du fait que le développement de jeux vidéo était compliqué et qu'à côté, c'était plus facile, et il m'avait cité l'exemple du développement web. Et donc, j'avais commencé un petit prototype de site web pour toucher un tout petit peu, et ça m'intéresse. Je pense rester dans le domaine de l'informatique, et pouvoir tenter de travailler comme développeur web pour une boîte. Pourquoi pas ! J'avais commencé à regarder un peu le HTML, le CSS et un tout petit peu de Javascript. Donc quasi du front end, parce que je pense être plus apte pour le front end. Mais si ça se trouve, je peux me tromper ! Je compte m'inscrire dès lundi soit en candidat libre à l'université UQAM de Montréal, soit carrément dans un programme informatique de l'UQAM, si programme informatique pour développement web il y a ! Je suis quand même content ce que ce que j'ai pu apprendre et faire pendant cette année, j'ai quand même de l'expérience à afficher sur mon CV et des projets à montrer sur mon portfolio, que j'aimerais faire moi-même. Ah ha ! Bah justement, les études de web développement m'aideraient !

Voilà, c'était tout pour ce post plutôt long, j'ai peut-être raté des détails mais vous avez au moins un aperçu de ce que j'ai vécu cette année au niveau de mes études, et surtout mon ressenti au sein de l'école Isart Digital. C'est plutôt une bonne école, c'est très difficile, mais si vous réussissez, vous trouverez facilement un avenir.

Gamedevs comme Webdevs, j'aimerais bien voir votre ressenti par rapport à mon expérience, je trouve que ça pourrait être très intéressant et pourrait m'aider à trouver des pistes et des réponses qui vont probablement m'aider à me construire.

Sur ce, je vous remercie d'avoir lu le post, et je vous dis bonne journée ou bonne soirée ! :)


isart-digital-1024x576.png
I have no idea what image to put in the presentation of this post, so here is the logo of Isart Digital

Hello everyone!

It's been a while since I wrote, I was quite busy in May - June, and I unfortunately could not enjoy my vacations as I wanted (but I'll come back to that later). I put in this post the tags "gamedev" and "webdev", and it's not for nothing ! Whether you're a game developer or a web developer, I hope you'll enjoy the article that will talk about both fields.

As you may know, I'm a Game Programming student at Isart Digital School in Montreal. Well... I was.

Yes, I was a Game Programming student. After spending 1 year struggling in programming, in my studies, the verdict was the following: while the rest of my class was validated, the class council felt that I had to take a final exam to validate my year and move to the next year. I had to make a Minecraft replica. And well, the fact that I was working during the vacations that made my motivation low and that I was sick for several weeks (really, getting sick in summer is worse than getting sick in winter) and that I was struggling in programming and that I only started when I had 4 weeks left. Well, of course, I had the meeting with the school life and my teacher for my catching up. The meeting lasted 1 minute and I understood very quickly the first seconds that it didn't pass.

And so yeah, in the end, the words were clear: "Your report isn't good enough, you can't move on to the next grade".

So before I give my feelings on that and on my current situation, I would like to tell you about everything I lived, learned, experienced and retained this year and especially... what I plan for this year.

When I was accepted in the school, I was studying French Computer Science. At the beginning, so November 2019, we had started to learn C and low level programming, however we couldn't learn much and learn broader programming because of a thing called Covid-19. And after that, well we had done almost no more programming, and for some inexplicable reason I didn't continue to learn programming on my own. So when I started school in September, I started my year without any knowledge or background in programming. Well, I had my baccalaureate with honors but it was "insignificant" compared to what I was expecting.

Learning C was very difficult, we had exercises during 2 weeks and at the end, we had a kind of exam where we had 6 hours I think to write a program that reads a text file, writes in it and deletes in it. Obviously, I totally messed up at the beginning and after 2 weeks of hard work, I left France and I arrived in early September.

So afterwards, we had a Space Invaders reproduction project, it went well but no thanks to me. I had in my group the best student of the class, so obviously, it helps a lot. Afterwards, we learned the thesis speech and... it was messed up because at the beginning of the project, I had a drinking incident at night that made me have a school and social phobia towards school for most of the year until the end of May. So my year was composed of programming studies where I was struggling because I was not in a state to learn even if I was determined. At one point in my year, I almost failed my year, I had some modules not validated but I still looked for all solutions to succeed. The school finally gave me a chance, and I took it and triedhard for 4 weeks, and I ended up validating my first semester and was able to continue my studies.

So, the second semester, we learned how to use OpenGL Legacy which was very difficult to learn because the learning was during 2 weeks of confinement at home and coupled with sleep problems, so the project I missed with a lot, but really a LOT of delay. For those who don't know, OpenGL is a library of functions to display graphics, images, models, etc. And there are two versions of OpenGL: Legacy, which is the first version of OpenGL that was simpler but less powerful, and Modern, which is the latest version that is much more complicated to understand but much more powerful than the old one. Then we had a group Rasterizer project and... to be honest, I don't remember what it was about but I know it was about 3D graphics. Then... THEN! We learned C# and Unity... ah, C# and Unity... As I said in a previous post, I don't like Unity at all, in fact, I don't like C# at all. I think it's a very confusing engine and language and not easy to understand. Which is quite strange since C++ is considered more complicated than C#, I preferred to work in C++ than in C#. So we had a video game project with the 2nd year Game Designers and it went pretty well. Afterwards, we studied modern OpenGL and during the training, we had the school's Game Week. The famous Game Week where I suffered the small humiliation of not having succeeded in coding a simple movement of character since I was in a team (very kind) which had decided to make the game on Unity.


The final logo of the game !

And finally... the end of the year project. Group of 3-4, we had to make a reproduction of Portal. I was in charge of the level editor, and I had to learn how to use a library called ImGui and it was very difficult because there was very little documentation about the functions of the library. So it was the group leader who helped me a lot in my work. We were 3 groups, and at the end, we were the second best graded (if I remember correctly).

So that's it in a nutshell my whole school year. Now, what did I learn from all this? A lot of things.

First of all, video game programming is probably one of the hardest fields of programming. I say "one of the domains" by respect for those who do more advanced things like programming in Python for ultra-complex sciences ( no, no need to thank me 😉 ). I realized how much each detail in a video game is worked for hours, behind the movement of a character, there are hours and hours of work behind, heaps of calculations done for a simple movement... So now I can imagine all the work that goes into things like shooting a weapon or making sure that you have a life bar and an invincibility time, etc...

You know, there are people who say, "There are two kinds of people: those who can, and those who can't. ". Well, I must confess that I don't know what the answer is to that childhood dream. I could say that the studies in this school were very compressed, tense and very difficult. Even, I think I can say that without necessarily looking for excuses for my failure, because everyone, even the programming teachers and experienced programmers confirm me that the level is hot. Afterwards, as a matter of good faith, I can't say that it's only the fault of the studies. Because quite honestly, many times I was neither motivated nor disciplined, I was clearly missing some knowledge that I was supposed to have integrated in the first place. I mean, I understood some logic, some processes, but I didn't know how to translate it into programming. And all that, for someone who was supposed to work in a video game studio 1 year later, it was amazing. In fact, I don't know if it would be self-deprecating to say that it was catastrophic. Which brings us back to what I was saying earlier: can I do it, but I just need more time, more experience... or can't I do it because I can't? Well, I don't know. And this is one of the problems of the future-building stage of the young adult that I am: doubt. I doubt myself, my experience, "Am I capable? Am I ready to learn by myself? Is my childhood dream a real goal or is it just a dream of little Thibaud who wanted to make video games? ". Well, it will take me some time to find his answers.

To conclude this post : what's next? Well, I'm still in Quebec because I have no desire to return to France. Really, NONE. I still have my student status, but I'm not currently enrolled in a study program. All I know is that because of the studies I did in France, I can go to university here. That's cool! So what do I do? Well, remembering a discussion with my programming teacher (who by the way left school to work at Ubisoft), he told me that video game development was complicated and that on the other hand, it was easier, and he gave me the example of web development. And so, I had started a little prototype of a website to touch a little bit, and I'm interested. I think I'll stay in the computer field, and try to work as a web developer for a company. Why not! I had started to look at HTML, CSS and a little bit of Javascript. So almost front end, because I think I'm more suited for front end. But I could be wrong! I plan to register on monday either as a free candidate at the UQAM university in Montreal, or in a computer science program at UQAM, if there is a computer science program for web development! I'm still happy with what I could learn and do during this year, I still have experience to show on my resume and projects to show on my portfolio, which I would like to do myself. Ah ha! Well, studying web development would help me!

That's it for this rather long post, I may have missed some details but you have at least a glimpse of what I experienced this year in terms of my studies, and especially my feelings within the Isart Digital school. It's a pretty good school, it's very difficult, but if you succeed, you'll easily find a future.

Gamedevs as Webdevs, I would like to see your feeling about my experience, I think it could be very interesting and could help me to find tracks and answers that will probably help me to build myself.

On that note, I thank you for having read the post, and I say good day or good evening to you! :)