Aymen Menjli Portfolio

Post has published by admin

Riven Crown

INFO
Platform: PC
Engine: Unreal Engine 5
Year: 2023

DEVELOPMENT

As a solo developer, I have single-handedly built and designed every aspect of Riven Crown, from engineering and level design to game asset creation, UI/UX design, animation setup, and much more. This project has been a tremendous learning experience that has allowed me to become a well-rounded developer.

Riven Crown is my first Big game, and I bring with me several years of experience working in the creative industry. Over the past 3.5 years, I have invested my part-time into the development of Riven Crown and have mastered the art of planning and creating a unique optimized workflow.

In terms of game asset creation, I have utilized various software tools such as 3ds Max, Maya, Blender, and Houdini to create highly detailed and realistic assets. I have sculpted in Zbrush to create intricate character models, and animated them in Motionbuilder to bring them to life. I have also utilized Maya to skin characters and ensure that their movements are seamless and fluid.

To bring the world of Riven Crown to life, I have used Substance Painter and Substance Designer to texture the game’s environment, creating a visually stunning and immersive experience for the player.

As a technical artist, I have also created custom tools using Unreal Editor Utility Widgets as C++ Modules, UAT, and C# WPF to automate tasks and improve efficiency. This has allowed me to save time and focus on the more creative aspects of the game’s development.

In terms of programming, I have worked within the UE4 framework, utilizing the Object-Oriented Event-Driven system, inheritance, polymorphism, and generic programming. This has allowed me to create a robust and flexible codebase that is easy to maintain and update.

Overall, I am incredibly proud of what I have accomplished with Riven Crown, and I am excited to showcase my diverse skill set and technical expertise to potential employers.

DESCRIPTION

This role-playing game captures familiar elements within a unique structure designed for maximum replayability and versatility.
Rivan Crown strives toward scale and complexity, Emphasis will be on exploration, Fighting game combat style, and character development in the dark quest for liberating World X.
Explore a dark world of the lost, greedy monarch, challenging combat, and amazing level design. the game explores themes of power, corruption, and courage, Riven Crown tells a tale about how our society has difficulty letting go of power even in the afterlife.

Doors And Environment

The game features a C++ door system that allows players to interact with doors using a specific key and saves the door state upon loading the game. The indoor environment is highly polished, creating a quality player experience with engaging exploration. The door system is designed for both usability and flexibility, allowing for easy addition of new doors and functionality. Overall, the door system and exploration create an immersive and enjoyable experience for players.

Environment

The game boasts a diverse environment with multiple levels, each designed with a combination of automation and clever design systems. This results in a visually stunning game world that immerses players in a variety of unique environments, each with its own distinct look and feel. The use of automation and clever design systems allows for efficient level creation, while still maintaining high quality and diversity. Overall, the diverse environment creates an engaging and immersive experience for players.

Cinematic

The game utilizes Unreal Engine’s Sequencer tool to create cinematic scenes that drive the game’s narrative. This allows for the creation of engaging storylines and immersive gameplay experiences that draw players into the game’s world. The use of Sequencer also provides precise control over camera movement, lighting, and other visual effects, resulting in a high-quality and polished final product. Overall, the use of cinematic scenes created with Sequencer adds an extra layer of immersion to our game, enhancing the player’s overall experience.

Optimization

In order to achieve a highly detailed and immersive game world, we utilized various optimization techniques. These included using level of detail (LOD) models to streamline object rendering, dynamically switching multiple actors on and off via C++, and identifying performance issues through Unreal Engine’s profiling tools. By using these optimization methods, I was able to create highly detailed and complex game levels without sacrificing performance or causing lag. This approach resulted in a seamless and immersive gameplay experience for players.

Animations

I animated all of the characters in the game using the same skeleton, which allowed me to use mocap assets from the Unreal Marketplace. I was able to modify these assets in Motion Builder to fit the unique needs of each character. This streamlined the animation process and helped ensure that all characters had a consistent look and feel.

Animations

Using a single skeleton for all the game characters, I animated them using mocap assets from the Unreal Marketplace. To give each character a unique appearance, I tweaked the assets in Motion Builder. This approach simplified the animation workflow and gave all characters a coherent aesthetic.

Blood FX

