Skip to content

Commit a9fa84b

Browse files
authored
Merge pull request #3 from belfargamedev/post-03
Post 03
2 parents bd4e343 + 733b87c commit a9fa84b

File tree

9 files changed

+87
-0
lines changed

9 files changed

+87
-0
lines changed
1.74 MB
Loading
179 KB
Loading
1.34 MB
Loading
21.5 KB
Loading
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
title: Exploding Marbles
3+
published: 2025-04-09
4+
description: "Which direction a exploding marble takes? We'll see"
5+
image: 'obsidian.png'
6+
tags: [Project Marbles]
7+
category: 'Game Dev Log'
8+
draft: false
9+
lang: ''
10+
---
11+
12+
_This week on "What's new with Project Marbles?"_
13+
14+
> I have no idea what I am doing 🐶⚗️
15+
16+
## First, a word from not our sponsors
17+
18+
I'd like to reserve some words to praise [Obsidian](https://obsidian.md). It is a great platform for note-taking and overall organization, helping with my chaotic way of life to have some structure via its document linking feature. I've been able to create a Game Design document and link every other relevant note to it, allowing for easy navigation within my project. It's a great tool and I encourage everyone to take a look.
19+
20+
But let's go forward and not allow ourselves be stuck on petty matters, and talk about what's **new**!
21+
22+
## Baby Steps
23+
### No more weird-shaped angled arena
24+
25+
One challenge that was hindering my progress on the dynamic of the battles between marbles was the need for the arena to have a central angled floor, in order to force the competing spheres to collide. But then, speaking with a cherished person of mine about this project, they made me remember one small, important fact: this was a **game**! It would not have to follow real world logic!
26+
27+
So back to [kenney.nl](https://kenney.nl) I went and looked for easy assets to create a simple yet appealing arena. And, as Kenney never disappoints me, I stumbled upon the [Prototype Textures](https://kenney.nl/assets/prototype-textures) pack with beautiful placeholder textures.
28+
29+
After a quick refactor of the first arena, now we had a charming squared sandbox environment to text our marble collisions!
30+
31+
![Sandbox arena with infinite bouncing marbles](bouncing_marbles.gif "Sandbox arena with infinite bouncing marbles")
32+
33+
Great! Now... how do we make it interesting? Let's take inspiration from the real thing...
34+
35+
### World Marble Championship
36+
37+
Excuse my ignorance, but I had no idea there was an annual World Marble Championship that has been staged - without skipping a year except for the Covid-19 pandemic - **since 1588**, and started during the reign of _Queen Elizabeth I_. That is a crazy old tradition for such a specific sport. And since 1932, it has been held at the [Greyhound Pub](https://greyhoundtinsleygreen.co.uk/) - a great place for Indian food, it seems, and "the only place in the world who can boast being the host of the world & British Marbles championship".
38+
39+
![Wally playing marbles at The Greyhound pub](wheres_waldo_marble.jpg "Wally playing marbles at the Greyhound pub")
40+
> Hope you were able to found Wally, this one was challenging.
41+
42+
### Where's Wally tangent
43+
44+
This picture triggered in me an urge to understand why in the United States Wally is called Waldo, and there is this information in the [wiki](https://waldo.fandom.com/wiki/Where%27s_Waldo%3F#Production), stating:
45+
46+
> When Handford first designed his leading man, he named him Wally - a shortened formed of Walter or Wallace but commonly used in Britain as a slang term for a somewhat spacey person. However the American publishers of the books felt the name would not resonate with the North American readers; so when the book was finally published there in 1987, the character was renamed Waldo (different name changes worldwide were made in other countries, such as Charlie for France and Walter for Germany, see the table below).
47+
48+
Among Charlie and Walter, the italian variation is pretty good too: _Ubaldo_, which has a totally different meaning than its british counterpart: it's a germanic name that signifies bold spirit. I mean, they are not exclusive, bold does not mean intelligent or prepared, but who am I to say something.
49+
50+
## Marble's Out
51+
52+
Some attributes for the animal marbles have been added, such as _life points_, _base attack value_ and the main pair of attributes for the entire battle dynamic: _weight_ and _bounciness_. But as you can tell from the above gif, without any movement, there would not be any battle.
53+
54+
That is a problem, but let us test adding a small push to them at the start of the round:
55+
![Push force example battle round](push_force_example.gif "Push force example battle round")
56+
57+
See that first collision of the orca with the duck? It stays still while the duck flies away. That was not the intended behavior I had in mind while creating the _push power_ attribute. Let us scratch that for now.
58+
59+
And there is another problem: eventually, both of the marbles just stay bouncing in place. Another friend of mine suggested adding a force or "wind" that pushes the marbles around, so let's try that, forcing them to meet at the middle:
60+
![Central force example battle round](central_force_example.gif "Central force example battle round")
61+
62+
It fixes the problem of a never ending match, but something is missing. Even though I like watching the marbles bounce around, something has to change. I spoke with another friend last week about this project and, while showing him the current status, I disabled by accident the gravity and it behaved as if we were looking from above, like a game of marbles, indeed.
63+
64+
I didn't like that view back then, but now it has grown on me. I believe it has a lot more to offer than the side view of the arena. So let's check that, zeroing the gravity to simulate an above view, with the initial push and a central focal point of gravity as well:
65+
![Above view example battle round](above_view_example.gif "Above view example battle round")
66+
67+
It is still very much crude, but I like the path it can go with this approach. There could be various "centers of gravity" and have bumpers, inclining towards a more pinball-like physics.
68+
69+
## Next Steps, or should I say... Rolls
70+
71+
I must say, this acceptance of the "airplane view" of the arena happened while writing this article, and I'm not sure how I feel about this game heading towards a pinball variant.
72+
73+
I loved playing [Microsoft 3D Pinball](https://alula.github.io/SpaceCadetPinball/) as a kid, as well as the GameBoy Advanced title, [Pokemon Pinball - Ruby & Sapphire](https://en.wikipedia.org/wiki/Pok%C3%A9mon_Pinball:_Ruby_%26_Sapphire) but I was not envisioning a pinball aesthetic for this project.
74+
75+
Is it a bad thing? No, just... Unexpected. I love the idea, and I'm afraid I'm more excited for this direction than the previous one, because it loses a bit of the "original idea" property, but I believe I can stand my ground on the innovation aspect.
76+
77+
I could not hold myself on trying a pinball arena for the current code, and...
78+
79+
![Pinball example battle round](pinball_failed_example.gif "Pinball example battle round")
80+
81+
Yeah, it's safe to say that I still have a long way to get a hold on how to implement what I'd like.
82+
83+
Stay tuned for more.
84+
85+
---
86+
87+
Thanks you for reading, stay hydrated and have a fantastic week!
261 KB
Loading
15.8 MB
Loading
1.71 MB
Loading
232 KB
Loading

0 commit comments

Comments
 (0)