Skip to content

Commit 7791a80

Browse files
committed
Descriptor buffer redux article. CV update.
1 parent bdf34dd commit 7791a80

8 files changed

Lines changed: 651 additions & 45 deletions

File tree

.idea/.name

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/editor.xml

Lines changed: 101 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

aboutme.md.html

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
<meta charset="utf-8" emacsmode="-*- markdown -*-">
22
**[About Me](index.html)**
33

4-
My name is William Gunawan. I am an Indonesian programmer specialized in graphics programming. I use this page to write about my activities in graphics programming and my thoughts regarding certain graphics topics.
4+
My name is William Gunawan. I am an Indonesian programmer specialized in graphics programming.
5+
I use this page to write about my activities in graphics programming and my thoughts regarding certain graphics topics.
56

6-
I make small games when I'm not working on graphics programming, which you can play on [my itch page](https://williscool13.itch.io/). Most of them aren't very good.
7+
In my free time, I work on my game engine. In the past I used to make small games, which you can play on [my itch page](https://williscool13.itch.io/). Most of them aren't very good.
78

89
I usually leave my projects on [my GitHub page](https://github.com/Williscool13), if you have any interest in seeing my code.
910

1011
My big project right now is my game engine, [Will Engine](https://github.com/Williscool13/WillEngineV2). It is written in c++, uses Vulkan for the rendering backend (no RHI), and Jolt for physics.
1112

12-
13-
14-
I'm always open to meeting people. If you need help with anything Graphics/Game related or just want to chat, feel free to contact me at twtw40@gmail.com or my discord (williscool).
13+
I'm always open to meeting people. If you want to talk about anything Graphics/Game related, feel free to contact me at twtw40@gmail.com or my discord (williscool).
1514

1615
I will now leave you with pictures of my dog, Barry.
1716

cv.md.html

Lines changed: 52 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,99 @@
11
**William Gunawan's CV**
22
[William Gunawan](https://www.williscool.com)
3-
Last Updated 2024/06/04
4-
(+62) 821-1096-6853 ❖ twtw40@gmail.com
3+
Last Updated 2025-10-23
4+
twtw40@gmail.com
55

66
# SUMMARY
77

8-
I am a programmer with a strong focus on low-level programming and software optimization. I excel at enhancing software performance by working close to the hardware level. All my projects are publicly available at https://github.com/Williscool13.
8+
I am a graphics programmer with a focus on rendering and performance.
9+
All my projects are publicly available at https://github.com/Williscool13.
910

1011
# EXPERIENCE
1112

12-
(##) **ATS Farma** as a **Business System Developer**
13+
(##) **Game Programmer** at **Stairway Games**
1314

14-
**Jul. 2022 – Oct. 2022**
15+
**Jul 2024 - Jan 2025** (probationary period: Jul-Sep 2024)
1516

16-
- I worked with the management and IT teams to review the existing sales and database systems for the company.
17-
With continuous communication and feedback from teams and sales representatives, I drafted proposals for improvements and changes to the system.
17+
- Developed features for Coral Island's multiplayer release
18+
- Improved dialogue system, tourist system, and various others to support multiple players
19+
- Minimize desynchronization issues in multiplayer
1820

1921

20-
(##) **PT. Metrodata Electronics Tbk.** as a **Data Analyst Intern**
22+
(##) **Senior Game Programmer** at **Stairway Games**
2123

22-
**Oct. 2020 – Jan. 2021**
23-
24-
- As a team member in the newly founded data science team in Metrodata, I helped develop and explore solutions which take advantage of AI to solve tasks such as sentiment analysis and market insight.
24+
**Jan 2025 - Oct 2025**
2525

26-
- My responsibilities primarily included data collection of publicly available information from online vendors. I would prepare the data to be used in analyses by other team members.
26+
- Prepared Coral Island for console release with Xbox and PlayStation 5 certification compliance
27+
- Modified custom Unreal Engine branch to meet platform-specific certification requirements
28+
- Improved marriage and children systems to support multiple players.
29+
- Iterated on existing features and fixed critical bugs for stable release
30+
- Conducted code reviews to maintain quality standards
2731

28-
(##) **A*Star (Institute of High-Performance Computing)** as part of a **Research Project**
2932

30-
**Nov. 2019 – Jul. 2020**
33+
(##) **Senior Multiplayer Game Programmer** at **Stairway Games**
3134

32-
- I was a part of a research project that involved close collaboration with researchers at A*Star (IHPC). The work involved producing a novel technique related to Differentiable Neural Architecture Search (DARTS), a form of automated deep learning architecture construction.
33-
- A*Star (IHPC) is a Singaporean government agency created to solve scientific challenges through computational modelling, simulation, and AI. A*Star’s faculty consists of distinguished AI researchers which help guide the agency to publish impactful papers in areas such as Deep Learning, Computer Vision, and Text-Based AI.
35+
**Oct 2025 - Present**
36+
37+
- Develop new multiplayer features and systems for Coral Island
38+
- Review peer code and ensure quality standards
39+
- Debug and iterate on live features
3440

3541
# PROJECTS
3642

37-
(##) **Vulkan Game Engine**
43+
(##) **Will Engine Test Bed**
44+
45+
- Test bed for performance optimization experiments isolating features into sub-projects
46+
- Includes: Multi-threading, Parallelization (enkiTS), Crash Handling, Vulkan Descriptor Buffer (Bindless), Shader Slang, ECS (enTT), Audio (SDL_Audio), Model Loading (gltf)
47+
- Tools: **C++, Vulkan, Slang, enTT, enkiTS, SDL, CMake**
3848

39-
- My game engine, founded on a Vulkan renderer, using common libraries used by modern game engines. The game engine also supports the use of compute shaders, improving the efficiency of calculations through the use of a GPU’s SIMD architecture.
40-
- Tools: **C++, Vulkan, SDL2, NVIDIA Nsight, DearImgui, GLSL, Bash**
49+
(##) **Will Engine**
50+
51+
- Game engine using Vulkan and JoltPhysics with component-based game object architecture
52+
- PBR renderer with cascaded shadow maps, screen space contact shadows, GTAO, and TAA
53+
- GPU-driven rendering with compute shader-generated indirect buffers
54+
- Custom asset serialization supporting GLTF and KTX textures
55+
- Immediate-mode debug renderer with Jolt visualization
56+
- Tools: **C++, Vulkan, JoltPhysics, GLSL, enTT, SDL, CMake**
4157

4258
(##) **C++ Based Ray-Tracer**
4359

44-
- A C++ ray-tracer made entirely without the use of libraries. The ray-tracer is capable of producing images of scenes at pristine fidelity levels. The ray-tracer is made efficient through the use of acceleration structures.
60+
- Software ray-tracer built from scratch with acceleration structures for efficient scene rendering
4561
- Tools: **C++**
4662

4763
(##) **OpenGL Rendering Project**
4864

49-
- An OpenGL based project with a structure similar to a game engine. The project involves implementing modern rendering techniques such as environment maps, reflections, lights, and shadows. Modern rendering API techniques such as geometry and tessellation shaders were also used.
65+
- Renderer implementing PBR, environment mapping, reflections, shadows, geometry and tessellation shaders
5066
- Tools: **C++, OpenGL, GLFW, GLSL**
5167

5268
(##) **Game Projects**
5369

54-
- Several games were developed over the course of a year; all made in Unity and some with the involvement of a team. These teams typically include a composer, artist, and level designer; I was the main programmer and lead of the teams and worked to ensure that the project was developing at an appropriate pace. All published games can be found and played at: https://williscool13.itch.io/
70+
- Multiple Unity games developed as lead programmer with cross-discipline teams (composer, artist, level designer)
5571
- Tools: **C#, Unity, FMOD, HLSL**
5672

5773
# EDUCATION
5874

5975
(##) **Coventry University**
6076

61-
**BSc with Honours; First Class in Computer Science** on **July 2020**
77+
**BSc with Honours; First Class in Computer Science** **July 2020**
6278

6379
- President of the Singapore Computer Society student chapter for 2 years.
6480
- Conducted focus groups for fellow students to help develop their data science skills.
6581

66-
(##) **PSB Academy**
67-
68-
**Diploma in Info-Communication Technology** on **March 2019**
6982

7083
# SKILLS
7184

72-
- Programming Languages: **C++, C#, Python, Java, Bash, GLSL**
73-
- Technologies/Methodologies: **Object-Oriented Programming (OOP), Functional Programming, MySQL, Agile Development, Git, OpenGL, Vulkan, 3D Graphics, Graphics Programming, Event-Based Architecture**
74-
- Others: **Report Writing, Research, Teaching**
75-
76-
77-
78-
79-
80-
81-
82-
83-
84-
85-
85+
- Programming Languages: **C++**
86+
- Technologies/Methodologies:
87+
- Unreal Engine
88+
- Unity
89+
- Git
90+
- Perforce
91+
- Object-Oriented Programming (OOP),
92+
- Data Oriented Design
93+
- Multi-threading
94+
- Vulkan
95+
- GLSL
96+
- Slang
97+
- Entity Component System (ECS)
8698

8799
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js" charset="utf-8"></script><script src="https://morgan3d.github.io/markdeep/latest/markdeep.min.js?" charset="utf-8"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>

images/berry1.jpg

-69.1 KB
Binary file not shown.

images/berry2.JPG

-35.5 KB
Binary file not shown.

index.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727

2828
(#) Technical Articles
2929

30+
- **[Vulkan Descriptor Buffers (Redux)](technical/descriptorBuffers2.md.html)**
31+
- A technical post about implementing descriptor buffers in place of the traditional descriptor pool in my renderer/engine.
32+
- A redux of the previous descriptor buffer article with improvements and clarifications.
3033
- **[Environment Mapping in Vulkan](technical/environmentMapping.md.html)**
3134
- A brief look at the implementation of environment mapping in my renderer/engine. This includes Specular/Irradiance Cubemaps.
3235
- **[GPU-Driven Rendering and Culling](technical/gpudrivenandculling.md.html)**

0 commit comments

Comments
 (0)