IT-prosjekter

Profesjonelle prosjekter

Løsningsbygger på oppdrag hos Engie

2022-2024 | Java - Spring - TypeScript - Angular - VBA - Cloud Amazon

Under mitt første oppdrag som konsulentutvikler hos Sopra Steria, ble jeg med i CloudRef-teamet hos Engie.

Dette teamet er ansvarlig for klient- og prospektdatabasen av Engies "Direction des Clients Professionels" (profesjonell kundeavdeling).
Oppdragene mine innebærer hovedsakelig å lage batch-integrasjonsprosesser for å forsyne databasen med eksterne datafiler, utvikle ulike webtjenester for å hjelpe til med å konsultere eller vedlikeholde depotets data, samt sette opp et menneske-maskin-grensesnitt (HMI) som fungerer som en portal for å hjelpe virksomhetsteamet håndterer depotets data.
Jeg jobber også med kontinuerlige forbedring og vedlikehold av koden, spesielt ved å skrive enhetstester, dokumentasjon og verktøyer som automatisk genererer kode.

Verktøy Programmerer på spillet "Mario+Rabbids: Sparks of Hope"

2022 | C++ - Snowdrop - IGD Ingeniørpraksis

Mario+Rabbids: Sparks of Hope er et spill som blander utforskning og eventyr med et strategisk kampsystem, utgitt høsten 2022. Det er oppfølgeren av spillet Mario+Rabbids: Kingdom Battle utgitt i 2017. Det er utviklet av Ubisoft i samarbeid med Nintendo.
Under den andre ingeniørpraktikken ble jeg med i motorteamet som verktøyprogrammerer. Min rolle var hovedsakelig å implementere nye funksjoner på programvaregrensesnittet til motoren, som var etterspurt av andre prosjekt teamene. Målet var å hjelpe dem å bygge spillet.

Dette internshipet avsluttet mitt andre mastergrad, "Interaction Graphic & Design" (IGD).

Spillprogrammerer på Rugby22

2021 | C++ - Cintia - TSP Ingeniørpraksis

Rugby22 er et Rugby-spill utviklet av Eko Software og redigert av Nacon, utgitt i januar 2022. Det er en ny iterasjon av spillet Rugby20.
I løpet av denne 6 måneders praksisperioden hadde jeg rollen som spillprogrammerer. Dermed implementerte jeg hovedsakelig modifikasjoner på brukergrensesnittet, og på spillingen under og utenfor kamper.

Denne praksisplassen fullførte mitt siste år ved Télécom Sudparis (TSP).

Personlige prosjekter

Anima

2023-??? | Unreal - C++ - Blender

Anima er et pågående videospillprosjekt med et kjernespill som ligner på Pokémons spiller. Det vil være fullstendig spillbart i flerspiller og vil inkludere elementer fra Roguelike-spillsjangeren.
Jeg utvikler den nåværende versjonen ved å bruke spillmotoren Unreal Engine 5. Det er min tredje iterasjon på prosjektet, det første forsøket var på spillmotoren Unity i sommeren 2020.

Anima Data Manager

2022-2024 | C++ - Qt

Mitt prosjekt Anima krever å bruke DataTable- og StringTable-ressurser i Unreal Engine, som kan fylles ut med ".csv"- eller ".json"-filer. Derimot, ".csv" og ".json" filredigering tillot meg ikke å gjøre det jeg trengte, derfor bestemte jeg meg for å bygge min egen filredigering ved å bruke C++ Qt-biblioteket.
Applikasjonen administrerer flere datatabeller, kobler dem sammen, og kan eksporteres som json-filer for Unreal. Den tilbyr også å lage teksttabeller som vil vises i spillet og administrere oversettelsene deres.

Foreløpig i sin versjon 1.3, er programvaren komplett, men kan bli oppdatert avhengig av min egen brukeropplevelse under Anima-prosjektets utvikling.

"Interaction, Graphic & Design" Masterprosjekter

Veiledet forskningsprosjekt - VR-perspektiver

2021-2022 | Unity - Virtuell Virkelighet - Oculus Quest 2

Prosjekt som tar sikte på å utvikle en virtuell virkelighet (VR)-applikasjon som gjør det mulig å utforske og dra nytte av andre kameraperspektiver enn den første personen. Har særlig blitt betraktet som tredjepersonsperspektivet, sidevisningen eller til og med isometriskvisningen...
Dette prosjektet har blitt ledet på samme måte som en forsker ville ha gjort, og den detaljerte prosjektrapporten er tilgjengelig via '?' ikonet nedenfor.

Nodal World

Høst 2021 | Java - Java Swing

Nodal world er en programvare/spill der brukeren kan simulere en verden hvor han selv setter opp reglene. For å fullføre det, har han en nodalredaktør til disposisjon.
Han kan dermed definere reglene for å skape eget området. Da kan han befolke sin verden med entiteter av forskjellige arter, som han kontrollerer livet igjenom fødsel, bevegelse og dødsregler. Brukeren har også verktøyer for å hjelpe ham med å administrere variablene i sin verden, feilsøke nodenettverkene sine, lagre eller laste inn en annen verden.
Mer detaljer er tilgjengelig i readme-filen til Git-depotet.

Demon Doors

Vinter 2021 | Unity - C# - Utvidet Virkelighet (AR) - Vuforia

