{"id":93,"date":"2024-12-15T15:32:20","date_gmt":"2024-12-15T15:32:20","guid":{"rendered":"https:\/\/cuijonathan.com\/?page_id=93"},"modified":"2026-05-06T19:02:46","modified_gmt":"2026-05-06T18:02:46","slug":"liminal-detective","status":"publish","type":"page","link":"https:\/\/cuijonathan.com\/index.php\/liminal-detective\/","title":{"rendered":"Liminal Detective"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"93\" class=\"elementor elementor-93\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e9ade66 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e9ade66\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b8c3145\" data-id=\"b8c3145\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-df1fca3 elementor-widget elementor-widget-image\" data-id=\"df1fca3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"221\" src=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/liminaldetectivetitlemodded1-1024x221.png\" class=\"attachment-large size-large wp-image-486\" alt=\"\" srcset=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/liminaldetectivetitlemodded1-1024x221.png 1024w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/liminaldetectivetitlemodded1-300x65.png 300w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/liminaldetectivetitlemodded1-768x166.png 768w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/liminaldetectivetitlemodded1.png 1521w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-98209af elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"98209af\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-d82fdf1\" data-id=\"d82fdf1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-65edef7 elementor-widget elementor-widget-text-editor\" data-id=\"65edef7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Liminal Detective is a Third Person Mystery-Action hybrid where you defeat demons and solve the mystery of who murdered your brother.<\/p><p>It was developed from January 2024 to May 2024 with a team of 9 people on Unreal Engine 5.<\/p><p>Liminal Detective has the player alternating between combat and mystery sections. In the beginning of each room, the player must utilize their special abilities, such as casting energy attacks and grabbing objects or enemies, to defeat the demons that haunt the room and find the clue that is on one of the enemies. Afterwards, they use that item to interrogate other characters on the phone. After discovering all of the clues, they must figure out who committed the crime, and then fight them afterwards.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-9acfa92\" data-id=\"9acfa92\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ae5f3b4 elementor-widget elementor-widget-image\" data-id=\"ae5f3b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/nd2Fyj.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"nd2Fyj\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NDgxLCJ1cmwiOiJodHRwczpcL1wvY3Vpam9uYXRoYW4uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNFwvbmQyRnlqLnBuZyJ9\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"524\" src=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/nd2Fyj-1024x524.png\" class=\"attachment-large size-large wp-image-481\" alt=\"\" srcset=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/nd2Fyj-1024x524.png 1024w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/nd2Fyj-300x153.png 300w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/nd2Fyj-768x393.png 768w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/nd2Fyj-1536x786.png 1536w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/04\/nd2Fyj.png 1959w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\"><i>Gameplay Image of Liminal Detective. The player is grabbing and throwing an enemy.<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d044f6c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d044f6c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-21e909a\" data-id=\"21e909a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-61c4135 elementor-widget elementor-widget-heading\" data-id=\"61c4135\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Primary Contributions<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-17e96b1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"17e96b1\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-f033e7e\" data-id=\"f033e7e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f6063a4 elementor-widget elementor-widget-text-editor\" data-id=\"f6063a4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>I worked on creating, designing, and implementing the combat, which includes implementation of classic over the shoulder third person controls. This implementation was done through Unreal Engine 5\u2019s Blueprints visual scripting system, which came with benefits and challenges for the team.<\/p><p>While I enjoyed using the scripting system for certain tasks, there were periods where both I and the programmers felt very constrained by some of the limitations of the system. The programmers had to take time to learn Blueprints and visual scripting, while I also had periods of time where I had difficulty organizing and cleaning the encroaching spaghetti of scripts and code modules.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-c2c07e0\" data-id=\"c2c07e0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cf4bd35 elementor-widget elementor-widget-image\" data-id=\"cf4bd35\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081736.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Screenshot 2025-04-10 081736\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzA5LCJ1cmwiOiJodHRwczpcL1wvY3Vpam9uYXRoYW4uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvU2NyZWVuc2hvdC0yMDI1LTA0LTEwLTA4MTczNi5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"580\" src=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081736-1024x580.png\" class=\"attachment-large size-large wp-image-309\" alt=\"\" srcset=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081736-1024x580.png 1024w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081736-300x170.png 300w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081736-768x435.png 768w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081736-1536x870.png 1536w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081736.png 1883w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\"><i>Blueprint script for player abilities and attacks.<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4839149 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4839149\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-719dca3\" data-id=\"719dca3\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7767715 elementor-widget elementor-widget-text-editor\" data-id=\"7767715\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A core feature of the game is being able to grab and throw physics objects or enemies themselves to do damage. This feature was challenging to implementing into the game, and required many revisions, testing, and workaround solutions to make it to final release. Implementing this feature required various flowchart drafts, which helped significantly during implementation. Overall, I am very pleased with the result.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-b1d9784\" data-id=\"b1d9784\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-76eab85 elementor-widget elementor-widget-image\" data-id=\"76eab85\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081713.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Screenshot 2025-04-10 081713\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzA3LCJ1cmwiOiJodHRwczpcL1wvY3Vpam9uYXRoYW4uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvU2NyZWVuc2hvdC0yMDI1LTA0LTEwLTA4MTcxMy5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"383\" src=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081713-1024x383.png\" class=\"attachment-large size-large wp-image-307\" alt=\"\" srcset=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081713-1024x383.png 1024w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081713-300x112.png 300w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081713-768x288.png 768w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081713-1536x575.png 1536w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-081713-2048x767.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\"><i>Blueprint script for grabbing and throwing objects and enemies.<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-61fba56 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"61fba56\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f0f197c\" data-id=\"f0f197c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bdb986b elementor-widget elementor-widget-heading\" data-id=\"bdb986b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Enemy AI<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-11dc508 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"11dc508\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-a4cbdc0\" data-id=\"a4cbdc0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-df33500 elementor-widget elementor-widget-text-editor\" data-id=\"df33500\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>I also worked closely with programmers to implement the enemy behavior for the game, using Unreal Engine 5\u2019s Behavior Tree system. I worked with the primary AI programmer, Jeffrey, in pair programming sessions in person to implement behavior nodes for the tree and fix any bugs that might come up with the gameplay abilities the player has. When we had to access the project on seperate computers, we utilized SVN version control&#8217;s locking system to ensure that merge conflicts wouldn&#8217;t occur with the binary file system that Unreal utilizes.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-aa2accb\" data-id=\"aa2accb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d0909c5 elementor-widget elementor-widget-image\" data-id=\"d0909c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-080606.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Screenshot 2025-04-10 080606\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzA2LCJ1cmwiOiJodHRwczpcL1wvY3Vpam9uYXRoYW4uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvU2NyZWVuc2hvdC0yMDI1LTA0LTEwLTA4MDYwNi5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"615\" src=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-080606-1024x615.png\" class=\"attachment-large size-large wp-image-306\" alt=\"\" srcset=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-080606-1024x615.png 1024w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-080606-300x180.png 300w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-080606-768x461.png 768w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-080606-1536x922.png 1536w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-080606.png 1598w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\"><i> An example of an enemy behavior tree in UE5.<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c5262b8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c5262b8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3db4672\" data-id=\"3db4672\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-851a7f4 elementor-widget elementor-widget-heading\" data-id=\"851a7f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Visual Contributions<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-bf8d723 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bf8d723\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-5cb9be7\" data-id=\"5cb9be7\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-afbfd63 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"afbfd63\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>I collaborated with artists and programmers to help create visual effects and UI elements that were cohesive with the rest of the art style for the game. When we weren&#8217;t meeting in person for artistic discussions and feedback for our work, we would utilize Mattermost to get feedback on the work that was done over each work session. We also utilized SVN when artists were in engine, so we wouldn&#8217;t run into disruptive merge conflicts.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-b908e23\" data-id=\"b908e23\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-eaa5305 elementor-widget-tablet__width-initial elementor-widget elementor-widget-image\" data-id=\"eaa5305\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-084149.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Screenshot 2025-04-10 084149\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzE1LCJ1cmwiOiJodHRwczpcL1wvY3Vpam9uYXRoYW4uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvU2NyZWVuc2hvdC0yMDI1LTA0LTEwLTA4NDE0OS5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"498\" src=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-084149-1024x498.png\" class=\"attachment-large size-large wp-image-315\" alt=\"\" srcset=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-084149-1024x498.png 1024w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-084149-300x146.png 300w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-084149-768x373.png 768w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-084149-1536x747.png 1536w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-10-084149.png 2044w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\"><i>Enemy Destruction Visual Effect in editor<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3360126 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3360126\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-59907fa\" data-id=\"59907fa\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-04c8897 elementor-widget elementor-widget-heading\" data-id=\"04c8897\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Testing and Playtester Feedback<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d04a87b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d04a87b\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-dd79e8e\" data-id=\"dd79e8e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-384f41c elementor-widget elementor-widget-text-editor\" data-id=\"384f41c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-6955bc5\" data-id=\"6955bc5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-507d202 elementor-widget elementor-widget-image\" data-id=\"507d202\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"997\" src=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/05\/LD3-26gtsc1-1024x997.png\" class=\"attachment-large size-large wp-image-583\" alt=\"\" srcset=\"https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/05\/LD3-26gtsc1-1024x997.png 1024w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/05\/LD3-26gtsc1-300x292.png 300w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/05\/LD3-26gtsc1-768x748.png 768w, https:\/\/cuijonathan.com\/wp-content\/uploads\/2026\/05\/LD3-26gtsc1.png 1222w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-aae3efd elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"aae3efd\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f62ff47\" data-id=\"f62ff47\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f979d65 elementor-widget elementor-widget-heading\" data-id=\"f979d65\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Retrospective<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-85eb5c0 elementor-widget elementor-widget-text-editor\" data-id=\"85eb5c0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Working on this project was a great learning experience.<\/p><p>A mistake we made near the beginning of development was going for a primarily Blueprints project, as we locked ourselves out of using C++ and some of the benefits working in a classic programming language gave us.<\/p><p>The team was made up of a very diverse group of people with various backgrounds, experiences, and personalities. It was also the largest team I had worked in to that point. I learned how to mediate between strong personalities in the group, coordinate between disciplines on a larger team, and communicate ideas effectively and respectfully amongst the team.<\/p><p>You can download and play it <a href=\"https:\/\/antennasunite.itch.io\/liminal-detective\"><strong>here<\/strong> <strong>on itch.io<\/strong><\/a>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Liminal Detective is a Third Person Mystery-Action hybrid where you defeat demons and solve the mystery of who murdered your brother. It was developed from January 2024 to May 2024 with a team of 9 people on Unreal Engine 5. Liminal Detective has the player alternating between combat and mystery sections. In the beginning of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-93","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cuijonathan.com\/index.php\/wp-json\/wp\/v2\/pages\/93","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cuijonathan.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cuijonathan.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cuijonathan.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cuijonathan.com\/index.php\/wp-json\/wp\/v2\/comments?post=93"}],"version-history":[{"count":62,"href":"https:\/\/cuijonathan.com\/index.php\/wp-json\/wp\/v2\/pages\/93\/revisions"}],"predecessor-version":[{"id":633,"href":"https:\/\/cuijonathan.com\/index.php\/wp-json\/wp\/v2\/pages\/93\/revisions\/633"}],"wp:attachment":[{"href":"https:\/\/cuijonathan.com\/index.php\/wp-json\/wp\/v2\/media?parent=93"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cuijonathan.com\/index.php\/wp-json\/wp\/v2\/categories?post=93"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cuijonathan.com\/index.php\/wp-json\/wp\/v2\/tags?post=93"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}