top of page
Citrus

Dannielle G. Smith - Portfolio

Specializing in: Game Programming

I have a deep interest and passion for programming and I am always eager to learn new methods, processes and techniques in programming and related fields. I have experience in Unreal, SFML and Unity and adept at using DirectX 11 and OpenGL. I also have confidence in programming languages such as C++ and Python. 

​

Thanks to university I have a solid understanding of the applied and theoretical math's and physics needed for Graphics Programming and general programming needs. Whilst also having experience working in studio settings with groups of developers, thanks to my university courses and extracurriculars. 

Saturn with Headphones

Download my CV here:

Honours Project

--------------------------------------------------------

DirectX12/In-house Engine

Graphics shaders tool

Tool creation for an in-house engine: How does one create a shader/post-processing tool for use in education?

​

This project aims to develop a shader tool in the form of a library designed to help both developers and new programmers explore and effectively utilize post-processing effects. By providing a collection of pre-built shaders that can be easily applied and customized, the tool will allow users to dive into the world of graphics programming with minimal coding knowledge. The tool will also feature an intuitive visual editor, complete with a preview mode for real-time feedback, ensuring an engaging and accessible learning experience for users at all skill levels.  

​

In addition to providing a user-friendly interface, the project will include a step-by-step guide to help users navigate the in-house engine tool. This will be coupled with comprehensive documentation that breaks down the concepts behind shader creation and post-processing effects. The goal is to bring greater awareness to the capabilities of graphics-related programming, showcasing its importance and applications in modern development. Furthermore, the plug-in will support education by acting as an interactive learning tool, allowing users to experiment, understand, and gain foundational knowledge in graphics programming. 

​

One of the main challenges for this project is the fact that no documentation for this engine existed at the time and the constant updates meant that delays and "restarts" where inevitable and push back milestones often.

​​

This tool "PennyBoard" consists of

4 main components:   

​

  • The Shader Library, that consists of a collection of pre-built shaders that are easily applied to any project within the engine using the tools interface (GUI). Developers are able to customize these shaders to fit their specific needs.   

  • A Visual Editor; a user-friendly interface for creating and modifying shaders without requiring extensive coding knowledge. This allows users to experiment with different visual effects and see the results in real-time.   

  • A Real-Time Preview, this feature allows users to see changes they made to the shaders in real-time, providing immediate feedback and a more interactive learning and development experience.    

  • And most importantly a renderer for connecting the shaders to the Skateboard engine. It integrates the shaders from the tool's graphics pipeline, ensuring that they are applied correctly and function as intended. Providing the necessary infrastructure to manage rendering states, buffers, and textures used in post-processing processes.   

​

documentation here:

Honours project ​demo presentation -

​

​​​Manual -

​​​​​​Dissertation -

--------------------------------------------------------

DirectX11- Prototype

Graphics shaders tool

​The initial proposal envisioned a tool that would not only support the creation of shaders and post-processing effects but also include the ability to spawn/create particle effects, this was removed due to the broad scope and project complexity.​

​

It has pivoted from a tool with potential for educational/awareness to a full-on educational tool and will now include documentation and tutorial features to support learners.

​

What is featured here is the prototype and proof of concept in DirectX11, that will then be made in the Skateboard engine (based in DirectX 12).

​

This project includes: 

  • a shader library (with a collection of pre-built shaders that developers can easily apply and customize. As well as simplified code/functions),  

  • a visual Editor (GUI, for creating and modifying shaders without extensive coding knowledge.)    

  • with a Preview feature (: A preview mode to see changes in real-time –might only be available in GUI mode and whilst program is running-.),  

  • code documentation (both built in and available on a separate pdf file).   

​

documentation here:

Honours project ​ -​ Artefacts.pptx

CMP400 Artefacts_paper.docx

Citrus
image.png
image.png

--------------------------------------------------------

Prototype Graphics shaders tool

image.png
Uneven Orange Wall
Game_jam_Img_TheRigMenu.webp

The Rig

Unreal 5 Game

​​This was a short horror game that was made for a local game jam. For this project I was a programmer and an artist.

I designed and implemented the safety rope mechanic, made the title screen and was responsible for all the monster art/visuals.

​​

Itch.io here:

https://nyantifa.itch.io/the-rig

DirectX11 Beach Scene

DirectX11 Graphics Programming Beach Scene with shaders

DirectX11 Beach scene with shaders

Using shader-based vertex manipulation I built an adjustable beach using a height map paired with customisable waves.

There are several light sources used in the scene, as represented by the diagram using white circles. The main light source at the top right is a basic ambient light. The camping area also contains 2 separate light sources, the campfire and a lamp. This will show how multiple light sources interact with each other and the effect the lights have on their surroundings.

The scene also contains updating shadows, and the project also show cases multiple post-processing effects.

​

documentation and executable exe:

Citrus
Uneven Orange Wall

Arcade Hero

Unreal 5 Game

​​

Traverse an Ancient Tomb over and over fighting till your last breath with characters you collect with your Gacha machine. Fight through the dungeons in a classic Turn based style using attacks and abilities to gain an edge against the enemies. Collect points to access the Gacha machine, collecting new Characters with unique abilities or Shards used to upgrade your characters to beat levels. Use the Party Select menu to change your character loadout or upgrade your team members 

​

​

Itch.io here:

https://cryptonic-studios.itch.io/arcade-hero

Bow and Arrow Mechanic

Bow and Arrow - Unreal 5 Game Mechanic

Bow and Arrow - Unreal 5 Game Mechanic

 

A bow mechanic that allows the user to fire arrows in a manner inspired by a popular RPG game, Monster Hunter: Rise (Capcom, 2021) and other games from the franchise.

The system is made up of several components:

1. Multiple abilities/attack that can be used. Including: a. ‘Arcing arrow’, an ability that shoots a projectile in an arc to produce an area of effect on a targeted location. b. ‘Default arrow’, an ability to shoot a projectile to cause damage to an enemy, damage will vary depending on how long the bow has been drawn. c. ‘Special attack/arrow’,

2. Stamina system, where: a. Stamina is constantly depleted whilst bow is drawn or if dash# is activated, if fully depleted player can no longer draw for a set amount of time. b. Player Stamina will be regenerated over time.

3. Health system, where: a. Stamina is constantly depleted whilst bow is drawn or if dash b. Player Stamina will be regenerated over time.

 

A video demonstrating these systems is available here: https://youtu.be/WSQasH05COw

​

documentation here; 

Audio Update:

Updated 2024

1. Environmental Audio:

2. Stamina/Breathing system, where:

3. Footsteps:

 

A video demonstrating these systems is available here: https://youtu.be/U4UMccgyfRo

​

Citrus
CMP407AudioFinalLayout.png
Uneven Orange Wall

Open GL Graphics Exabit

Open GL Graphics Program

Open GL Graphics Exabit 

The scene created in this project consists of podiums to present examples of the work asked for in the brief, reminiscent of what one would find in a museum.

I believed this would be the most straightforward and effortless to showcase the work. It also includes working examples of stencil testing that involves the use of 3D and 2D objects.

The primary source of light consists of one ambient light and three spotlights, all of which are different colours, that orbit the ambient light like planets in a solar system. Reminding me of a natural history museum or an observatory. There are a few more minor details that are be presented in the report.

All of this is suspended on a platform mid air to give a “lucid dream” atmosphere to the scene, creating interest for the user, an experience unique to computer made scene. 

bottom of page