Julien BERNARD

Développeur Unity
Programmation gameplay C#

Unity Developper
Gameplay Programming in C#

Tél : 06 84 61 11 61
E-mail : julienbernard1981@gmail.com

Tel : +33 6 84 61 11 61
E-mail : julienbernard1981@gmail.com

Mon profil ?

My profil ?

Me contacter ?

Contact me ?

Mes réalisations ?

My works ?

Ma certification ?

My certification ?

Salut !

Moi c'est Julien, jeune développeur Unity.

Mon expérience vidéoludique a débuté en tenant une manette d'Atari 2600, dans les années 80, et n'a jamais cessé de croître depuis.

J'affectionne les jeux de stratégie, les RPG ou MMORPG mais plus particulièrement les courses de voitures.

Après 15 ans de commerce, qui m'ont permis d'apprécier le travail en équipe et d'en manager certaines, j'ai décidé de changer de carrière afin de pouvoir mêler passion et vie professionnelle.

Je m'en suis donné les moyens par une formation intensive dans une école spécialisée dans le développement informatique (www.3wa.fr) et obtenu la certification Unity.

Je cherche maintenant de nouvelles opportunités d'emploi.

N'hésitez pas à me contacter !

Hey !

My name is Julien, a young Unity developer.

My gaming experience started in the 80's with an Atari 2600 controller in my hands, and has never stopped growing since then.

I am fond of strategy games, RPGs or MMORPGs but especially racing cars.

After 15 years of business, which allowed me to appreciate teamwork while being team manager, I decided to change profession in order to combine passion and professional life.

I provide myself with the means of achieving intensive training in a computer development specialized school (www.3wa.fr) and obtained the Unity certification.

I am now looking for new job opportunities.

Please do not hesitate to contact me !

PORTFOLIO

POWER RACING

Voici les Screenshots d’un projet personnel de fin de formation, après 2 semaines de travail.
L’idée est de réaliser un jeu auquel j’aimerais jouer et dans lequel il me sera possible d’appliquer toutes les techniques et les concepts appris, je me suis donc orienté vers les courses de voitures.
Les Assets graphiques viennent de l’Asset Store de Unity.
La première difficulté rencontrée était les Wheel Colliders, indispensables dans un jeu de voiture pour un bon Gameplay, mais plus complexe à gérer que des « Colliders » classiques. La documentation de Unity et quelques tutoriels m’ont permis de les maîtriser.
Pour la version de démo, les Dolly Tracks de Cinemachine ont remplacé l’IA qui sera codé par la suite.
Des Scriptable Objects regroupent les infos du joueur reprises par l’UI et les infos de course.

After 2 weeks of work, here are the pictures of the end of training personal project.
I went to racing cars because I wanted to make a game that I would have loved to play my-self and in which I would have being able to apply all learned techniques and concepts.
The graphical assets come from Unity Asset Store.
The first difficulty encountered was the Wheel Colliders , which is essential in a car game for a good Gameplay and more complex to manage than classic "colliders". Unity documentation and some tutorials allowed me to master the Wheel Collider element.
For simplicity in the demo version the AI was not coded but the Dolly Tracks of Cinemachine were used (There will be a real AI after).
Scriptable Objects contain the player's information taken from UI and the race info.

Pour déterminer la position de chaque bolide mais surtout celle du « joueur », des Box Colliders en Is Trigger ont été intégrés sur le parcours. En ajoutant le tour dans lequel se trouve la voiture à la valeur du « Collider » franchi, cela donne un Int pour chaque véhicule. Il suffit alors de les comparer entre eux pour déterminer les positions des concurrents.
L’autre difficulté a été de gérer les Dolly Tracks pour l’attente du feu vert par les autres véhicules. Pour le joueur il a suffi de désactiver le code jusqu’au feu vert. Après recherche, la solution est venue d’une mise de la vitesse, à 0, des Dolly Tracks pendant le compte à rebours. Cette recherche m’a également permis de créer un « menu pause ».
Par la suite, le décor a été rendu destructible pour augmenter le coté fun du jeu. Ainsi, tous les véhicules passifs ou actifs explosent au contact du « joueur » et lui rapportent des points. Quant aux éléments de décor non mécaniques (qui n’explosent pas), ils disparaissent quelques secondes après la collision avec le « joueur ».

