Tumgik
marble-blast-go · 4 days
Text
0.0.0.0 - 5.1 - Mines
Mines are what’s on the tin. If you touch them then they explode pushing the ball outward. What makes mines unique is that they focus on translation. There are two types of mines. Only one of them can change the ball’s rotation and that if the player wants it to. Mines can be turned on/remotely detonated using switches found on levels.
Im still considering using different mine strengths but I also worry about readability and the why? Like I feel i need to justify the added complexity. Ideally I would use one mine strength for everything I need.
Two mechanics I would like to introduce is the “bunny hop” and the “rabbit dash”(something something Pokemon). If you press [SPACE] right when the ball hits the mine then the ball goes way higher up than just hitting the mine while slowing down your horizontal movement. This is a bunny hop. Pressing [SHIFT] allows you to go much further at a much higher speed. But it doesn’t allow you to go much higher than a jump. This is a a rabbit run.
Sea mines
Named after their shape, Sea mines are mines that explode outward pushing the ball outward without changing its rotation at all. The direction the ball moves is determined by where they hit the mine. If you hit the top/middle of a mine you are pushed upwards. If you hit the side you are pushed more outwards or sideways than up. This compounds with the movement tech established.
Uses:
Sea mines, should be placed in places that make them a hazard
Land mines
Named after the anti-personnel mines from Halo and gears of war, this mine pushes the ball upward from all points, but affects the spin of the ball the farther out the ball hits the mine. The spin is always anti-parallel from the ball to the center. This spin is much faster if you use a rabbit dash.
0 notes
marble-blast-go · 10 days
Text
0.0.0.0 - 5.0 - hazards: Introduction
I think the biggest missed opportunity, MBG had was its lack of player-hazard interaction. The most obvious cases were the mines and bumpers. They were at face value the same with little use other than to be obnoxious. Not only do I want to avoid that - hazards were truly obnoxious - but I also want the player to see a hazard and wonder if it could be used in a short cut.
There are a few parts all hazards need to have. I want the player to consider them as a tool. I want them to interact with parts of the world and potentially unlock parts of the level the player didn’t have access to before.
While I think that power ups are nice, I feel like they should be true power ups. I think that these tools can actually be a great training tool for people who need help with the game, but I really would like there to be more world/platform interaction with the ball so that mechanics build out from each other.
Intractability
Interactabllity comes in three forms. Direct - when the ball directly interacts with the hazard ie jumping on it or touching it. Indirect - when the ball interacts with the world and changes something about the hazard. Situational - how the player deals with a level when a hazard is there. This is particularly important when the fastest route requires the player to avoid a hazard in their way or use a hazard outside of the main
Direct interactions
Hazards that push or pull the ball should be utilized to allow the ball to navigate large jumps. Hazards that can give the ball hight (tornado/magnet) should be used to give the ball more vertical access by allowing the ball to traverse upwards and downwards.
Indirect interactions
I think allowing the player to change the hazards introduce a lot of cool mechanics. What happens when you can change the hazards or take a route to reduce them? What if you can position them in a slightly more advantageous position
Situational interactions
This is the part where hazards may not make sense over all. For all players, because I think it’s boring if hazards are blatantly put in front of the player. Especially if this hazard is placed in the most straight forward path. I think placing hazards that boost new players while also adding a challenge to vets and vis versa is critical. I also thing it would be cool for new players to see a mine in a place that only makes sense if you understand the speed techs.
0 notes
marble-blast-go · 10 days
Text
0.0.0.0 - 4 - Surfaces
The interaction a ball has with each surface should be tight and impactful. The ball has several interactions with the ground that I want to build into the physics engine. Likewise the two important components to capture these effects are friction and elasticity.
Friction
Friction is how much traction the ball has on the surfaces. This effects how quickly the ball can build or change momentum on that surface, but it also impacts how much the spin of the ball changes the ball’s momentum on impact and how much colliding with the ball impacts the spin of the ball.
For instance a surface with a high grip will convert most or all of the balls spin into translational motion while a surface with a low friction will convert less of the balls spin to translational motion.
Elasticity
The surface will also have an elasticity that determinants how much the ball will bounce. Upon impact.
Some considerations
Mass: you’ve seen platformers where the protagonist can be launched by a moving platform, but have you considered that the protagonist can impart momentum on a platform?
0 notes
marble-blast-go · 14 days
Text
0.0.0.0 - 3 - Movement
Movement in Mbg is almost entirely build around an accurate physics engine. The ball has two degrees of movement: translational and rotational. Together they allow us to describe the physics of a ball. Most of the players speed and at times momentum will be stored in the ball’s rotational speed.
Controls
When a player presses one of [WASD] the ball does not move translationally. Rather it rotates in that direction and that causes the ball to translate in the direction the player wants to go.
In mid air the player can rotate the ball but some amoutn of angular momentum is converted to translational movement. <may remove>
Jump
Jump is the only time the player has direct access to translational moment. Pressing [SPACE BAR] shifts the ball upward allowing the ball to navigate 3d spaces. Jump can compound with hazards to create different techs. Jump whilst hitting a mine increases the hight gain while sacrificing some lateral speed.
Dive
If the player hits/holds [SHIFT] the ball becomes much more effected by gravity and the ball is able to spin faster in the air while sacrificing control over the ball laterally. Dice compounds with hazards.
0 notes
marble-blast-go · 14 days
Text
0.0.0.0 - 2 - The Ball
The ball, or “” is the player character in marble blast go. The ball has multiple several controls, attributes, and skins
Controls
[WASD]: move around. These controls impact rotational motion directly and may impact translational movement a slightly.
[Shift]: dive, increase gravity and spin at the cost of lateral movement
[Space]: jump. May increase spin slightly for a short duration.
[MOUSE]: look around.
[SCROLL]: change selected pickups
[LEFT CLICK]: I want it to chant the axis of rotation [WASD] effects.
[RIGHT CLICK]: use pick ups
Attributes
The ball has several attributes that affects the way the ball handles. Each one varies in intensity and gameplay should be designed to encourage players to invest in their ball.
Spin: the fastest the ball can move. This attribute also impacts how much translational effect the ball has mid air and how fast the ball can change rotation
Mass: this affects how fast the ball can accelerate in any given direction and how much the ball is effected by gravity.
Grip: this affects the ability to “grip” the surface. It effects how you interact with a lot of surfaces
Elasticity: this is much you bounce.
Jump force: how high you can jump.
Skins
Skins are just a cosmetic that change the appearance of your ball. I want to have one for every color, a few for the elements a few for marble blast titles. A few for some special contributors.
0 notes
marble-blast-go · 21 days
Text
0.0.0.0 - 1 - My plans
Marble blast go is a true 3d platformer that iterates on the stuff that marble blast gold has built. There are 6 guiding principles.
Readability
Emergence
Consistency
Momentum
Platforming
Speedrunning
Readability
One of the biggest problems with a lot of the marble blast gold and its derivatives is that many of its mechanics don’t quickly translate to useful tools in the players kit. Fans to tell the player the direct the will push the player unless the player knows where the fan is with map knowledge. Tornado and magnets don’t allow you to see what direction they move the ball around in.
I think we can iterate upon these mechanics with two different ideas. The first iteration implements better tutorials that allow you to understand exactly how the structures push the ball. This is specifically for the tornado and the magnet. Whose effect in the player is largely left to guesses. The second is better visuals that capture how the force fields act on the ball. I imagine using an arrow to point in the direction it’s being pushed.
Note: you might be able to change how you are affected by specific fields. You should be able to chase you pole or eliminate it entirely.
Emergence
The best part of platormers is the emergent gameplay. The mechanics that derive their effect from two or more intentional effects working together to form a coherent tool to add to the player’s toolkit. Ultimately I think it’s important that we design with emergent gameplay in mind. When I’m saying this I am specifically referring towards the way that spin impacts the ball and how the way the ball spins ultimately affects the ball’s physics even with interactables. I think that it’s imported to design stages to allow for players to skip parts with their game knowledge or to allow the to save their pickups.
This can be seen with the wall jump where the balls rotation adds to the complexity of the movement system and its the chief way that I want to add complexity to the game. Hazards don’t just move the ball around but change different parts of its total momentum/energy. Mines effect the translation movement of the ball were as bumpers effect the rotational as well.
Consistency
Consistency is here strictly because of @_patricia-taxxon. I do not want this game to fell like a kitchen sink modded Minecraft server with random bitd strewn about in the progression tree. I want this game to build on itself and force the player to ask questions about how mechanics interact with each other. I want to immerse players in a game that feels cohesive and put together in a way that feels unified.
Momentum
Speed has always been a critical part of platformers and MBGO isn’t an exception. We want the player to want to go fast, to fly even. More specifically, we want the player to be agile, able to quickly change direction without necessarily losing speed. This won’t necessarily mean that the ball itself will be agile but that the environment will be an element of the players movement technique. Powerups hazards even the environment should be utilized to push the player forward. Hazards shouldn’t just get in the players way, they should also be useful to the player.
Platforming.
This is the most important part of the genre. And there are four or so main parts
Exploration
Resource management
Pathfinding navigation
I want the player to explore levels to find resources and routes. I want the player to manage the pick ups that they get, and I want the player to develop routes and to reward skilled players with shortcuts that are only possible with specific techs.
I think that the one of the ways I’ll do all of this is by borrowing the checkpoint system from marble it up. I’ll use place checkpoints on the slowest routes and this will be explained to the players explicitly and directly through gameplay. The check points are designed to be used as a tool for exploration add testing but they can’t be used for speed running. The player is expected and even encouraged to abandon checkpoints once they get comfortable.
Another is that pick ups should feel special and powerful. Each level will provide enough tools to complete the level as expected but there might be more elsewhere on the stage that allow for some faster skip. I’m contemplating allowing some sort of progression. In the sense that you could allow people to carry saved pickups from previous stages.
Speed running
Half of marble blast gold is built on platforming but the other is speed. I want you to aim to eventually complete levels as fast as possible. Traditionally, gems have been used as a sort of hazard for getting a specific time, but I think that gems could be a bit more helpful instead. I want to place them in spots that are purposefully off the fastest route. I want to include separate scorew for collecting specific amount of gems in a given level. I’m also considering allowing the gems to modify the players end time in some way like removing a set percentage from the players score at completion or to increase the acceptable amount for any given score complete ie adding 5 seconds to the platinum ranking.
0 notes
marble-blast-go · 2 months
Text
What is marble blast go?
Marble blast go is an attempt to capture the potential of the marble blast gold engine with the fineness of modern hardware. I’m not really aiming to add anything that wasn’t in the original game or mods. At the same time this isn’t a remake or a remaster. I want a proper 3d platformer. I also want this game to have a platformser equivalent to some movement shooters. While there won’t be any guns - this is a platformer after all - I can’t help but take inspiration from titles like titanfall 2, doom eternal, and tiny wings.
This blog/project is directly inspired by Patricia Taxxon.
Will I have a kofi or Patreon?
For right now, no. I might consider it as soon as I have a proper framework, but I’m honestly doing it for fun.
Tags
Marble blast go: the general tag for all of my posts
Design documentation: these posts are about the under-the-hood view of the game. It won’t necessarily be a technical post but it will contain a lot of Java and code.
Technical document: this is a post about the math and physics.
Movement tech: this tag is for all of the movement tech I implement or discover. I will make most of the tech I find blatant or official.
Mechanics: posts about mechanics
The ball: a post about the ball
Update: tags for posts that feature updates
Pre-alpha: pre-alpha posts - no physical build yet.
Alpha: alpha posts
Beta: beta posts
Play test: playtest posts
Environment: posts about environments or levels
How I track games
I use four numbers 0.0.0.0. The first number describes what release we are on. Obviously 0 is prerelease and 1 is the release. The second number is for major updates which are new levels, reworks, or a combination of minor updates. The third is for minor updates which are intended as “individual” additions, like mechanics, items, and systems. The last number is for bug fixes.
All my posts
0 notes