{"id":5,"date":"2021-05-23T18:12:30","date_gmt":"2021-05-23T10:12:30","guid":{"rendered":"https:\/\/www.roarlisf-7thseraph.space\/?page_id=5"},"modified":"2026-02-22T12:16:31","modified_gmt":"2026-02-22T04:16:31","slug":"%e5%88%9b%e5%bb%ba%e6%82%a8%e7%9a%84%e7%bd%91%e7%ab%99%e4%b8%8e%e5%8c%ba%e5%9d%97","status":"publish","type":"page","link":"https:\/\/suomikp31.ca\/","title":{"rendered":"Overview"},"content":{"rendered":"\n<h2 class=\"alignwide has-text-align-wide has-huge-font-size\" style=\"line-height:1.1\">Professional Projects<\/h2>\n\n\n\n<hr class=\"wp-block-separator alignwide is-style-twentytwentyone-separator-thick\"\/>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"100 Ways To Die\" width=\"750\" height=\"422\" src=\"https:\/\/www.youtube.com\/embed\/071obITDA10?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\"><\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>All Out &#8211; Battlegrounds <\/strong><\/p>\n\n\n\n<p>A full online multiplayer game, written in C# on the All Out Platform.<\/p>\n\n\n\n<p>This is my proud work during my intern in Canada. This game reaped 400K plays and 1.1M views on YouTube within half a month of launching.<\/p>\n\n\n\n<p>I was in charge of this game along with a great collaborating designer and a very supportive &amp; responsive art team. I coded independently and completed it within 4 months.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>Onmyoji Idol Project <\/strong><\/p>\n\n\n\n<p>Multimedia IP Plan in the Onmyoji world.<\/p>\n\n\n\n<p>I worked on this project as an engine programmer mainly focusing on multiplatform native plugins and rendering.<\/p>\n\n\n\n<p>My accomplishments here include an iOS-FFmpeg native plugin and an SSPR (Screen Space Planar Reflection) algorithm.<\/p>\n\n\n\n<p>I do a little bit of audio job as well, due to my previous experience in Wwise.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\"><\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"\u3010Onmyoji Idol Project \u9634\u9633\u5e08\u5076\u50cf\u4f01\u5212\u3011\u4f60\u7684\u5149\u8292 \/ Your light\" width=\"750\" height=\"422\" src=\"https:\/\/www.youtube.com\/embed\/usFjD3dBkXE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Harry Potter: Magic Awakened - Official Global Release Announce Trailer\" width=\"750\" height=\"422\" src=\"https:\/\/www.youtube.com\/embed\/RO13aqd2mDo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\"><\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>Harry Potter: Magic Awakened<\/strong><\/p>\n\n\n\n<p>A TCG-like game, focusing on card collection and upgrade.<\/p>\n\n\n\n<p>I briefly worked on this project (Dec. 2021 &#8211; Apr. 2022) as an engine programmer on Wwise Audio. I also implemented dedicated graphic utilities for our audio designers.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>Cygnus Enterprises<\/strong><\/p>\n\n\n\n<p>Top-Down Shooter, which serves as the stepping-stone project of NetEase&#8217;s first international team.<\/p>\n\n\n\n<p>It was the starting point of my career. I was doing graphics jobs using HLSL and worked on related scripts for integration with C# during my internship (Jul. &#8211; Sept. 2020).<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Cygnus Enterprises - Official Trailer\" width=\"750\" height=\"422\" src=\"https:\/\/www.youtube.com\/embed\/wss40hnCuEI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"alignwide has-text-align-wide has-huge-font-size\" style=\"line-height:1.1\">Patents &amp; Publications<\/h2>\n\n\n\n<hr class=\"wp-block-separator alignwide is-style-twentytwentyone-separator-thick\"\/>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large is-style-twentytwentyone-image-frame\"><img loading=\"lazy\" width=\"1024\" height=\"570\" src=\"https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/neuralkinematicfluid-1024x570.png\" alt=\"\" class=\"wp-image-343\" srcset=\"https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/neuralkinematicfluid-1024x570.png 1024w, https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/neuralkinematicfluid-300x167.png 300w, https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/neuralkinematicfluid-768x427.png 768w, https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/neuralkinematicfluid-1536x855.png 1536w, https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/neuralkinematicfluid-1568x873.png 1568w, https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/neuralkinematicfluid.png 1847w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>Neural Kinematic Fluid<\/strong><\/p>\n\n\n\n<p>Accepted paper at <a href=\"https:\/\/www.youtube.com\/watch?v=MXs_vkc8hpY\">SIGGRAPH Asia 2025<\/a>.<\/p>\n\n\n\n<p>A mesh-free fluid simulations that exploit a kinematic neural basis for velocity fields represented by an MLP.<\/p>\n\n\n\n<p>Arxiv: <a href=\"https:\/\/arxiv.org\/abs\/2504.15657\">https:\/\/arxiv.org\/abs\/2504.15657<\/a><\/p>\n\n\n\n<p><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong><a href=\"https:\/\/hyper3d.ai\/chatavatar\">Chat Avatar<\/a><\/strong><\/p>\n\n\n\n<p>SIGGRAPH 2023 Real Time Live (Uncredited associate of Deemos Tech).<\/p>\n\n\n\n<p>Worked on Technology visualization (HLSL &amp; WebGL hair\/skin rendering).<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large is-style-twentytwentyone-image-frame\"><img loading=\"lazy\" width=\"1024\" height=\"681\" src=\"https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/chatavatar-1024x681.png\" alt=\"\" class=\"wp-image-344\" srcset=\"https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/chatavatar-1024x681.png 1024w, https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/chatavatar-300x199.png 300w, https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/chatavatar-768x511.png 768w, https:\/\/suomikp31.ca\/wp-content\/uploads\/2026\/02\/chatavatar.png 1098w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:50%\">\n<div class=\"wp-block-image is-style-twentytwentyone-image-frame\"><figure class=\"alignleft size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/suomikp31.ca\/wp-content\/uploads\/2023\/01\/IMG_5168_1.gif\" alt=\"\" width=\"590\" height=\"546\"\/><\/figure><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>Location Based Service in Onmyoji<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-left\">A major effort to build a procedural scene based off the real-life map data. There&#8217;s data retrieving, parsing, pruning and scene generation, involving multiple talented guys &amp; gals in the Zen Studio.<\/p>\n\n\n\n<p>We designed a patented algorithm where we first use a soft-rasterizer to convert map data into &#8220;pixels&#8221;, then we run a specifically tuned Erosion Algorithm to get the skeleton of the city&#8217;s road.<\/p>\n\n\n\n<p>After this, we generate road meshes and arrange buildings. Seeing CV\/CG algorithms working together is AMAZING!<\/p>\n\n\n\n<p>See details in my <a href=\"https:\/\/www.roarlisf-7thseraph.space\/?p=302\">2023 portfolio<\/a>.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"alignwide has-text-align-wide has-huge-font-size\" style=\"line-height:1.1\">Tech Demos<\/h2>\n\n\n\n<hr class=\"wp-block-separator alignwide is-style-twentytwentyone-separator-thick\"\/>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>NieR: Automata &#8211; 8bit Tone Filter<\/strong><\/p>\n\n\n\n<p>Recreation of NieR Automata&#8217;s real time 8-bit  tone filter, using cascaded IIR filters and SIMD. Solution endorsed by NieR Automata&#8217;s audio engineering director, Masami Ueda.<\/p>\n\n\n\n<p>Source code: <a href=\"https:\/\/github.com\/SuomiKP31\/JUCENieR_ToneFilter\/tree\/main\">JUCENieR Tonefilter<\/a> <\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<iframe loading=\"lazy\" src=\"\/\/player.bilibili.com\/player.html?isOutside=true&amp;aid=114219622074099&amp;bvid=BV1ekoSY2EF1&amp;cid=29053553298&amp;p=1\" scrolling=\"no\" border=\"1\" height=\"450\" width=\"95%\" frameborder=\"no\" framespacing=\"0\" allowfullscreen=\"true\"><\/iframe>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large is-resized is-style-twentytwentyone-image-frame\"><img loading=\"lazy\" src=\"https:\/\/suomikp31.ca\/wp-content\/uploads\/2021\/05\/UCS-Demo.png\" alt=\"\" width=\"805\" height=\"452\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong><a href=\"https:\/\/www.youtube.com\/watch?v=mKO3HJvf0Ss\">Rigidbody Particles Based on Unity<\/a> Compute Shader (Unity, HLSL)<\/strong><\/p>\n\n\n\n<p>Done in several weeks as Computer Graphics course-project, we used rendering utilities provided by Unity-CJ-Lib and Unity&#8217;s compute shader to drive a pure GPU-based rigidbody system.<\/p>\n\n\n\n<p>Open sourced. <a href=\"https:\/\/github.com\/SuomiKP31\/Project-Impetus\">GitHub Project Link<\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>Catmull-Clark Mesh Subdivision (C++)<\/strong><\/p>\n\n\n\n<p>Part of CG II course project, done with Fu Xinyi &amp; Zhang Qihao. Visualization of this project is done by MeshLab.<\/p>\n\n\n\n<p>Open-sourced. <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/MmmmHeee\/Mesh-Subdivisions\" target=\"_blank\">GitHub Project Link<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large is-style-twentytwentyone-image-frame\"><a href=\"https:\/\/suomikp31.ca\/wp-content\/uploads\/2021\/05\/catmull-clark.gif\"><img src=\"https:\/\/suomikp31.ca\/wp-content\/uploads\/2021\/05\/catmull-clark.gif\" alt=\"\"\/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<iframe loading=\"lazy\" src=\"\/\/player.bilibili.com\/player.html?aid=278737389&amp;bvid=BV1pw411P7cq&amp;cid=1337942573&amp;p=1\" scrolling=\"no\" border=\"1\" height=\"450\" width=\"95%\" frameborder=\"no\" framespacing=\"0\" allowfullscreen=\"true\"> <\/iframe>\n<\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>JUCE DSP Mixer (JUCE C++)<\/strong><\/p>\n\n\n\n<p>Low Volume suggested if you&#8217;re gonna watch this one!<\/p>\n\n\n\n<p>A VST3 plugin built on JUCE Framework, where I process samples and fly on frequency domain.<\/p>\n\n\n\n<p>3 filters and 6 effects are implemented in real-time and very closely resembles the hearing experience of Sound Voltex &#8211; A KONAMI rhythm game that&#8217;s very popular in East Asia.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/SuomiKP31\/JUCE_VST3_Mixer\">GitHub Project Link<\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"alignwide has-huge-font-size\">Games \/ Projects<\/h2>\n\n\n\n<hr class=\"wp-block-separator alignwide is-style-twentytwentyone-separator-thick\"\/>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large is-resized is-style-twentytwentyone-image-frame\"><img loading=\"lazy\" src=\"https:\/\/suomikp31.ca\/wp-content\/uploads\/2021\/12\/6152dc506158bc26bb0f8bd7w8hp7cwY01.gif\" alt=\"\" width=\"760\" height=\"343\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>2D Hack&#8217;n&#8217;Slash<\/strong> &#8211; NetEase Mini Project<\/p>\n\n\n\n<p>The Mini Project is what NetEase uses to test &amp; strengthen the newcomers&#8217; abilities. We were given 3 months to produce a playable game with full mechanics and original arts. A mini project group consists of 2 designers, 2-3 artists and 4 programmers.<\/p>\n\n\n\n<p>More details about this project are classified, I can only show some VFXs I made here. I did the modeling work by Blender, implemented the shaders by ShaderGraph.<\/p>\n\n\n\n<p>This project won the excellent newcomer project award. More Details in <a href=\"https:\/\/www.roarlisf-7thseraph.space\/?p=193\">Post<\/a>.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>Code: Xephiratone<\/strong><\/p>\n\n\n\n<p>TPS\/Rhythm tech demo.<\/p>\n\n\n\n<p>Developed totally by myself, implemented various ideas that I thought to be interesting. It has an aim-assist system that makes the feeling better, and rewards you for shooting on the beats.<\/p>\n\n\n\n<p>The Final Gameplay Demo can be seen in this <a href=\"https:\/\/www.roarlisf-7thseraph.space\/?p=181\">post<\/a>. <\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<iframe loading=\"lazy\" src=\"\/\/player.bilibili.com\/player.html?aid=206179465&amp;bvid=BV1Qh411a7L1&amp;cid=355084268&amp;page=1\" scrolling=\"no\" border=\"1\" height=\"450\" width=\"95%\" frameborder=\"no\" framespacing=\"0\" allowfullscreen=\"true\"> <\/iframe>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide\">\n<div class=\"wp-block-column\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large is-resized is-style-twentytwentyone-image-frame\"><img loading=\"lazy\" src=\"https:\/\/suomikp31.ca\/wp-content\/uploads\/2021\/06\/ezgif.com-gif-maker.gif\" alt=\"\" width=\"755\" height=\"305\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\" style=\"flex-basis:33.33%\">\n<p><strong>Unity<\/strong> <strong>Driving Simulator<\/strong><\/p>\n\n\n\n<p>Based on Vehicle Physics Pack provided by the lab. Features procedural generated road blocks and NPCs, capable of maintaining the simulation for a long period, to be used as a assisted-driving validator.<\/p>\n\n\n\n<p>The backend of this project is SUMO, it uses a TCP connection to communicate with the client.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Professional Projects All Out &#8211; Battlegrounds A full online multiplayer game, written in C# on the All Out Platform. This is my proud work during my intern in Canada. This game reaped 400K plays and 1.1M views on YouTube within half a month of launching. I was in charge of this game along with a&hellip; <a class=\"more-link\" href=\"https:\/\/suomikp31.ca\/\">Continue reading <span class=\"screen-reader-text\">Overview<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/suomikp31.ca\/index.php?rest_route=\/wp\/v2\/pages\/5"}],"collection":[{"href":"https:\/\/suomikp31.ca\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/suomikp31.ca\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/suomikp31.ca\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/suomikp31.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5"}],"version-history":[{"count":52,"href":"https:\/\/suomikp31.ca\/index.php?rest_route=\/wp\/v2\/pages\/5\/revisions"}],"predecessor-version":[{"id":349,"href":"https:\/\/suomikp31.ca\/index.php?rest_route=\/wp\/v2\/pages\/5\/revisions\/349"}],"wp:attachment":[{"href":"https:\/\/suomikp31.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}