Skip to content

Commit 10c9bd2

Browse files
committed
add(project-5): to uni
1 parent 7205994 commit 10c9bd2

File tree

3 files changed

+186
-76
lines changed

3 files changed

+186
-76
lines changed

_pages/about.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ social: true # includes social icons at the bottom of the page
1919
```arduino
2020
$ whoami
2121
```
22-
A passionate software developer, AI enthusiast, and student at XAMK, Finland 🇫🇮
22+
I am him. A passionate software developer and student at XAMK, Finland 🇫🇮
2323

24-
I'm on a journey of exploration in software engineering and artificial intelligence, with a special love for the open-source community and great music.
24+
I'm exploring software engineering and artificial intelligence, low level programming and linux, with a special love for the open-source community and great music.
2525

2626
```arduino
27-
$ nvim interests
27+
$ vim interests
2828
```
29-
Outside the box, you’ll find me living an active lifestyle, just chilling with friends or reading books. I run linux <span style="color: #CBC3E3;">Arch btw</span> on a <span style="color: #CBC3E3;">fancy Hyprland</span> desktop, I enjoy the concept of efficiency, customization, and availability.
29+
Outside the box, you’ll find me living an active lifestyle, just chilling with friends or doing sports. I run <span style="color: #CBC3E3;">Arch Linux</span> on a <span style="color: #CBC3E3;">fancy Hyprland</span> desktop, I enjoy the concept of efficiency, customization, and availability, but of course, healthy and active lifestyle is my priority.
3030

3131

3232

_projects/5_project.md

Lines changed: 182 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,190 @@
11
---
22
layout: page
3-
title: project 5
4-
description: a project with a background image
3+
title: Piracy RPG
4+
description: A strategic naval exploration and combat game with procedural generation and advanced software design patterns
55
img: assets/img/1.jpg
66
importance: 3
7-
category: fun
7+
category: uni
88
---
99

