-
Notifications
You must be signed in to change notification settings - Fork 0
/
index-en.html
274 lines (266 loc) · 11.7 KB
/
index-en.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Aucer的作品集履歷</title>
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
margin: 50px; /* Add margin */
padding: 0;
background-color: #f9f9f9;
}
.container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: #fff;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
display: flex; /* Use Flexbox layout */
align-items: center; /* Vertically center align */
}
.profile-info {
flex: 1; /* Let the text part take up the remaining space */
}
h1 {
text-align: center;
color: #333;
}
table {
width: 100%;
border-collapse: collapse;
margin-bottom: 20px;
}
th, td {
border: 1px solid #ddd;
padding: 10px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
.links {
margin-top: 20px;
}
.links a {
font-size: 15px;
display: block;
margin-bottom: 10px;
color: blue; /* Change link text color to blue */
text-decoration: underline; /* Add underline effect */
transition: color 0.3s;
}
.links a:hover {
color: #007bff;
}
.other-section {
margin-top: 40px;
}
.other-section h2 {
color: #333;
border-bottom: 2px solid #333;
padding-bottom: 5px;
margin-bottom: 20px;
}
.other-section ul {
padding-left: 20px;
}
.other-section li {
margin-bottom: 10px;
}
.language-switch {
position:fixed;
top: 5px;
left: 10px;
}
</style>
</head>
<body>
<div class="language-switch" id="languageSwitch">
<a href="index.html" class="btn" id="switchToChinese" >Switch to Chinese</a>
<a href="index-en.html" class="btn" id="switchToEnglish"style="display: none;">切換到英文</a>
</div>
<h1>Portfolio Resume</h1>
<div class="container">
<div class="profile-info">
<p><strong>何政毅 Aucer:</strong> As a developer, I strive to create comfortable experiences from <strong>A user</strong>'s perspective.</p>
<p><strong>As a Unity programmer,</strong> I adhere to object-oriented principles SOLID to complete coding tasks assigned by supervisors, hoping to apply for the position of "Unity Software Engineer" at your esteemed company.</p>
</div>
<div class="profile-image">
<img src="images/hochengyi-headshot.jpg" alt="aucer profile picture" width="150" height="150">
</div>
</div>
<br>
<table>
<thead>
<tr>
<th>Semester</th>
<th>Project Name</th>
<th>Development Environment</th>
<th>Project Description</th>
<th>Technologies/Tools Used</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<!-- Project data -->
<tr>
<td>Freshman Year, First Semester</td>
<td>JumpXD (Available on Google Play)</td>
<td>Unity</td>
<td>A jumping game where players can watch ads to advance levels</td>
<td>Google Play deployment, Admob API, binary file read/write</td>
<td><a href="https://play.google.com/store/apps/details?id=com.utummobile.CasualJump&hl=en-TW">Google Play - JumpXD</a></td>
</tr>
<!-- Other project rows -->
<tr>
<td>Freshman Year, Second Semester</td>
<td>12-week Intensive Development</td>
<td>Unity</td>
<td>Developed a different game each week, including platform jumping, flight simulation, fishing, 3D hide and seek, etc.</td>
<td>Displayed games on itch.io website</td>
<td><a href="https://youtu.be/hfFoAcUAfcw?si=ACo1-7y_UmykSTuR">Third-Person Shooter Demo</a></td>
</tr>
<!-- Additional project rows omitted for brevity -->
<tr>
<td>Sophomore Year, First Semester</td>
<td>Previouslight (Multi-co Project)</td>
<td>Unity</td>
<td>Light puzzle, dialogue system, TileMap, Dotween</td>
<td>Git, GitHub, SourceTree, version control, Trello</td>
<td><a href="https://aucer.itch.io/previouslight">itch.io - Previouslight</a></td>
</tr>
<tr>
<td>Sophomore Year, Second Semester</td>
<td>Ideaquarium (Multi-co Project)</td>
<td>Unity</td>
<td>Note-taking software where drawn cards have three-stage changes, unlockable illustrated guide, achievement system</td>
<td>Scriptable Object, Observer, Inheritance</td>
<td><a href="https://knowledge-point.itch.io/ideaquarium">itch.io - Ideaquarium</a></td>
</tr>
<tr>
<td>Junior Year, First Semester</td>
<td>Registration & Login Telephone Book Database System</td>
<td>VB.Net</td>
<td>Registration & login using SQL MySQL Navicat database, switching project language for users to easily switch languages, using Excel spreadsheets</td>
<td>Database CRUD, .csv read/write</td>
<td><a href="https://www.youtube.com/watch?v=9GWYXi5c2sc">YouTube - Database Telephone Book</a></td>
</tr>
<tr>
<td>Junior Year, Second Semester</td>
<td>MonsterKing / Gobang (AI & Multiplayer)</td>
<td>Unity</td>
<td>Automatic battle, Monte Carlo Tree Search, Alpha Beta Pruning, heuristic algorithm</td>
<td>Hexagon algorithm, Bezier curves, flight queue, ReBind KeyboardInput, Raycast, card rendering rainbow flash</td>
<td><a href="https://www.youtube.com/watch?v=V1W2lnrALeY&t=38s">YouTube - Gobang</a></td>
</tr>
<tr>
<td>Senior Year, First Semester</td>
<td>MVC, Stats ECS Research</td>
<td>Unity</td>
<td>MVC Roll a ball, MVC flappy bird, MVC Ping pong, MVC Match 3 game, Puzzle & Dragons clone</td>
<td>Separation of code responsibilities, Model, View, Control, Server, QLearning</td>
<td><a href="https://decorous-expert-d04.notion.site/efe6ae16e0db4e3db823e25e3b503a5a?v=3c11a0be1c8047d0806464ae7a01d503&pvs=4">MVC Notes</a></td>
</tr>
<tr>
<td>Senior Year, Second Semester</td>
<td>Puzzle Fantasy</td>
<td>Unity</td>
<td>Using Stable Diffision, Control Net, Lora, generating puzzle images, TCP Client Server chatroom, TCP Unity connection shooting game, multithreading, project organization, video recording, portfolio resume production</td>
<td>Python compiling DLL</td>
<td><a href="https://aucer.itch.io/puzzle-fantasy">itch.io - Puzzle Fantasy</a><br>
<a href="https://github.com/Aucerp/TCPClient-ThirdPersonShooter">GitHub - TCPClient-ThirdPersonShooter</a>
</td>
</tr>
</tbody>
</table>
<ul>
<li>I usually learn from CSDN, Udemy, YouTube, Bilibili, Books, and GitHub open sources.</li>
</ul>
<div class="links">
<h2>Links:</h2>
<ul>
<li><a href="https://competition.cs.pu.edu.tw/">Digital Value-added Competition - Third Place</a></li>
<li><a href="https://decorous-expert-d04.notion.site/efe6ae16e0db4e3db823e25e3b503a5a?v=3c11a0be1c8047d0806464ae7a01d503&pvs=4">Aucer's Notion Code Notes</a></li>
<li><a href="https://aucer.itch.io/">Aucer's game showcase website</a></li>
<li><a href="https://github.com/Aucerp">Aucer's GitHub profile</a></li>
<!-- Other link items omitted for brevity -->
</ul>
<h2>Others:</h2>
<ul>
<li><a href="https://aucer.itch.io/sky-runner">Experience using animation masks, blending 3D animations >> Sky Runner </a></li>
<p>Note: Experience with spine2D animation.</p>
<li><a href="https://youtu.be/ztOzv6H_ShI?si=H7eE1AjUmVBvWRDg">Using URP rendering pipeline </a></li>
<li><a href="https://youtu.be/DO3sAKqSMxU?si=0NNk3dXjiCkKzW7R">Implementing rainbow flash card effect using Amplify shader </a></li>
<!-- Other items omitted for brevity -->
</ul>
</div>
<div class="other-section">
<h2>Coding Process</h2>
<ul>
<li>List the required features, think about class responsibilities, class relationships, then proceed to coding.</li>
<li>Use PlantUML to draw UML diagrams.</li>
<li>When tasks are complex, separate them into single responsibilities, which is very important.</li>
<li>This way, adding new features or making modifications can reduce workload.</li>
<li>It also helps to intuitively identify the location of bugs.</li>
<li>Add XML comments in the code to explain clearly, which reduces the difficulty of understanding when revisiting the code.</li>
</ul>
<br>
<h2>Thanks</h2>
<ul>
<li>The reviewers of my resume</li>
<li>Professor Huang Yongming of Southern Taiwan University for providing students with opportunities for group project collaboration</li>
<li>YouTube channel CodeMonkey for practical Unity feature implementation videos</li>
<li>Unite Austin 2017 - Game Architecture with Scriptable Objects</li>
<li>Unity TCP Client Server book written by 4399 main programmer Luo Peiyu</li>
<li>QFramework author Liangxiang for practical teaching of clean code structure</li>
<li>Plugins created by 18Kfun's samurai54 - Easy Pool/ Event/ Command Kit for visual debugging >> effectively debugging</li>
<li>Udemy series of videos by Guan Jianming - Unity from 0 to Mastery / Advanced C# Programming Techniques / Unity Hot Update Technology from 0 to Mastery</li>
</ul>
</div>
<script>
// Function to show/hide language switch buttons based on scroll position
window.addEventListener('scroll', function() {
var languageSwitch = document.getElementById('languageSwitch');
var scrollThreshold = 60; // Adjust this value as needed
if (window.scrollY <= scrollThreshold) {
// Show the language switch buttons when scrollbar is within the scroll threshold
languageSwitch.style.display = 'block';
} else {
// Hide the language switch buttons when scrolled past the scroll threshold
languageSwitch.style.display = 'none';
}
});
// Function to toggle visibility of language switch buttons
function toggleLanguageButtons() {
var url = window.location.href;
var switchToChinese = document.getElementById('switchToChinese');
var switchToEnglish = document.getElementById('switchToEnglish');
// Check if the URL contains "-en.html" to determine which language is currently selected
if (url.indexOf("-en.html") !== -1) {
// English page is currently selected, so show the switch to Chinese button
switchToChinese.style.display = 'block';
switchToEnglish.style.display = 'none';
} else {
// Chinese page is currently selected, so show the switch to English button
switchToChinese.style.display = 'none';
switchToEnglish.style.display = 'block';
}
}
// Call the toggleLanguageButtons function when the page loads to set initial button visibility
toggleLanguageButtons();
// Add event listeners to the language switch buttons
document.getElementById('switchToChinese').addEventListener('click', function() {
document.getElementById('switchToEnglish').style.display = 'block';
document.getElementById('switchToChinese').style.display = 'none';
});
document.getElementById('switchToEnglish').addEventListener('click', function() {
document.getElementById('switchToChinese').style.display = 'block';
document.getElementById('switchToEnglish').style.display = 'none';
});
</script>
</body>
</html>