To determine the position of each car, but especially player’s one were added Box Colliders in Is Trigger on the track. When adding the lap in which the car is to the value of the "collider" crossed, give an Int for each vehicle. It only needs to compare them to determine cars’ position.
The other difficulty was managing the Dolly Tracks to wait for the green light for other vehicles. For the player one it was enough to disable the code until the green light. After searching the solution came from setting the speed of Dolly Tracks to 0 during the countdown. This research also allowed me to create a "pause menu".
Subsequently the scenery was made destructible to increase the fun side of the game. Thus, all passive or active vehicles explode in contact with the "player" and earn him points. All non-mechanical (non-exploding) elements of the scenery disappear a few seconds after the collision with the "player".

FLOATED VILLAGE

Floated Village est un puzzle game dont le but est de faire entrer l’eau en contact des zones fertiles, représentées par les blocs verts, et ainsi d’y faire pousser un arbre. Pour cela vous devrez créer vous-même un canal à travers le sable en supprimant les blocs.

Il a été Buildé sur Android mais il est possible de le passer sur IOS.

Sur les bases du code du jeu de la vie, réalisé la même semaine, chaque case, autour de l’ « eau » , est testée afin de déterminer si la propagation est possible, ou s’il y a une zone fertile pour y faire pousser un arbre.
Il s’agissait d’un exercice dont le but était de faire un jeu mobile et d’y intégrer des publicités. Ainsi il n’y a pas de gameplay élaboré ni d’UI, mais plutôt une bonne base pour créer un jeu plus complet.

Floated Village is a puzzle game that aims to bring water into contact with fertile areas, represented by green blocks, and thus grow a tree. For this you will have to create a channel yourself through the sand by removing the blocks.

It has been Build on Android but it can be switched to IOS.

Based on the code of the game of life, made the same week, each box, around the "water", is tested to determine if the spread is possible, or if there is a fertile area to do it to grow a tree.
It was an exercise that aimed to make a mobile game and to include advertisements. So there is no elaborate gameplay or UI, but rather a good base to create a more complete game.

3D ANIMATION / AI

A partir d’un modèle 3D humanoïde et d’un panel d’animation il a fallu organiser l’Animator. Ainsi un Blend Tree a été créé pour gérer les mouvements de déplacement que ce soit la marche ou la course. Des Sub-State Machines ont permis de regrouper les animations d’une même séquence de mouvement. Par exemple pour le saut, elle regroupe la prise d’élan, le saut et l’atterrissage.
Le but de l’IA est de détecter le joueur pour cela j’ai codé 12 RayCast qui parte de l’IA et qui vise chaque articulation du joueur. Si 6 des 12 RayCast atteignent leur cible, l’IA se dirige vers le joueur alors il n’a plus qu’à s’échapper et se cacher derrière un élément de décor. Une fois semée, l’IA se dirigera vers le dernier emplacement du joueur connu, regardera à droite puis a gauche avant de rependre sa ronde à l’endroit où elle avait été interrompue.

From a 3D humanoid model and an animation panel it was necessary to organize the Animator . Thus a Blend Tree has been created to manage movement movements whether walking or running. Sub-State Machines allowed to group the animations of the same sequence of movement. For example for the jump, it includes the momentum, the jump and the landing.
The purpose of the AI is to detect the player for that I coded 12 RayCast which starts from IA and which targets each articulation of the player . If 6 of the 12 RayCast hit their target, the AI moves to the player so they just have to escape and hide behind a decorative element. Once sown, the IA will move to the last known player location, look to the right and left, then return to the round where it was. interrupted.

L’Invers Kinematic ou l’IK, pour les familiers du terme, a été abordé dans cette exercice. Le joueur tend les mains dès qu’il s’approche d’un mur ou d’un décor vertical mais aussi il pose la main sur les poignées de porte pour les ouvrir en suite.
Le Level Design a été réalisé avec le plugin ProBuilder.

The Kinematic Invers or the IK , for the familiar of the term, was discussed in this exercise. The player extends his hands as soon as he approaches a wall or a vertical decoration but also he puts his hand on the door handles to open them in continuation.
The Level Design was realized with the ProBuilder plugin.

BATTLE SOUND

Temps de travail : 3 jours et 2 jours pour l'UI

Jeu musical abstrait dont le but est de faire passer le flux de notes dans les haut-parleurs pour que la musique puisse être jouée.
Projet qui a pour but d'utiliser l'Effector de Unity et la génération de particule.
Jeu réalisé sans asset graphique. j'envisage d'en faire une version mobile.
J'ai utilisé ce projet pour étudié l'interface utilisateur (UI)

