top of page

Charcuterie Chaos

ROLE

Lead Gameplay Programmer | Assistant Systems Programmer

DESCRIPTION

A third person multiplayer puzzle adventure game in which the players controls various cheese character and their unique abilities to fight enemies and navigate difficult terrain. 

PROJECT TIMELINE

Jan 2024 - April 2024

GENRE

Co-Op Puzzle Action Adventure 

PLATFORM

PC

DEVELOPMENT

Unreal - C++ - Blueprints

TAKEAWAYS

Developing this game pushed my technical, creative, and leadership skills to new heights. I gained insight to the workings of a game industry project and the complex tools that are commonly found in games today.

PROGRAMMING

Programming the gameplay took the most time, but configuring the multiplayer components took the most effort. I became well versed in the Unreal multiplayer plug-ins and how to use them to properly replicate player actions and the surrounding environment.

DESIGNING

The unrestricted nature of the assignment allowed for a great amount creative freedom. Building character designs and abilities that complemented each other and contributed to interesting and fun gameplay was a wonderfully brilliant challenge.

LEADING

As the Lead Gameplay Programmer on this project I managed the tasks of several other peers as they worked independently to compose the game mechanics, animations, and systems.

THE GAME

Portfolio - CC - 5.png

Co-Op Multiplayer

Diverse Character Options

Portfolio - CC - 3.png
Portfolio - CC - 2.png

Engaging Combat

MY CODE

Cheese Ability CPP

Cheese Ability H File

Ability Replication

Ability Execution

Niagara Particle System

Downloads

#include "CheeseAbility.h" ACheeseAbility::ACheeseAbility() { PrimaryActorTick.bCanEverTick = true; bReplicates = true; } void ACheeseAbility::BeginPlay() { Super::BeginPlay(); } void ACheeseAbility::Tick(float DeltaTime) { Super::Tick(DeltaTime); } void ACheeseAbility::ExecutePrimaryAttack_Implementation(ACharacter* Character) { // Implementation of primary attack } void ACheeseAbility::ExecuteSpecialMove_Implementation(ACharacter* Character) { // Implementation of special move } void ACheeseAbility::Server_ExecutePrimaryAttack_Implementation(ACharacter* Character) { // Implement server-side logic for ExecutePrimaryAttack here } bool ACheeseAbility::Server_ExecutePrimaryAttack_Validate(ACharacter* Character) { // Perform validation checks here if needed return true; // Return true to allow the function to be executed }

#pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "CheeseAbility.generated.h" UCLASS() class CHARCUTERIECHAOS_API ACheeseAbility : public AActor { GENERATED_BODY() public: ACheeseAbility(); protected: virtual void BeginPlay() override; public: virtual void Tick(float DeltaTime) override; UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Abilities") void ExecutePrimaryAttack(ACharacter* Character); virtual void ExecutePrimaryAttack_Implementation(ACharacter* Character); UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Abilities") void ExecuteSpecialMove(ACharacter* Character); virtual void ExecuteSpecialMove_Implementation(ACharacter* Character); // Server-side implementation of ExecutePrimaryAttack UFUNCTION(Server, Reliable, WithValidation) void Server_ExecutePrimaryAttack(ACharacter* Character); void Server_ExecutePrimaryAttack_Implementation(ACharacter* Character); bool Server_ExecutePrimaryAttack_Validate(ACharacter* Character); };

Portfolio - CC - 6.png
bottom of page