As the developer, I simulated the fluid dynamics of blood in Houdini using fluid simulations. I then exported the result as a sprite sheet and imported it into the Niagara particle system in Unreal Engine. Using Niagara, I created a particle effect that dynamically spawns particles based on the normal surface of the mesh and movements of the characters in the game, resulting in a realistic and visually stunning blood effect.

Beam FX

To create the Niagara beam effect, I first started by defining the shape and movement of the beam. I then used Niagara’s particle system to add visual effects like sparks, trails, and distortion. I made sure to fine-tune the settings to ensure that the beam looked realistic and impactful. Finally, I added sound effects to complete the effect and give it a sense of depth and immersion. Overall, the Niagara beam effect adds an exciting visual element to the game, and it was a fun challenge to create.

Super

Creating a powerful “Super” ability for players to use in the game. To make it feel truly epic, I designed a custom visual effect using Unreal Engine’s Niagara particle system.

The Super ability is accompanied by a stunning display of light, energy, and particles that draw the player into the game world and make them feel like a true hero. I spent hours tweaking the particle parameters, timing, and animation to create the perfect balance of spectacle and functionality.

Overall, the Super system and its visual effects were a challenging but incredibly rewarding aspect of the game development process, and I’m proud of creating such an exciting feature.

Spline Mesh component

When creating the environment for our game, I needed to make the tree roots look as natural as possible. To achieve this, I decided to use splines in Unreal Engine. Using splines allowed me to create a more organic shape and flow for the roots, rather than trying to sculpt them by hand. I started by creating a spline in the shape of the roots, and then used the Edit Spline tool to refine the shape and adjust the control points. Once I had the shape I wanted, the Spline Mesh component add 3D geometry to the spline. This allowed me to create the appearance of roots that are actually part of the terrain, and not just a flat texture on the ground. Overall, using splines to create the tree roots helped to add a more natural and realistic feel to the environment of our game.

Enemy AI

Fighting against multiple enemy AI can be an exhilarating experience in our game. It’s a challenge that keeps players on their toes, testing their combat skills and ability to think on their feet. With each enemy AI behaving differently and having unique attacks, players have to be mindful of their surroundings and adapt their strategies accordingly.

It’s incredibly satisfying when you manage to take down a group of enemies, especially when you use your abilities in creative ways to gain the upper hand. The feeling of accomplishment after a successful fight against multiple enemy AI is truly rewarding and adds to the overall excitement of the game.

Distance View

As a player in our game, one thing that always amazes me is how vast and expansive the world feels. One reason for this is our approach to level design, which allows players to see far into the distance and actually go to those places they see. We accomplish this by utilizing advanced level streaming techniques and cleverly designed terrain that creates a seamless experience for the player. Whether it’s a distant castle or a far-off city, if you can see it, you can go to it, and that sense of freedom and exploration is a key aspect of what makes our game so enjoyable to play.

Destructible Mesh

As a game developer, I worked with the Destructible Mesh System in Unreal Engine to create a class that allowed for dynamic destruction of objects in the game. This system gave me the ability to assign a specific destructible type to each instance of an actor based on how it was hit or collided with. I was able to define how the object would break apart or crumble, adding a new level of realism and immersion to the game. This system was particularly useful in action-packed scenes where players could interact with the environment and watch as objects responded in real-time to their actions.

AI System

The game features an advanced Enemy AI system driven by behavior trees and C++ logic, allowing enemies to exhibit dynamic behaviors and respond intelligently to player actions. This creates challenging and rewarding gameplay, with enemies adapting to the player’s tactics and using a range of strategies to defeat them. Overall, the AI system is a crucial component of the game’s design, contributing to its immersive and engaging gameplay.

Environment Fog

The game features custom shaders that use 3D noise to create the fog system. This creates a visually stunning game world that immerses players in a realistic environment. The use of custom shaders allows for precise control over the atmospheric effects, resulting in a high-quality and immersive gameplay experience. Overall, the use of custom shaders and 3D noise technology adds an extra layer of depth to our game’s environment, contributing to its overall visual appeal.

Niagara Fire

The fire effects are created using a combination of Houdini simulations and rendered spritesheets. The final output is assembled in Unreal Engine’s Niagara particle system, which enables dynamic spawning of particles based on specific static meshes. This technique offers precise control over the fire’s behavior and movement, resulting in a visually stunning and immersive fire effect. The combination of Houdini simulations and Niagara particle systems produces a realistic and engaging game world