Working time: 3 days and 2 days for UI

An abstract musical game whose goal is to make the flow of notes pass through the speakers so that the music can be played.
Project that aims to use Unity's Effector and particle generation.
Game realized without graphic asset. I plan to make it a mobile version.
I used this project to study the user interface (UI)

RENEGADE RELOADED

Durée du projet : 1 semaine

Renegade Reloaded est un beat'em all en 3D simulée à la Street of Rage ou Double Dragon avec les assets graphiques d 'Incubattle.
C'est mon premier projet en équipe, nous nous sommes répartis les taches afin d'éviter tous soucis de mise en commun.
Je me suis occupé de tout ce qui était inhérent au joueur de l'animations, à partir de Spritesheets, à la création des Hits Box et des Hurts Box mais aussi de la State Machine qui permet au joueur d'avoir un large éventail de coups et de mouvements à effectuer à des moments particuliers.
Par exemple pouvoir faire une attaque aérienne seulement si le joueur est en plein saut ou pouvoir enchaîner une série de coups différents.
Cela à été un travail de codage long et fastidieux mais très intéressant.

Duration of the project: 1 week

Renegade Reloaded is a beat'em all simulated 3D like Street of Rage or Double Dragon with the graphic assets of Incubattle.
This is my first team project, we spread the spots to avoid any pooling concerns.
I took care of everything that was inherent to the player to the animations, from Spritesheets, to the creation of Hits Box and Hurts Box but also the State Machine which allows the player to have a wide range of moves and actions to perform at particular times.
For example to be able to make an air attack only if the player is in jump or to be able to chain a series of different shots.
This has been a long and tedious coding job but very interesting.

GHRÔM : BEER'S ADVENTURE

Temps de travail : 1 semaine

En créant les aventures de Ghrôm, j'ai appris l'animation en 2D avec l'Animator de Unity et le Blend Tree.
Début de Level Design avec des mouvements de caméra montrant les zones intéressantes et pas forcement visible sans faire de saut à l'aveugle.
Création aussi de téléporteurs permettant a Ghrôm de ne pas mourir dans une chute malencontreuse.
Je projette d'en faire un Runner adapté pour mobile avec de nouveaux assets graphiques.

Working time : 1 week
In creating Ghrôm's adventures, I learned 2D animation with Unity's Animator and Blend Tree.
Beginning of Level Design with camera moves showing interesting areas and not necessarily visible without jumping blind.
Creation also of teleporters allowing Ghrôm not to die in an unfortunate fall.
I plan to make it a Runner adapted for mobile with new graphic assets.

Testez le en cliquant ici

Clavier :
Fleches pour diriger Ghrôm
« barre espace » pour Sauter
« 0 » pavé num pour Courir.

Manette (Xbox):
Joystick gauche pour diriger Ghrôm
« B » pour Sauter.
« A » pour Courir.

Test it by clicking here

Keyboard :
Arrows to steer Ghrôm
« Space bar » to Jump
« 0 » numpad to Run.

Controller (Xbox):
Left Stick to steer Ghrôm
« B » to Jump.
« A » to Run.

TANK INVASION

Temps de travail : 1 semaine

Avec Tank Invasion, j'ai créé mon premier jeu vidéo. C'est aussi la première fois que je codais en C#.
J'ai decouvert les méthodes LookeAt, Instanciate et Destroy. Mais aussi la fonction OnTriggerEnter.
J'ai réussi à générer aléatoirement l'apparition des ennemies.

Premiers pas sur Unity. J'ai créé les Prefab avec une attention particulière pour le joueur.
J'ai aussi appris interaction des Box Collider entre eux.

Working time: 1 week

With Tank Invasion, I created my first video game. It's also the first time I coded in C #.
I have met LookeAt, Instanciate and Destroy methods. But also the OnTriggerEnter function.
I managed to randomly generate the appearance of enemies.

First step on unity. I created Prefabs with special attention for the player.
I also learned about Box Collider interaction with each other.

Testez le en cliquant ici

Fleches pour diriger votre char.
« barre espace » pour tirer
« 0 » pavé num pour booster.

Amusez vous bien !

Test it by clicking here

Arrows to steer your tank.
Space bar to shoot
"0" numpad to boost.

Have fun !