Internship at Black Shamrock, DublinDuring my final semester I flew over to live in Dublin for 5 months and work at Black Shamorck, a Virtuos studio for my graduation internship. During this internship I got to work on 3 different projects: "Paranoia happiness is mandatory" using Unity, a prototyping project for Sony's playstation VR that I can not name using Unreal Engine 4 and lastly I worked on "Lord of the Rings the living card game" again using Unity.
This internship has taught me more than my previous 3 years combined and I have had the chance to open my eyes within the industry as well as work with and learn from people with a lot of knowledge and experience which has been an honor. I have met amazing people that I hope I will meet again in the future. I am also very happy I got to work with both big commercial engines Unity and Unreal Engine in a professional environment.
0 Comments
Heart of a TowerMy second graduation work was a group project in which I teamed up with two vfx artists, an animator and two game artists to make a real time rendered film sniped for a project called "Heart of a Tower" by The Fridge, a Brussels based vfx studio. As a programmer on this project I was mostly working on tools and technical art. The project started off in Unity but later moved on to Unreal Engine 4 so my work covers both engines. My work included:
The other great people that worked on this project were
Interactive BIM-dataThe past 6 weeks I have been experimenting with applications of video game technology outside of the industry. In this case in particular I took BIM-data from the AEC industry and used it to generate a traversable building environment. I think applications like these are usefull for both industries. It was also a big step forward for me to learn Unity3D and C# in which I have progressed a lot. Additionally, I wrote a paper about the research and the case study I did:
UE4 prototyping (AI)
Learning doesn't stop at school, I wanted to take this time to talk about some experiments and prototypes I've been doing after hours.
Stealth game prototyping:
Using UE4 I prototyped a little stealth game in the span of 3 days to expand my knowledge of the engine. I experimented for the first time with things like AI and particle effects. I added different objectives and learned to link them together and more.
Apart from implementing mechanics I also wanted the game to have some nice user feedback so I dove in to particle effects which I had never worked with prior to this project. As well as bringing over some things I knew from making "Sacrifumble" and the "Hydrolic" sci-fi level like camera shakes and running meshes along splines which I extended to particle effects. AI in Unreal Engine 4:
I mainly used pawn sensing for the AI so far. First using blueprints but I later took the same concept of patrolling guards to C++ since I'm following a course on C++ in UE4 by Tom Looman.
The pawn sensing component is able to both see and hear objects in its proximity which is ideal for making patrolling guards. The C++ implementation takes the hearing a step further in to a mechanic where the player can throw objects to distract the guard to be able to sneak around. The bots use the in engine navigation mesh to find their way to their patrol points. These points can be added in the editor and changed around. The bot will always adjust its patrol route to the patrol points it has (hard-coding them would be inefficient).
Another thing that is really interesting when I'm following these UE4 C++ lectures is to make the same assignments in blueprints and compare their performance. It makes it clear that learning C++ in the engine is important since the performance benefit is definitely there.
I'm currently looking into Unreal's replication system for some simple networking which is complete uncharted territory for me (for now) but it's quite fun.
Pac-Man engine
What this means is that the game objects don't actually hold their render components but just a pointer to one that sits in the pool in the renderer. The only problem with pooling components is that the amount of objects stays the same. So what if we want to add/remove components? I solved this problem as follows: I split the pool in two sides, an active and an inactive side. This already meant that the renderer only needed to iterate over the acitve components to render and could ignore a portion of the pool. But it also allowed me to solve the problem of dynamically adding and removing components. The only thing I needed to do was switch objects from one side to the other. For a look at the full project visit the git repo:
Graphics Programming 2Seconds semester of graphics programming taught me many different things like animation, skyboxes, basic geometry shaders, terrain generation etc. We used C++ and a custom in house engine called the Overlord engine. In the end I made a small game using some of the systems I implemented during the semester.
C++ AI using behavior tree
SacrifumbleIn the past few months (februari-june) myself and a team of fellow students used UE4 to make a game called "Sacrifumble". I was one of the 2 programmers working together with 3 artists. Sacrifumble is an asymmetric party platformer set on an ancient Aztec tower where 2-3 players race to the top. One player plays a demon that can activate traps and rotate pieces of the tower to stop the other players in their tracks. If the demon manages to get a minion killed the player that was playing said minion will now be the demon and the prior demon can try to win the game for themselves. I did most of the gameplay interactions (rotating platforms, traps,...) and the general logic like camera movement, menu, end game and restarting. Also the polish like camera shakes and UI. Lastly together with my fellow programmer we made the system that dynamically switches player controllers among the different characters. This was my very first project in UE4 so there was a lot of learning to do from the get go. Luckily the people I worked with were ready to help out one another at a moments notice. We had regular meetups to talk about the game and make sure we were on schedule with all our work. In the end we were very happy with the result. You can download the game here! Team:
Programmer: -Florian Gaeremynck (me) -Robin Strubbe (programmer/tech-artist) Artists: -Paulien Casteleyn (animator) -Maximiliaan Maene (environment art) -Yannick Meyers (character art) One semester of UE4Taking a look back on this semester in UE4 experience. Everything started in full on panic when I had to learn the engine fast to keep up with the artist for group projects since the programmers had no prior knowledge of it. But apart from "Sacrifumble" I had two other projects in UE4 namely "Broom wars" for the school game jam and a small puzzle prototype I had to make for one of my exams. Sacrifumble I noticed my skills with the engine significantly improving over the course of the semester. I'd love to one day go back to Sacrifumble to rewrite the core which was written with very little experience and as a result it's messy and has some bugs. I think that game has some decent potential for a fun party game. I learned the ins and outs of the engine, worked together with teams of artists to forge our ideas in to reality and I am having tons of fun with the blueprint system. Its super readable and very impressive. That said though I am currently starting to look in to and experiment around with C++ scripting along side it. Nowhere but up from here. Puzzle game prototype
Broom Wars During student game jam I made a game called Broom Wars using UE4 in the span of 3 days with a bunch of artist friends. The game is a 3rd person pvp arena where players zip around on broomsticks and try to knock each other off using spells. On the first day we got the theme of the game: "magic", so we went to work. We pitched an idea for a game where players would zip around on broomsticks around a castle and try to knock each other off with spells. I used the unreal 3rd person template to start from so that most of the movement was already there (I had to be time efficient since I was going to be implementing all mechanics on my own). I quickly figured out how to add some vertical movement to that template and we could work on mechanics from there. This is how the game looked on day 2. At this point I had movement, UI, spell casting, speedboost, and a shield. Later I would add some random locations where pickups could spawn that gave you a super attack. I also helped a lot with my friend who was doing the animations and stuff. By day 3 the game was starting to look very nice thanks to the talented artists I had the pleasure to work with. I spent most of the day working out bugs and adding some simple systems like the spawning of the pickups and stuff like that. Shout out to the amazing artists: Michael Tavernier (character), Maxim Van Daele (environment), Paulien Wygaerden (props) and Inias Schoutteet (FX) for their excellent work. I'll link them here: |
AuthorFlorian Gaeremynck Archive
June 2019
Categories
All
|