Shaders

Developing shaders inside Unreal Engine 4 allowed me to create stunning visual effects and enhance the overall quality of the game. By using Unreal’s Material Editor, I was able to create complex and visually appealing shaders, such as water effects, reflections, and surface textures. Additionally, I leveraged Unreal’s node-based system to create custom lighting models and advanced post-processing effects. Overall, developing shaders inside Unreal Engine 4 allowed me to achieve a high level of visual fidelity in the game while maintaining a streamlined development process.

Modeling and Texturing

I had the opportunity to create the boss portal system and the entire game theme by modeling intricate ornament designs in 3ds Max. Using Substance Painter, I was able to texture these designs to make them look stunningly beautiful. The whole process of modeling and texturing was a real challenge, but the end result was worth it. It was rewarding to see how these ornate designs added to the overall aesthetic of the game.

Environment

With a combination of automation and clever design systems, each level in the game has a unique look and feel that immerses players in a visually stunning and diverse environment. The efficient level creation process ensures high quality while maintaining diversity, resulting in an engaging and immersive experience for players.

Fluid

As the VFX artist for the game, I utilized the FluidNinja LIVE plugin to bring even more variety to our particle effects. In particular, I used the pyro simulation to create dynamic fire effects that responded realistically to changes in wind and other environmental factors. This allowed us to create more immersive and engaging experiences for players, as they could see the effects of their actions on the game world in real-time. Overall, the NinjaLive plugin was an invaluable tool for enhancing the quality and realism of our game’s visual effects.

Camera Rigs

Creating a captivating game trailer requires careful planning and execution. To achieve the desired effect, I used different camera rigs in Unreal Engine to record the footage. This allowed me to capture the action from different angles and perspectives, creating a dynamic and engaging experience for the viewer. By experimenting with various camera movements and positions, I was able to showcase the game’s unique features and highlight its strengths. Overall, using different camera rigs in Unreal Engine helped me create a high-quality trailer that effectively conveys the game’s excitement and appeal.

Lava

To create the lava effect for some of the game levels, I utilized a combination of Unreal materials and Substance Designer textures. I started by creating a base material for the lava, which included a glowing emissive texture and a scrolling normal map to give it a flowing appearance. Then, I added some additional particle effects, like sparks and smoke, to give the lava a more dynamic and realistic feel.

To make the texture of the lava look more interesting, I used Substance Designer to create a custom height map and displacement map. This allowed me to add more detail to the lava’s surface, like cracks and ridges. By combining the Unreal materials and Substance Designer textures, I was able to create a visually striking and immersive lava effect for the game levels.

Water

I recently implemented a plugin in my game development project to add a water ripple effect to the game. I was able to modify it to fit the unique needs of my game by adding more effects on top of it, like water splashes.

To achieve this, I utilized Unreal Engine’s particle system and added custom textures in Substance Designer and low poly mesh to create the water splashes. Additionally, I adjusted the settings of the water ripple plugin to make it look more realistic in the game. The end result was an immersive water environment that brought the game to life.

Quest System

As a game developer, I had the opportunity to work on the main quest system for our game, which was written in C++. This system was responsible for driving the overall story of the game and ensuring that the player had a clear path to follow. It involved creating a series of interconnected quests, each with their own objectives and rewards, as well as managing the player’s progress through the story.

To make this system work seamlessly, I had to ensure that it was scalable and flexible enough to accommodate changes and updates throughout the game’s development. This required careful planning and attention to detail, as well as a deep understanding of the game’s mechanics and overall narrative.

Tiling 3D Mesh

As a game developer, I created the ground floor for our game by using a displacement map in 3ds max. I spent a lot of time fine-tuning the height and details of the map to create a realistic, natural-looking terrain. After that, I exported it as a tiling 3D mesh to Unreal Engine, where I added additional textures and materials to give it a more polished look.

The end result was a beautiful and immersive game environment that players could explore and interact with.

Decals

As a game developer, I’ve found that optimizing game assets is crucial for delivering a smooth and enjoyable gaming experience. One area that can be particularly tricky is managing decals, which can easily become a performance bottleneck if not used efficiently.

