- Name: Xavier ten Hove.
- Gender: Male.
- Birthday: 11 February 1998
- Birthplace: Hellevoetsluis
- Nationality: Dutch
- Email: firstname.lastname@example.org
- City: Breda
- Married: No.
- Driving License: AMB-B
- Languages: Dutch, English.
C++ is really starting to click to me. It is similar to C#, but with way more freedom and power. I can easily pick up anyone's code and try to understand it so that I can make edits to it when I need to. Object orientated programming is amazing with C++!
Room for improvement: More exposure to other object orientated structures that I haven’t really used yet, more exposure to algorithms, and way more exposure to the STD library. The STD library contains lots of tools that are widely used and even customized by other programmers for their own uses. By getting more exposure, this will give me a better vision of what I can do and maybe help me to create better tools.
I have been programming games with C# since that I was 17 years old! I actually only use it in Unity. So, this section is mostly going to be about that. I can say that since I am using C++ a lot, this language is becoming a lot easier for me. The past 1.5 years, I have only been using C++ on my current school and this helped me to finally understand my old confusions that I had before. A lot of problems are much easier to solve for me. I have also become much quicker. With that said, I think that my experience is similar to C++. My experience is overall better with C# than C++, but I do need to explore a lot more with this language to get the best out from it.
HTML and CSS is so easy to pick up! The languages are straightforward and there is a lot of good documentation online! What makes it even easier is that the whole internet is full of examples! You can literally open up nearly every website and peek into their source code if you spot something cool that you would like to add to your own website! Front-end development is my favourite thing of web development! I don’t know, there is something fun about designing my own webpages! Just look at this website! But back-end development with languages like PHP… Yuck! I am never going to touch that again!
Things that I can improve on: Well, there are a lot of cool features that I can explore to make my websites more interactive/mobile friendly. Also: I keep struggling from time to time to position my elements on the web page. Things don’t always work like you think it should. I really have the feeling that I am overengineering when I try to position something. Also, 3D effects with CSS would be nice to explore.
I know Unity well enough to work on all sorts of games. The Fast-paced shooter genre (like Quake 1) is the genre that I have made the most prototypes of. Unity is an easy-to-use game engine and there is a lot of documentation out there on the internet. I code all my games in C# because it is a nice, fast, and structured coding language. I know how the most common tools that you need work. Think about UI, particles, common components like collision, sounds, rigid bodies, and more. I am also trying to experiment with new features like the HD render pipeline and the newest VFX particles!
To get some more stars, I would like to know how other tools work and the ones that I am using right now more in depth. Also, I just started experimenting with the new render pipelines. They work/behave quite differently. This causes me to have pitch black scenes from time to time. I also like to get into the new ECS Component system for extra performance very soon. I have already experimented with ECS a little bit in one of my team projects with our custom game engine. But that was just the tip of the iceberg.Here are a few links to different games that I have made (or I am still working on) with Unity:
I have a hate/love relationship with Unreal. It is definitely not my favourite game engine. From my programmer's view on the engine, it is really unstable, and they don’t really support C++ that well. One small mistake can cause this game engine to crash and stay in a crash loop when you boot it up instead of getting an error message like in Unity. But besides my main complaints, I like to use Unreal Engine for quick and dirty prototypes! Their Blueprinting system is well-supported and easy to pick up if you aren’t a programmer. But I would never create a serious game with BluePrints.
The engine started to click a bit more recently since I am using it a bit more for school projects. It is quite a switch for me because I am used to how unity handle its engine. To get more stars, I need some extra time with the engine. A few more games will help a lot. Also, I do really want to be able to code with C++ within the engine. The past projects were BluePrints only due to time limitations and stubborn game designers.
Luckily, I will make one big game with my team on school this year. This will be done with Unreal Engine 4. The theme of this year is to experience how it is like to work in a Triple-AAA environment. As a team, we choose to use Unreal Engine. Keep an eye on this one because I have the feeling that this will help me to get more comfortable with the engine.Here are a few links to different games that I have made (or I am still working on) with Unreal Enine 4:
In the past, I have created a small SFML game engine with no UI. I created this while doing the SFML course by John Horton. Last year, I have finished this online course and I have created a 3D rasterized graphics demo with OpenGL 3.0 and C++! I have also done some graphics programming with no rendering pipeline involved! Just pure C++ and math. Look at my ray tracer page to see what I have done!
My last two custom game engine projects were a team project for school. One game was build for the PC/Nintendo Switch, the other one was for the PC/PlayStation 4.
Room for improvement: Well, a lot! My most experience so far is with the OpenGL API. But so far, I have mostly worked in OpenGL frameworks and I have created my own graphics demo with help of an online course. I think that I should create a new game engine with OpenGL from scratch completely alone. This will help me face problems that were mostly prevented by following online courses or help by other teammates. By creating my own engine, no one will hold my hand. Also, the most experience I have is in the graphics part. I would like to add other systems to my new engine as well! Features that I haven’t really explored yet are physics, collision systems, UI interface, level editors and more. After this, I would like to get into the Vulkan or DirectX12 rendering API as my next big challenge.Here are a few links to different games/graphics demo's that I have made (or I am still working on) with custom game engines:
A programmer that is creative? Don't say that to a game artist. But creativity is mostly misunderstood. Like onions, creativity... Got layers... While most people think about making art, I will add something else to the list: solutions.
I won't call myself the best art maker in the world, but I do know that I love limitations. Limitations boost creativity. Think about making a game for the PlayStation 1, you need to come up with some tricks to make the game feel realistic or look beautiful.
My creativity comes in many forms: from knowing a lot of sideways to get effects done while using limited programs, to all sorts of solutions! As a programmer, you face many problems each day. Games require to be finished on time. To make something work, you don't always need to find the best solution. Time cost money. Think about Mario Galaxy. In the first level, you will find Yoshi's house. Walking to the door, and you will see that you can check a message by pressing the interact button. In reality, this function is nothing more than a reused sign object that is placed behind the door. Why would you program the same behaviour again for just one door? The good old SpongeBob games were next level! You can find NPC's behind/inside intractable objects if you clip the camera through the walls.
These simple solutions have inspired me to look further than making a good feature. In my Quake clone, you can add trigger objects in the game that will spawn a wave of enemies. There is also an object that check what to do when all the enemies are death. Instead of making a complex wave system, why not use that to set on the next wave object that triggers the next wave? If it is good enough for the game itself, you don't need to spend way too much time on one feature. Another good use of creativity of mine is to use a dithering shader for transparent objects instead of transparent textures. The antialiasing will smooth out the holes to make the objects look transparent. This is just a free performance boost for transparent object/particles.
Another good example of creativity lies on my own portfolio website itself. Look at my index page. This is mostly the first webpage that you will visit. I have designed it in such a way so that you can see much in one blink of an eye without having to read too much or need to scroll down. You can see: my name, that I prefer to be a gameplay programmer, 5 rotating logos of my main skilled programs/coding languages (C++, C#, Unity, Unreal Engine and Perforce), you can see my own face, a small intro text on who I am, and I made sure that you can see a small tease to my own projects by having GIFs/images that barely fit on the webpage. The last one helps a lot because that will make you curious to scroll down. The only big downside is that the current page does work the best on 1080p and beyond. But the care that I put into this page does show much info without many words. For most desktop displays, this will work. People mostly just want to see what I am and what I can. Reading will take too much time. And if you do have a monitor that has a worse resolution than 1080p, the most people will still most likely scroll down. This webpage ain't big at all. And if they are interested in more, there is a big link on the bottom of the page that will guide you to my whole project page.
But my most creative solution so far would be my 150% performance boost in my own Quake clone. I did notice that the more ammo/health pick-ups I placed in my level, that the performance started to drop drastically. My pick-up items don't contain complex behaviour, unlike my enemies. So, what does cause this problem? Weirdly enough, my first thoughts were on the audio. I wasn't really sure how much impact that can have on my performance. For the fun, I changed a few lines of code that instead of playing a sound when the player collides with the pick-ups objects, it will set on the whole audio component to play the sound instead of activating the play function for the sound. And whoop, there was a big boost in performance! So, I started searching on Google why this does help a lot. It turns out that when the audio component is on, it doesn't matter if the sound plays or not. If the audio is muted, it will still use memory in the background. Sometimes, the most simple solutions are enough.
I love to use Visual Studios to code my games and websites! It became really easy to use since that, I have been using all sorts of shortcuts (I really love to use CTRL + R, CTRL + R on a variable). At the start of my education at Breda University of Applied Sciences, I found out that this program has a lot of debugging tools as well! I only used visual studios in Unity before, so since Breda University of Applied Sciences I actually use it to make custom game engines. Since that, I have noticed that I can use this program for more than just text editing.
But after many years of using Visual Studios, I still don't give myself that many stars. This has to do with the simple fact that coding ain't the problem. It is more in what this program has to offer. Visual Studios contains many, but really many options/debugging tools. I am confident that I will never be able to know what every setting does. In order to give myself more stars, I want to know the debugging tools a lot better. I know how to use it somewhat, but I am not fully comfortable with it yet. This would be really useful when creating my own custom game engines! But for Unity, this is all fine. Practise is a matter of time.
With many years of experience with Camtasia from my good old YouTube times, I switched to Movavi Video Editor because compared to Camtasia, it offers a good package of features for an actual good price. While advanced enough, Camtasia was really buggy, and it crashed a lot.
Both video editors act the same, but with some differences in how you use it. Movavi Video Editor version 15 is the one that I stuck on because I don't edit many videos any more. It is limited compared to programs like Adobe Premier, but with some creativity you can definitely create some good quality videos! Most videos that I have made are comedy related videos. But I am confident that I will be able to make some serious or game trailer related videos as well.
My specialities in this program are: simple special effects, chroma key, basic shape animations (think about a flying object that flies from A to B with some rotations), censor people their faces/swearing, filters, audio mixing (think about adding separate audio from a microphone to the video and make sure that the audio is synced), if I edit a gameplay video: adding a face cam on the screen, smooth or funny transitions between multiple videos and many more.
I am good enough to use it for basic source control. I do have some trouble with the more complex features/settings/setting up. Getting more exposure to that will grand me more stars. But besides that, I am handy enough to use it as my main source control tool. If a complex problem does appear, I can most of the time fix it. But I do need more exposure to the whole picture of what I can do with it.
I use Trello for years to plan my tasks. Trello is a nice and easy to use tool with a clean overview. I won't give myself all the stars yet because I found out with one of my team projects that Trello has more to offer than it seems. Think about tools for Scrum.
I use Jira for about a year now. Compared to Trello, it is a lot harder to use, and the overview is a lot less clean/user-friendly. But Jira offers more professional tools, and it is more industry standard compared to Trello. I am able to use it, but finding my way around is still a bit hard. Luckily, I learn new features each project. I think that this school year might help me a lot to get fully conferable with Jira, as this whole year I will use it for our game. Keep in mind, I do still use it for less than a year.
I use this program a lot! From making simple texture and mostly pixel art, to whole designs or photo edits! What I like the most is that I have learned through the years to make good use of the layering tools. Here is a link to one of my creations! This is a t-shirt design of an alien (inspired by the alien t-shirt from the Postal games): link.
I have used Photoshop on my other school (Grafisch Lyceum Rotterdam). I don't use it much as my standard photo editor, but I am able to do some basic tricks/edits. I do need to use this program more to get the hang of it.
With LMMS, I can make my own music and sound effects. I am a beginner with it and I have never used a music maker before. I do have plans to learn this program soon so that I can use it in my own games.