Dette korte prosjektet består i å lage en utvidet virkelighet-applikasjon for kurset "Mixed Reality and Tangible Interactions" (MRTI). Emnet var valgfri, men måtte inkludere interaksjoner mellom virtuelle og ekte elementer. Gruppen vår bestemte seg for å lage et automatisk kampspill, der hele det strategiske aspekte hviler på heltenes plassering.
Spillet er utviklet på Unity ved å bruke Vuforia-biblioteket for å håndtere AR-delen og er ment til å spilles på Android.

"ARAP" Mesh Deformasjon

Høst 2021 | C++ - Libigl

Målet med dette prosjektet var å implementere algoritmen foreslått i den vitenskapelige artikkelen "As-Rigid-As-Possible Surface Modeling", tilgjengelig ved å klikke på '?' ikonet nedenfor. Denne artikkelen foreslår en vei å deformere et 3D-objektnett på en mest naturlig måte, som er det mest lokalt stive. For å gjøre dette, må deformasjonen lokalt minimere deformasjonsenergien.
Prosjektet er kodet i C++ ved å bruke Libigl-biblioteket for å håndtere og vise 3D-verdenen.

Samarbeidskart

Vinter 2021 | HTML - Javascript - CSS - Node.js - Leaflet

Her tok vi sikte på å bygge et samarbeidsverktøy for kurset "Groupware and Collaborative Work". Vi bestemte oss for å lage et samarbeidskart der brukerne kan plassere og redigere markører som er synlige for alle, feste synspunktene til hverandre, eller til og med, be resten av gruppen om å se på et bestemt sted på kartet.
Applikasjonen er kodet i HTML/Javascript ved å bruke Node.js for å administrere serveren, samt Leaflet-biblioteket for å håndtere en lokal kopi av kartet og dets visning.

Scholar-prosjekter fra Télécom Sudparis

JIN sisteårsprosjekt - Myth Busters

2020-2021 | Unreal - C++ - GGPO

Det er et 1 mot 1 kampspill som iscenesetter guder fra forskjellige mytologier på en sirkulær arena uten tyngdekraft. Spillerne står fritt til å bevege seg vertikalt og horisontalt. Målet er å tilføye skader på motstanderen for å kunne kaste ham ut av arenaen.
Et avgjørende punkt i prosjektet var dets online flerspiller-aspekt som vi ønsket å implementere gjennom mellomvaren GGPO.

IHM-prosjekt - 2D-plattformer

Høst/Vinter 2020 | Unity - C# - Arduino

I første omgang ble prosjektet gjenomført for "Interaction Homme Machine" (IHM)-kurset, og bestå av å lage en 2D-plattformer på Unity. Vi måtte bygge kollisjons- og bevegelsessystemene selv (bruken av Unitys fysiske motor var forbudt), som måtte være redigerbare av en ekstern spilldesigner.

En alternativ versjon, utviklet for kurset "Internet des Objets Connectés" (IOT), var utviklet for å kommunisere med et Arduino-kort integrert i en elektronisk krets. Dette legger til nye tilbakemeldinger og kontroller til spillet. Kretsen involverer blant annet noen dioder og sensorer som en trykkknapp og/eller en kapasitiv sensor. Den varianten er tilgjengelig på grenen "IOT_Louis" til Git-depotet.

IA-prosjektet - Warbot

Vinter 2020 | NetLogo

Prinsippet for prosjektet var å få to virtuelle robothærer til å kjempe mot hverandre på en selvstendig måte. Disse hærene er sammensatt av forskjellige robottyper (hovedkvarteret, oppdagelsesreisende, høsterne og rakettkasterne) som alle har egne egenskaper (detaljert i filen Rules_v3.0.2.pdf). Prosjektkjernen er å skrive for hver av disse robottypene en atferd som skal følges.
Hvert elevpar måtte definere og implementere sine egne robotrutiner før de kjempet med andre hærer i en turnering. Strategien vår er beskrevet i filen red.nls i Git-depotet.

Miniprosjekt C++ - Médusé

Juni 2020 | C++ - CMake - SFML - PugiXML - Box2D - Tiled

Prosjekt ble gjenomført på 2 uker for C++ utviklingskurset. Temaet var rett og slett den greske mytologien, og vi måtte bruke SFML-biblioteket i tillegg til to andre frittvalgt biblioteker.
Vi bestemte oss for å gjøre et 2D-plattformspill der spilleren legemliggjører Perceus på veien for å drepe Medusa. På grunn av det, spilleren dør øyeblikkelig når ser til høyre og må prøve på nytt med start fra forrige rom. For å hjelpe ham i søken, kan han også bruke et skjold med et speil som gjør ham usårbar for Medusa, men snur bevegelsene hans. Spilleren kan også gjemme seg i veggens skygge for å ikke krysse Medusas blikk.

Cassiopée - Jintech

2019-2020 | Unity - C# - TCP

Jintech er en robotsimulator designet for robotklubben til Télécom Sudparis, Intech. Den er bli brukt for å justere/forbedre sin robot for en nasjonal robotturnering ("Coupe de France de Robotique"). Programvaren er utviklet på Unity med 2 andre studenter og måtte gjenskape robotens oppførsel i bevegelser, aktuatorer (mekaniske armer, sugekopp) og sensorer.
Simulatoren kan styres av en bruker gjennom tastaturinnganger, men også gjennom ekstern kode ved hjelp av en TCP-tilkobling.