To help with this, I’ve implemented an automated decal system in Unreal Engine that dynamically manages the placement and lifespan of decals based on player location and other factors. This not only helps to reduce the workload on the CPU and GPU, but also ensures that decals are always visible and impactful without sacrificing performance.

By using this system, I’ve been able to maintain a high level of visual fidelity in the game while still delivering smooth and consistent performance across a range of hardware configurations.

Ghostbusters: Rise of the Ghost Lord

INFO
Platform: Quest 2, Quest 3, PSVR2
Engine: Unreal Engine 4
Year: 2024

DEVELOPMENT

As a Senior Technical Artist at nDreams, I was responsible for optimizing game content, automating the asset creation process, and developing a system to calculate the light map resolution for newly merged assets. This system significantly improved memory efficiency by reducing the amount of baked lighting data that was previously caused by fixed resolutions in merged assets. By calculating the ideal resolution, I was able to free up valuable memory for the game.

I developed a tool in Unreal Engine that optimizes asset geometry with a simple button click. It allows users to reduce the asset’s poly count by a chosen percentage.

DESCRIPTION

Ghostbusters: Rise of the Ghost Lord is a 2023 virtual reality video game based on the Ghostbusters franchise developed by nDreams and published by Sony Pictures Virtual Reality for the Meta Quest 2, Meta Quest 3, Meta Quest Pro and the PlayStation VR2

Created by nDreams

Fracked Quest 2 Port

INFO
Platform: Quest 2, Quest 3, PSVR1, steam
Engine: Unreal Engine 4
Year: 2024

DEVELOPMENT

As a Senior Technical Artist at nDreams, I was responsible for optimizing the game to run on Quest 2 while aiming for a consistent 72 FPS. To achieve this, I implemented various techniques based on level design, optimized shaders, automated asset poly reduction, and developed a system to reduce draw calls.

DESCRIPTION

Fracked is a VR shooter that seamlessly combines relentless ‘run-and-cover’ gunfights with free and fluid skiing and climbing.

Stranded in a remote mountain facility, you play as a reluctant hero forced into a final stand between the planet and a legion of interdimensional enemies.

Created by nDreams

SKULL ADVENTURE GAME

INFO
Platform: html5
Engine: Adobe animate CC
Year: 2017

DEVELOPMENT

As the sole developer, I’ve created everything. This includes engineering, level design, game design, UI/UX design, animation setup, and a dozen other areas. This project has been a huge learning experience and has allowed me to become a well-rounded developer.

Skull adventure game is developed in Animate cc with javascript it was part of a game jam.

DESCRIPTION

Skull Adventure Game is a 2D side scroller battle game centered around fighting waves of pirate ships. The Player has to pick incoming loot boxes with a tricky way to open them while the timer is proceeding, so it’s all down to the skills of the player to win!

I’m really proud of the game design I did on this project. I wanted to create gameplay that was easy to learn.
I’m very proud of this project and I believe I was successful in accomplishing what I set out to do. However, there are still things to be done in taking this to a final state.
What needs the most work is the SFX of the game. Currently, the game just has a linear progression with 3 levels and a final boss.

SLIDE CREATOR

INFO
Platform: Windows
Engine: WPF
Year: 2020

DEVELOPMENT

As a Lead programmer and technical artist Slide creator was developed by me to help the team avoid repetitive tasks and accelerate the production pipeline.

DESCRIPTION

Slide creator is a WPF application that creates HTLM5 canvas with javascript based on a PowerPoint presentation template.

This app creates html5 canvas based on the Createjs library, The user can add a Zip file that contains the published files from Adobe animater cc javascript that will serve as the canvas engine.
The app reads the powerPoint presentation and generates for each page in the presentation a folder that contains a JSON file, and the extracted zip file.

AUTO-LO INSERT

INFO
Platform: Windows
Engine: WPF
Year: 2020

DEVELOPMENT

AutoLOInsert uses selenium C# to automate the browser, As a Lead programmer and technical artist, The app was developed by me to help the team avoid repetitive tasks and accelerate the production pipeline.

DESCRIPTION

AutoLOInsert is an automation WPF application that automatically integrates the created course from the Slide creator App
The app uses selenium to automate the browser to create the learning objectives of the web application.