10-
Every project has a beautiful feature showcase page.
11-
It's easy to include images in a flexible 3-column grid format.
12-
Make your photos 1/3, 2/3, or full width.
13-
14-
To give your project a background in the portfolio page, just add the img tag to the front matter like so:
15-
16-
---
17-
layout: page
18-
title: project
19-
description: a project with a background image
20-
img: /assets/img/12.jpg
21-
---
22-
23-
<div class="row">
24-
<div class="col-sm mt-3 mt-md-0">
25-
{% include figure.liquid loading="eager" path="assets/img/1.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
26-
</div>
27-
<div class="col-sm mt-3 mt-md-0">
28-
{% include figure.liquid loading="eager" path="assets/img/3.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
29-
</div>
30-
<div class="col-sm mt-3 mt-md-0">
31-
{% include figure.liquid loading="eager" path="assets/img/5.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
32-
</div>
33-
</div>
34-
<div class="caption">
35-
Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
36-
</div>
37-
<div class="row">
38-
<div class="col-sm mt-3 mt-md-0">
39-
{% include figure.liquid loading="eager" path="assets/img/5.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
40-
</div>
41-
</div>
42-
<div class="caption">
43-
This image can also have a caption. It's like magic.
44-
</div>
45-
46-
You can also put regular text between your rows of images.
47-
Say you wanted to write a little bit about your project before you posted the rest of the images.
48-
You describe how you toiled, sweated, _bled_ for your project, and then... you reveal its glory in the next row of images.
49-
50-
<div class="row justify-content-sm-center">
51-
<div class="col-sm-8 mt-3 mt-md-0">
52-
{% include figure.liquid path="assets/img/6.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
53-
</div>
54-
<div class="col-sm-4 mt-3 mt-md-0">
55-
{% include figure.liquid path="assets/img/11.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
56-
</div>
57-
</div>
58-
<div class="caption">
59-
You can also have artistically styled 2/3 + 1/3 images, like these.
60-
</div>
61-
62-
The code is simple.
63-
Just wrap your images with `<div class="col-sm">` and place them inside `<div class="row">` (read more about the <a href="https://getbootstrap.com/docs/4.4/layout/grid/">Bootstrap Grid</a> system).
64-
To make images responsive, add `img-fluid` class to each; for rounded corners and shadows use `rounded` and `z-depth-1` classes.
65-
Here's the code for the last row of images above:
66-
67-
{% raw %}
68-
69-
```html
70-
<div class="row justify-content-sm-center">
71-
<div class="col-sm-8 mt-3 mt-md-0">
72-
{% include figure.liquid path="assets/img/6.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
73-
</div>
74-
<div class="col-sm-4 mt-3 mt-md-0">
75-
{% include figure.liquid path="assets/img/11.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
76-
</div>
77-
</div>
10+
## `Seas of Fortune` - Pirate RPG Adventure 🏴‍☠️
11+
12+
> Set sail on a digital voyage where strategy, exploration, and learning collide. Navigate dangerous waters, engage in tactical battles, and uncover procedurally generated island mysteries!
13+
14+
### `Game Concept`
15+
16+
*Seas of Fortune* is more than a game—it’s a showcase of advanced software engineering, built with `C#` and `.NET`. It demonstrates cutting-edge design patterns and AI techniques to deliver a rich and immersive pirate adventure.
17+
18+
### `Technical Architecture`
19+
20+
#### Advanced Design Patterns 🧩
21+
22+
The game incorporates essential software design patterns:
23+
- **Singleton**: Centralized control for core systems
24+
- **State**: Smooth handling of game states and transitions
25+
- **Strategy**: Flexible combat and AI decision-making
26+
- **Command**: Modular, extensible input handling
27+
- **Factory & Abstract Factory**: Dynamic generation of game entities, islands, and battles
28+
29+
#### Artificial Intelligence Integration 🤖
30+
31+
*Seas of Fortune* raises the bar for game AI:
32+
- Adaptive enemy behavior
33+
- Procedural generation of intelligent, context-aware game worlds
34+
- Strategic NPC pathfinding and decision-making
35+
36+
### `Feature Highlights`
37+
38+
#### Learn Vim While You Sail! 🧭📚
39+
40+
Master efficient navigation with our Vim-inspired HJKL control system:
41+
- **H**: Sail West ←
42+
- **J**: Head South ↓
43+
- **K**: Navigate North ↑
44+
- **L**: Explore East →
45+
46+
**Why it’s innovative:**
47+
- Build Vim navigation skills naturally through gameplay
48+
- Train muscle memory for efficient keyboard movement
49+
- Turn controls into practical coding skills for text editors and IDEs
50+
51+
By the end of your pirate journey, you’ll unconsciously master Vim-style navigation—an invaluable tool for developers and power users alike!
52+
53+
### `Page Layouts`
54+
55+
##### Exploration Interface
56+
```
57+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
58+
59+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
60+
61+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
62+
63+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
64+
65+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
66+
67+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ L ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
68+
69+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
70+
71+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
72+
73+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ B ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
74+
75+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ L ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
76+
77+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
78+
79+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
80+
81+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ F ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
82+
83+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
84+
85+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
86+
87+
Move the player ship (HJLK) or press Q to quit:
88+
```
89+
90+
##### Combat Interface
91+
```
92+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
93+
[ ][ ][@][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
94+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][E][E][I][ ]
95+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][E][ ][ ][ ]
96+
[ ][ ][ ][A][ ][ ][ ][ ][ ][ ][ ][ ][E][ ][ ]
97+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
98+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][E][ ][ ]
99+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
100+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
101+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
102+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
103+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
104+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][E][ ][ ]
105+
[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][I]
106+
[ ][ ][ ][ ][ ][ ][I][ ][ ][ ][ ][ ][ ][ ][ ]
107+
108+
Combat Log:
109+
Reward: 1500 Gold
110+
Reward: 60 Reputation
111+
Captain Jack Sparrow moved to position (1, 1)
112+
Captain Jack Sparrow moved to position (2, 1)
113+
Crewman Gibbs obtained Intricate Map.
114+
115+
Ship 1 Crew:
116+
Captain Jack Sparrow: HP 100/100 | SP 100/100 | MP 50/50
117+
Crewman Gibbs: HP 100/100 | SP 100/100 | MP 50/50
118+
119+
Ship 2 Crew:
120+
Davy Jones: HP 100/100 | SP 100/100 | MP 50/50
121+
Bootstrap Bill: HP 100/100 | SP 100/100 | MP 50/50
122+
Bill Turner: HP 100/100 | SP 100/100 | MP 50/50
123+
Maccus: HP 100/100 | SP 100/100 | MP 50/50
124+
Clanker: HP 100/100 | SP 100/100 | MP 50/50
125+
Victor: HP 100/100 | SP 100/100 | MP 50/50
126+
127+
Current Action: Heal
128+
Current State: Action
129+
Stamina: 100/100
130+
Magic Points: 50/50
131+
Ammunition: 1
132+
133+
Actions:
134+
1-4: Select action strategy
135+
HJKL: Move
136+
SPACE: Perform current action
137+
D: Enter defending state
138+
I: View Inventory
139+
E: Open Equipment Menu
140+
Q: Quit combat
141+
O: View Quests
78142
```
79143

80-
{% endraw %}
144+
### `Conclusion and Reflection`
145+
146+
Developing *Seas of Fortune* has been a rewarding journey in software engineering and game design, showcasing how advanced programming patterns and AI techniques can create an immersive and adaptable gaming experience.
147+
148+
Explore the technical implementation and adventures here:
149+
- **[Seas of Fortune GitHub Repository](https://github.com/Andebugulin/rpg_pirates)**
150+
151+
### `Fancy Feature: Procedural Generation Magic`
152+
153+
The game’s core magic lies in its procedural generation system:
154+
- Dynamic islands with detailed, context-aware terrains
155+
- AI-driven quests that adapt to player actions
156+
- Unpredictable, intelligent enemy encounters
157+
158+
Every playthrough delivers a unique, player-driven experience.
159+
160+
### `Learning Through Play`
161+
162+
*Seas of Fortune* blends fun with learning:
163+
- Master advanced design patterns through gameplay
164+
- Explore AI and procedural generation techniques
165+
- Build strategic thinking with complex game mechanics
166+
167+
Who said software engineering can’t feel like an epic pirate adventure? 🌊🏴‍☠️
168+
169+
### `Contributors`
170+
171+
<div id="contributors-list" style="display: flex; flex-wrap: wrap; justify-content: space-around; padding: 20px;">Loading contributors...</div>
172+
<script>
173+
async function fetchContributors() {
174+
const url = 'https://api.github.com/repos/Andebugulin/rpg_pirates/contributors';
175+
const response = await fetch(url);
176+
const contributors = await response.json();
177+
178+
const contributorsHtml = contributors.map(contributor =>
179+
`<div class="contributor" style="margin: 10px; text-align: center;">
180+
<img src="${contributor.avatar_url}" alt="${contributor.login}" style="width: 100px; height: 100px; border-radius: 50%; display: block; margin: auto;">
181+
<p><a href="${contributor.html_url}" target="_blank">${contributor.login}</a></p>
182+
</div>`
183+
).join('');
184+
185+
document.getElementById('contributors-list').innerHTML = contributorsHtml;
186+
}
187+
188+
fetchContributors();
189+
</script>
190+

assets/img/prof_pic.jpg

586 KB
Loading

0 commit comments

Comments
 (0)