About me
Hi, I'm Pierre Roy, an IT student at Ynov Aix school, and I'm passionate about computer science and especially programming.
I'm making all sorts of projects and programming by myself for years. This is my portfolio, welcome!
Introduction to programming
I started programming in 2014 by attending a conference about programming in a library.
I first tried some beginner projects in Python with a book that my dad bought me, did some beginner projects, etc.
After that, I created random projects I found on YouTube, such as programming a Minecraft-like game in C++ or making some little games in Unity.
However, I found myself mostly copying the tutorials without attempting to create projects on my own, and therefore didn't have a deep understanding of what I was doing.
Processing
In 2015, I created my first project with a Graphical User Interface using the Processing software and programming language.
I heard about this program from watching videos from The Coding Train. I created a lot of little experiments using this library and learned some interesting things about 3D graphics, how it works, how to optimise it, etc.
My biggest 3D experiment was a Minecraft-like game, and my most significant program with Processing was a tool to convert an image into Minecraft Pixel-Art using only blocks from Minecraft as pixels.
After some years of making some Discord Bots in JavaScript, I heard that a library in JavaScript existed that was exactly like Processing, p5.js (which was created by the same foundation), and used it for some little projects, even created a port of the Minecraft-like game in TypeScript.
But it was too simplistic and not enough expandable for me. So I looked for another library to make my own games with more depth and customization.
PIXI.js was the library I stumbled upon, and I created a few projects with it for a long time. My first big game with it was a 2D Minecraft-like game (again yes hehe).
Then a 2D Portal game experiment. Also, a Cookie-Clicker-like game about atoms, Atom Clicker. And recently I’m recreating my 2D Minecraft-Game in Kotlin, still using PIXI, named Minekraft-2D.
Second Introduction to Programming
After creating my own Discord server for my community from YouTube, I wanted to create a Discord Bot. So I created a bot in JavaScript using Node.JS in early 2018 by following tutorials, I created CommunAyBot.
Back in the days, it was not that common to create a bot for your own community, and Discord was not so reputed. Because of that, there were no great tutorials. I got a lot of help from a Discord Server named Obelia Dev (which doesn't even exist today), my friends Ghom, Loockeeer, Felons, and some others helped me a lot to understand and create my bot.
About a year later, I was pretty good at creating a bot, but I realized that my project was kind of... ugly. So I recreated it, AyBot 2 was born in early 2019. It was pretty clean, and I wanted people to use my bot, so I changed a lot of the code, so it was working on multiple servers with configurations, etc.
At that time, I created some other little utilities bots or test bots.
AyBot 2 was taken down at the end of 2019 because of Galileo.
Arduino
At my high school, for 3 years, I used arduino a lot, only creating big projects in the last year but still. It has let me learn a lot on low-level programming, C++ basics and microcontrollers.
By doing my own research, I learned a lot about C++ compilation, assembler, reverse engineering, optimization and other low-level subjects.
I even tried a bit of writing assembler x86. I created some little programs using C++.
Back in 2015, I followed a tutorial to create a Minecraft-like game in C++ using OpenGL and a bunch of libraries.
It was interesting to go after some years, back on this project and fix some issues and finally understand the code and learn more about OpenGL and low-level graphics processing.
I still have my own arduino that I bought during high-school.
Minecraft
Minecraft is my favorite game of all time, I started playing it back in 2010, I know it by heart.
Heard about it randomly on an old computer blog that my dad was subscribed to where on an article they spoke about "this new game with an interesting concept".
Since I own the game, I played hundreds of hours in Minecraft, created numerous maps, technical maps using command blocks, datapacks, mods, even created mods since around 2018. In Java using Forge, Fabric since 2020 and in Kotlin since 2021.
I know a lot about the concepts of Minecraft and how they are programmed, this is what motivated me to create a Minecraft-like game, 4 times. Approaching more what I want and performances needed for a game like this each time.
Galileo
During this time, I was administrator (and I’m still) on a big Discord server at the time about sharing your server or website. And I was the friend of the other administrator, Antow, who also created his own bot, I was helping him sometimes.
After some discussions, we agreed to merge our bots, as we were both passionate about astronomy, we named it Galileo.
But these times were complicated for me personally and due to a lack of time and motivations because I was making almost only discord bots since about 2 years. I stopped developing it and moved away to other interesting projects.
Post-Bac and Ynov
After getting graduated from high-school, I got accepted into a private school named Ynov.
We learned so far GoLang, Python, pretty complex C++ and OOP into C++, some network basics, how to use REST APIs, team JS/HTML/CSS, databases with MySQL, and other useful technologies.
I greatly appreciated GoLang’s GoHTML Templates, C++, and my teacher, who I discussed a lot with, and understanding a lot more how computer network works.
We created a bunch of projects, starting with little training projects in GoLang/
It is for me a great experience being in this school, and I’m excited for the next 3 years !
BlueFrog
My school required me to have an internship of 6 weeks in any enterprise to have a first professional experience.
I got in contact with BlueFrog, a company creating websites, and after some interviews got accepted !
I learned PHP and WordPress and created a few websites & plugins during my internship, and it was a great experience for me.
Learning a bunch of useful technologies, the difference between personal project and real projects and seeing a developer's an everyday job.
Datapack-DSL
During my second year at Ynov, I though about creating an utility library for creating Minecraft Datapacks.
I was on a Discord community about Minecraft Datapacks since 2 years, and I was searching for any project that I could make in Kotlin.
So I started creating Datapack-DSL in around november.
This project has been a great experience for me, I learned a lot about Datapacks and Minecraft internal working, it was really a pleasure to create that.
The project contains functions (DSLs) for every commands in Minecraft, every JSONs Minecraft uses, Datapack creation, etc.
The project is not yet finished or published as of August 2023. However, it is very close to completion.
I am currently working on the documentation and searching for the right identity for the project, including a better name and icon.
Feel free to help me !
Cat'aClysm: Claw Of The Dead
Ynov added a new system of projects named YBoosts in end of 2022 where students from first & second years can create a project in a team 7 or more people.
We created a team of 7 people, named Defensive Realms, and though about creating a game.
This is how Cat'aClysm: Claw Of The Dead was born.
We collaborated with another team to use the same universe for the story, and we created a Tower Defense game in 2D using Godot 4.0.
This was my first experience with Godot, this was really exciting and interesting, Godot is really a good game engine (I prefer it over Unity).
We created our own sprites and animations, the sounds and musics were used from diverse sources from the internet.
The game was finished in its first Alpha in around the end of May 2023, and it is planned to create Beta the next year.
The beta will be recreated from scratch to be more organized and have a better codebase.
ScriptGraf
AI has been a crucial subject these last years, a lot more since the release of ChatGPT.
I have always been interested in AI, and I wanted to create my own AI or at least a project using AI.
During June, I've made a little project using Kotlin, Compose for Desktop and the GPT-4 API, name Artificial-Infiltration.
The concept is a chat room where you can talk with five other people, but an AI is also in the room, and you have to find who is the AI.
This was really interesting and amusing to use GPT API, but at that time I was not a pro in prompt engineering, so the AI was not that good until we switched to GPT-4, which is about 20 times more costly.
For validating my second year at Ynov, I had to found a stage in a company for 6 weeks or more.
But the school also proposed a stage organized by the Data Engineering teacher, so I applied for it and got accepted.
We've done a lot of searches about ChatGPT, autonomous agents (like AutoGPT, SuperAGI) and expanding context of GPT (like ChatGPT-Memory).
Finally, we found other technologies to better create our project, and we started working on it.
The project is named ScriptGraf, its purpose is to automatically create posts for your company's social media.
We are working on it since July 2023, and we are planning to finish as soon as we can.