-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
161 lines (152 loc) · 12.9 KB
/
index.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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Zsolt J Bea - Portfolio</title>
<link rel="stylesheet" href="styles.css">
<link rel="icon" href="./favicon.png" type="image/x-icon">
</head>
<body>
<header>
<h1>Zsolt J Bea</h1>
<nav>
<a href="#home">Home</a>
<a href="#projects">Projects</a>
<a href="#contact">Contact</a>
</nav>
</header>
<section id="home">
<p>
I come from a digital marketing background, having worked in the B2B IT sector, B2C Health Care, and recruitment. I've also been involved in smaller projects. My journey into coding began when I started creating websites for small businesses as a side hustle. A few years back, I enrolled in a full-stack developer course at a career-switching educational institute. Though the course was remote, the support from tutors was commendable. During the C# module, I learned about its extensive use in game development and found myself drawn to it. This led me to Unity and its Junior Programmer course, which is freely available on their website. From there, developing games became more than just a hobby; it became a passion. I relished the process of creation, and over time, I could see my coding skills sharpening.</p>
<p>In my role as a Systems Manager for a London-based startup, I applied my coding expertise, predominantly in JavaScript and Python, to customize CRM systems and integrate them with third-party platforms like route managers. This was essential for achieving smooth automation and minimizing manual intervention, reducing the potential for human errors. Being at a startup also taught me the importance of budget-conscious decisions. While this experience was both challenging and exhilarating, the thrill of bringing a game to life remains unparalleled for me. I deeply wish I could make a living from creating games, so I wouldn't have to juggle my time to work on my passion projects.
</p>
</section>
<section id="projects">
<h2>Projects</h2>
<!-- Plant Nurturing Game -->
<div class="project">
<div class="project-details">
<h3>Eden of Mars</h3>
<h4>Description</h4>
<p>Set in a futuristic settlement on Mars, players are thrust into the role of a colony manager responsible for ensuring the survival and well-being of settlers.</p>
<p>The paramount objective is food management. Players must consistently maintain and replenish food stocks to feed the growing settler population. Success hinges upon the efficient use of water and fertilizer, essential resources for agriculture. Without them, food production plummets, posing a dire threat to the community.</p>
<p>Beyond basic sustenance, the game delves into the nuances of settler health and morale. Diet isn't merely about quelling hunger; it's also about nourishing bodies. Players must guarantee that food supplies are rich in vitamins to keep settlers healthy. In turn, settlers' moods are influenced by their health, making nutrition a lynchpin for colony harmony.</p>
<p>A strategic layer is added with the cultivation of specialized plants. For instance, growing hemp is essential for producing textiles and ropes, integral materials for the colony's maintenance.</p>
<p>Visual indicators assist players, offering insights into food stock longevity. With foresight, players can make proactive decisions to avert crises. Furthermore, if the settlement flourishes with ample food provisions, missions become available to import more settlers from Earth, amplifying the workforce and driving colony expansion.</p>
</div>
<div class="project-video">
<iframe width="560" height="315" src="https://www.youtube.com/embed/A8qxkxlZUFw" frameborder="0" allowfullscreen></iframe>
</div>
<div>
<h4>Technologies Used</h4>
<ul>
<li>Unity: For game development and building the game's core mechanics.</li>
<li>C#</li>
<li>ChatGPT 3.5 (intended for later stages): Planned to be used for more dynamic and personalized challenge generation, rather than a hardcoded condition chain.</li>
</ul>
<h4>Challenges</h4>
<ul>
<li><strong>Resource Management:</strong> Designing a delicate balance between water, fertilizer, and food production to maintain settler sustenance.</li>
<li><strong>Health and Morale Dynamics:</strong> Integrating settlers' health and mood mechanics based on their diet and ensuring these factors directly impact gameplay.</li>
<li><strong>Dynamic Challenge Generation:</strong> Creating a system where challenges adjust based on settlers' mood without being too repetitive or predictable.</li>
<li><strong>AI Integration:</strong> Exploring the potential of integrating ChatGPT for personalized challenges and facing initial hurdles in setting up the API integration in Unity.</li>
<li><strong>Rapid Prototyping:</strong> Balancing between feature-rich content and the urgency to make the game playable as soon as possible. The developer decided to postpone the AI integration to a later stage to prioritize the game's core mechanics and playability.</li>
</ul>
</div>
</div>
<!-- Crowd Control Simulator -->
<div class="project">
<div class="project-details">
<h3>Crowd Controller Simulator</h3>
<h4>Description</h4>
<p>Inspired by the intricate crowd control barriers at airport security queues, I developed a Unity-based game that emulates these real-world navigation challenges. Players adjust barriers in real-time, creating a dynamic environment that serves as a maze. The star attractions of my game are animated sheep agents that navigate this maze.</p>
<p>These sheep, equipped with navMesh AI, adjust their paths intelligently, mirroring the way we humans navigate through crowded areas. They're not just moving entities; I've layered them with animations for actions like walking, turning, and waiting. Every time the barrier configuration changes, these sheep evaluate, strategize, and then move forward. The overall environment also features gates and a sophisticated lighting system, enhancing the immersive experience of the game.</p>
</div>
<div class="project-video">
<iframe width="560" height="315" src="https://www.youtube.com/embed/e6_xkcwSt1o" frameborder="0" allowfullscreen></iframe>
</div>
<div>
<h4>Technologies Used</h4>
<ul>
<li><strong>Unity</strong></li>
<li><strong>C#</strong></li>
<li><strong>Universal Render Pipeline (URP)</strong></li>
<li><strong>NavMesh:</strong> This served as the guiding system for my sheep agents, letting them traverse the ever-changing environment efficiently.</li>
<li><strong>Unity's Animator and Animation Controller:</strong> I used Unity's animation system to create animations for the sheep agents.</li>
</ul>
<h4>Challenges</h4>
<ul>
<li><strong>Lighting Issues:</strong> I struggled with the sheep appearing black in the Game view, even though they looked fine in the Scene view. After some tweaks with the Directional Light, I fixed it.</li>
<li><strong>AI Integration:</strong> Exploring the potential of integrating ChatGPT for personalized challenges and facing initial hurdles in setting up the API integration in Unity.</li>
<li><strong>Rapid Prototyping:</strong> Balancing between feature-rich content and the urgency to make the game playable as soon as possible. I decided to postpone the AI integration to a later stage to prioritize the game's core mechanics and playability.</li>
<li><strong>State Machine Behaviours:</strong> Unity's state machine behaviours, especially components like WaitingBehaviour.</li>
<li><strong>Animation Control:</strong>Ensuring seamless transitions for sheep animations, especially during turns and when the sheep initiate movement.</li>
<li><strong>Pathfinding Issues:</strong> Addressing instances where sheep didn't orient themselves in the direction of movement and sometimes moved sideways or bumped into barriers.</li>
<li><strong>Dynamic Path Costing:</strong> Implementing dynamic cost areas that adjust based on the crowding of sheep. This ensures that sheep opt for less busy gates, enhancing realism and strategy.</li>
<li><strong>NavMesh Complexity:</strong> Handling the rebaking of NavMesh during gameplay without halting the movement of the sheep.</li>
</ul>
</div>
</div>
<!-- Joke Generator -->
<div class="project">
<div class="project-details">
<h3>JoeKrakker the joke generator app</h3>
<h4>Description</h4>
<p>What began as a technical exploration into connecting with the GPT API took an unexpected and delightful twist. The outcome was "JoeKrakker", an app designed to bring a smile to anyone's face.</p>
</div>
<div class="project-video">
<iframe width="560" height="315" src="https://www.youtube.com/embed/OB4eLwPsKuE" frameborder="0" allowfullscreen></iframe>
</div>
<div>
<h4>Technologies Used</h4>
<ul>
<li><strong>Unity</strong></li>
<li><strong>C#</strong></li>
<li><strong>Unity's UI system</strong></li>
<li><strong>GPT API Connection:</strong> Originally, the app was designed as a test for connecting to the GPT API. However, it soon blossomed into a comprehensive joke writer, showcasing the power and versatility of the API.</li>
</ul>
<h4>Challenges</h4>
<ul>
<li><strong>Toggle Dynamics:</strong> The heart of JoeKrakker was the toggle system. Fine-tuning the toggles' behaviour to switch between joke categories was a considerable challenge, but it was vital for the app’s usability.</li>
<li><strong>Dynamic UI Generation:</strong> The user interface was designed to respond to the different joke categories. Ensuring that this dynamic generation was both efficient and visually consistent presented a rewarding challenge.</li>
<li><strong>State Management:</strong> I wanted the app to remember users' choices and personal customisations. For this, I employed dictionaries to maintain the toggles’ previous states, creating a fluid interaction process for users.</li>
</ul>
</div>
</div>
<!-- Timeles Nations -->
<div class="project">
<div class="project-details">
<h3>Timeless Nations</h3>
<h4>Description</h4>
<p>Future Project for PC/Console.</p>
<p>"Timeless Nations" is an immersive exploration and civilization-building game where players, representing an ancient cosmic race, traverse time and dimensions. Using adaptable avatars, players engage with diverse worlds, from alien planets to quantum realms. The mission? To guide native creatures towards evolution, fostering societies, and promoting interstellar unity. Emphasizing cooperation over combat, players can modify DNA, train beings, and even trade in a unique currency, "Krónotarr", in a vast multiplayer universe. Dive into a game where every leap offers a new world of possibilities.</p>
<p>The video below, is just an illustration of a possible world</p>
</div>
<div class="project-video">
<iframe width="560" height="315" src="https://www.youtube.com/embed/LzpXjjubShQ" frameborder="0" allowfullscreen></iframe>
</div>
<div>
<h4>Technologies Used</h4>
<ul>
<li><strong>Unity</strong></li>
<li><strong>C#</strong></li>
</ul>
<h4>Challenges</h4>
<ul>
<li><strong>Coming soon...</strong> </li>
</ul>
</div>
</div>
</section>
<section id="contact">
<h2>Contact</h2>
<div class="card">
<p>zsolt at wavedropper.com</p>
</div>
</section>
<footer>
<p>© 2023 by Zsolt J Bea. All rights reserved.</p>
</footer>
</body>
</html>