If you have the opportunity to use physics in developing a game, you should probably avoid it.

Jar Jar Binks Fan Club

#extradirty
Color Me Curious
KIROKAZE
todays bird
noise dept.

No title available
Monterey Bay Aquarium

oozey mess
YOU ARE THE REASON

Product Placement
PUT YOUR BEARD IN MY MOUTH
official daine visual archive
No title available
Cookie Run:Kingdom Official!
Sade Olutola

if i look back, i am lost
EXPECTATIONS
No title available

Origami Around

seen from Malaysia
seen from Myanmar (Burma)
seen from United States
seen from Mexico

seen from Malaysia
seen from Saudi Arabia

seen from Türkiye
seen from United Kingdom
seen from United States

seen from Iraq

seen from United States
seen from United States

seen from Iraq

seen from United States

seen from Malaysia

seen from Japan

seen from Malaysia
seen from United States
seen from United States
seen from Türkiye
@hauduyamaek-games
If you have the opportunity to use physics in developing a game, you should probably avoid it.
The Treachery of Rings- Escaping the consistency of Perlin Noise
Perlin noise is an algorithm very common in computer science- it is an algorithm designed to create maps of graduated floats that range between 0.0 and 1.0, maps that can be referenced by coordinate and thus used to add variety to textures, height maps, et cetera.
The primary advantage of algorithms like Perlin noise, simplex noise, et cetera, is that these variations can be achieved mathematically, rather than by a determinism based on a pre-existing state of input data besides the coordinates. However, the true beauty of these maps is in the ability to use them as a basis for more sophisticated algorithms. Data ranges of these 0.0-1.0 floats can be used to place objects, modulate other values, and so on. However, when they are used as height map data, typically they are either taken “as-is” and used to generate hills/islands or add subtle variety to manually-drawn maps.
Personally, I never liked to see it used to generate islands and hills. The problem I have with it is that, viewed from a macro level, Perlin noise is slightly too consistent.
Game design: Uncertainty, Conquering it, and the problem with JRPGs
I think a game is a specific kind of test, a safe one, where the player is asked to become a conqueror of uncertainty.
Uncertainty can take the form of randomness or anything else the player does not know. The mechanism for conquering this uncertainty is by creating order(as with puzzles and construction/creation games), or by destroying a source of unsafety(as with any given action game), or by exploring(as with an open-world game). So long as the player’s tools are made clear, and the conditions of their challenge are made clear, then simply asking the player to conquer uncertainty will result in a satisfying game. JRPGs have a problem in this regard.
What makes an environment fun to explore?
When I google things about level design, game environment design, and so on, I don’t see much in terms of mechanics. By and large, it seems those who have something to say about these topics are largely concerned with presentation. “How to draw the player’s eye a certain direction.” “How to make certain landmarks stand out.” “Visual appeal.” “Atmosphere.” But it’s not really in the vein of what I’m trying to discover: What is it about a certain environment that’s fun, aesthetics aside?
The only relevant discussion I’ve found so far is this bit(http://rampantgames.com/blog/?p=6986) by ‘Rampant Coyote.’ Coyote muses primarily on why exploring Minecraft is fun while exploring Diablo isn’t fun beyond the potential to get some new trinket by doing so.
This part in particular stands out to me:
If the world is largely “look but don’t touch,” I lose interest in a hurry. There needs to be more to exploration than just finding a path. Naturally, in Minecraft, almost everything can be interacted with – you gather it up, move it, reshape it, make stuff out of it. This is a reason I really didn’t warm up to Dear Estherlike I thought I would. It felt more like looking at somebody else’s photographs.
It’s similar to another thought I’ve been having: Why is the world of The Legend of Zelda: Breath of the Wild more fun to traverse than the world of Skyrim?
Now, let me first say that Skyrim is a wonderful game. Great fun! But, one aspect of the game where it’s not quite as good as Breath of the Wild is the simple goal of going from one place to another. I think Coyote’s notion about interactivity is a big part of that.
Sure, in Skyrim the world has its hazards and treasures, but there’s not much you can do to actually navigate it. Navigation in Skyrim is primarily a matter of “Okay, where the heck is the trail? Where is the part of the terrain that’s within the slope limit that my character is allowed to walk?” Breath of the Wild, by comparison, doesn’t impede you. A mountain in Skyrim is a wall, while in BoTW it’s a thing you can grab onto and climb up. A river in Skyrim is something you can walk through without even caring that it’s there or an impassible gorge, while in BotW it’s a thing you have to get over either by clever use of the ice power or by finding a nice location to glide over it, or else you could be swept far off the mark or drown.
And combat doesn’t make travelling in Skyrim better. In fact, if I see a combat encounter in Skyrim when I’m trying to get somewhere in particular, I get annoyed because it’s a hindrance to my travel plans. I gotta stop and fight this dumb bandit, delaying my arrival at my goal. in Breath of the Wild you can ignore enemies easily if they aren’t guarding some swag you want, whereas in Skyrim you can only ignore enemies reliably if you have a horse(I don’t really like horses in either game, by the way- they just feel like an obligation to stick to roads and easy trails, and they’re inconvenient to get and maintain anyway).
Skyrim and Breath of the Wild both have fast travel. But, BotW’s travel is far less convenient- you can only travel to sparsely-scattered shrines and towers, whereas in Skyrim you can fast travel to any location you’ve been to. What’s interesting about that is that I think BoTW would be worse if it had more travel locations, and Skyrim would be worse if it had fewer. All because walking from place to place in Skyrim is a chore rather than being interesting.
What this boils down to, I think, is a difference in stimulation. The environment in Breath of the Wild is more interactive and kinesthetically pleasing than Skyrim. It’s a subconscious puzzle, just like how wandering around in Minecraft can be pleasing. In Minecraft nothing is ever really in your way, it’s more like a complex obstacle course you can traverse with a little ingenuity.
Which is not to say that I think a game should never have walls or should always be open-world(Dark Souls, for instance, is relatively linear but all movement is interesting). After all, even in open-world games you can show the player something interesting in the distance and they’ll head toward it in as straight a line as they can manage. But, what’s between here and there needs to be a puzzle the player can solve slowly and subconsciously or else it’s boring, and if it’s boring it’s not really an adventure, it’s an errand.
What makes a good game?
A game should probably have four things: A sense of forward progression, some level of uncertainty or surprise, accessibility, and a challenge of some kind that can take the form of resource management, reflexive skill, explore-and-find, deduction, or any combination of the above.
There are probably games out there that don’t have all four of them, but I suspect that all widely-loved games share these qualities.
Forward Progression: The player should feel like something in the game is changing as a result of their actions, and that change should be permanent in some way. They could advance the story, increase the power of their character, or at least have some visual or auditory change occur over time. This enables a feeling of gain and accomplishment. Sometimes this feeling is enabled simply by the player getting a sense that they are themselves improving their skill at playing the game.
Uncertainty or Surprise: A game where the player knows exactly what’s going to happen isn’t much fun. There are games that are fun the first time, but then having been beaten the player will feel no need to pick it up again. This feeling is usually the result of a game either being unfair(in which case their frustration is a certainty and thus is not surprising) or the result of a game being centered around story or environment with no other variation. While uncertainty can be enabled via blunt randomness such as dice rolls, card draw, and procedurally-generated worlds, uncertainty can also occur as a result of player input.
Sometimes a player will enjoy playing a game they’ve already beaten because they are uncertain of where their skills have left off, and want to see if they can beat their record(which ties into forward progression, too). This is why games like Mario can still be fun to play even though there’s no real randomness to speak of intrinsic to the system(not to mention that in Mario and many other games, the state of the level depends on the way things are spawned in, often the result of the rate and timing that the player loads them via their forward progress). In multiplayer games, there’s an added level of uncertainty related to not knowing what the other players are going to do.
Accessibility: This is probably the most contentious aspect, and possibly the only one that can change outside of the game itself.
First, it is good design for any game to introduce its various mechanics piecemeal. A player should come to understand the basic workings of the system you are giving them before you ask them to use those mechanics in concert. This is why we have tutorials. You can ask the player to understand a vast amount of mechanics so long as each mechanic is introduced and presented in an intuitive way, and such that the complexity of the game increases gradually.
Sometimes, however, a game can be successful even when it is not perfectly accessible. Dark Souls, Dwarf Fortress, Crusader Kings 2, and many other games with rules that are deep and broad can find success. What’s interesting to notice is that these games became more popular over time after their initial release, rather than being immediately popular as many mainstream success games are. These games, in spite of their inaccessible nature, have become more accessible over time due to the internet and those who record information about the mechanics online. In other words, these games became better as a result of wikis, because they became more accessible to those who were willing to do google searches to find out how a given part of the game works.
While fan-operated wikis have proven to be a great way for new users to get into a dense game, it’s better if game designers take the careful steps to have the game provide all the information the player needs in a clear way. Budget permitting, of course.
Challenge: If accessibility isn’t the most contentious aspect of a game, challenge is. But before I touch on the controversies, I’ll briefly redescribe the types of challenges a game might have: Resource management, reflexive skill, explore-and-find, and deduction.
Resource management is a challenge of balancing things. I can exchange one thing for another. What’s the best way to do that? This isn’t just the mode of city building games, but any game where the player has something they must permanently give up in order to gain something else. Even RPGs and First Person Shooters usually have a little of this, either in the form of potions or ammunition.
Reflexive skill, naturally, is the challenge that tests the focus and motor skill of the player. Dodging, hitting, jumping, timing. This one is almost self-explanatory. What’s interesting is that this type of gameplay is usually the most punishing of all, and its tests are brief and fast and unyielding in their retribution. I like it, but I can see why not everyone would.
Explore-and-find is perhaps the most laid-back of all game mechanics. There’s a disorganized setting in front of you, and the player is either asked to find a specific goal or permitted to simply take in the details. Does not usually ask much of the player unless it is mixed with some other game mechanic. If mixed with resource management, exploring becomes about survival. If mixed with reflexive skill, it becomes a platforming game. If mixed with deduction, then finding the goal is much harder because it not clear where it could be.
Deduction largely amounts to ‘puzzle games.’ This mechanic is closely related to resource management in that it challenges the player’s logic and critical thinking, but the difference is that there is nothing inherently at stake. You might add a time pressure, but that begins to tread into reflexive skill on a mental level. A puzzle can be overt, such as in the case of any given Zelda game with its dungeons populated by various types of them, or it can be subtle, as in deducing the culprit of a mystery. Sometimes a puzzle can reflect a real-world challenge, such as building something to accomplish a task.
Right; with that out of the way, there’s a bit of controversy. There have been times when a game, found to be too challenging or at least more challenging than a potential audience likes might be reduced in difficulty after the fact. Often, this results in those who have mastered these higher difficulties to lash out. I think this is the result of an aspect of human psychology related to fairness...
Although it’s not logical, it’s the same psychology that makes people annoyed when they bought something expensive only for it to go on sale shortly after that. It’s probably also related to the idea of “having earned” an experience, and that offering an easier route after the fact makes the experiences of those who went through all that trouble feel disregarded, as though these newcomers don’t have the right to the same experience if they didn’t have to go through the same difficulties. Of course, this is not logical or humane. We shouldn’t force other people to struggle just because we have done so ourselves. But it is an aspect of psychology that clearly seems to exist, especially when it comes to things like experiences.
In games, I think this controversy is easily avoided by game developers including a very broad stripe of difficulty settings(or other means to surmount challenge such as by grinding) in their games. If the option is there from the beginning, the controversy won’t arise.
No, really, what kind of game am I making?
For a few days now I’ve been wrestling with the exact genre of my game. I know I want it to be story-driven, and I want other characters to feel like direct assets to the player rather than just being a cheerleading squad for a single player character. The trouble is, as I’ve touched on before, is that there really aren’t that many video game genres that are well-suited at having characters work together in a single-player context. And those that are, typically of the turn-based variety, are pretty unwieldy.
While before I was strongly dedicated to the idea of using a turn-based tactics system for my game, I realized that a turn-based tactics system is pretty cumbersome for small battles. In most turn-based tactics games, a single battle will be the time-equivalent of an entire level in a different game genre. I thought maybe I should then reserve tactical combat for boss battles, but the player really should have time to get used to the higher-stakes mechanics of the game, which is what little scrubby trash mobs are good for. But again, it seems like it’ll be really unpleasant for the player to go through the disruption and housekeeping that are virtually inherent to breaking out the tactics map just so they can beat up a filthpossum in the woods.
Another option I have is to use a more traditional turn-based combat system as seen in most jRPGs. Obviously I wouldn’t be satisfied with just using a vanilla “Select an attack and then it happens” type gameplay loop, but setting that(and potential improvements) aside for now, it’s worth considering whether this will be as harmful to the gameplay flow as tactics might be. While lighter-weight than a tactics screen, jRPG-type combat is less ‘organic,’ I feel. It’s less analogous to how people would probably behave in a combat situation, at least by modern understanding of how combat is conducted. And it still, albeit to a lesser degree, carries the trouble of interrupting the other half of the game(exploring the map) by yanking the player into another plane of existence.
By “another plane of existence,” I don’t really mean “a change in the visuals of the environment as if the characters have entered ~The Battle Zone~” or something, I more mean a change in how the game is functionally played. When a player character is navigating the environment, it’s natural to let the player control that character directly via the joystick or d-pad. But in turn-based games(as we understand them) the method of control changes. Suddenly everything is digital and/or indirect in the movement. You’re giving commands rather than taking control, and I feel that is an inferior way to give the player agency. It’s a level removed from the things going on.
Option three is to drop the turn-based aspect of it almost entirely. Imagine a platforming game where you have a selection of characters, and in some situations, the character gets tired and you want to swap in a new one. Let’s explore this idea, because it’s not totally free of problems.
First of all, it’s troublesome to have only one character active at a time because it implies in this context that they wouldn’t be active at all. At least in turn-based combat, you can see the other characters are right there and that their turn will come shortly. They’re ready for it. In our hypothetical turn-styled platformer, there isn’t an immediately obvious way to have them waiting in the wings. Will they be holding still while the bad guy stomps around? Will they be off-screen entirely, safe and warm in the face of this alleged threat? Will they be attacking on their own, begging the question as to why the player needs to be involved at all?
I guess the best answer would be to have them following closely behind the actively-controlled character, jumping and moving in close formation. It’s slightly goofy, but it doesn’t otherwise present any ludonarrative hurdles. Let’s say a tired character will wait to the side and our fresh characters will be in this formation. At least that’ll provide a nice visual clue to what your options are.
As for characters that are fresh and ready but the player doesn’t need to switch to yet, it seems unrealistic that they wouldn’t be doing a whole lot. Maybe they could have assist-moves(as with a fighting game) that they could do when commanded by the player.
The last problem is one worth considering. Presumably, if these characters are appreciably different, that implies that they would also have different abilities and thus control differently as well, even if it just pertains to the method in which they attack. Because our pretense of teamwork involves each character taking turns when tired, that means we would be forcing the player to adapt to a slightly different control scheme each time. I’m not sure that’s wise, at least in real-time combat. If things slowed down for our player while they acquaint themselves with the character, that might be something else.
Which leads me into option four: A closer hybridization of turn-based and platforming controls. Anyone who has played Transistor by Supergiant Games might have some idea at what I’m getting at. In Transistor’s combat, the player character can navigate along a non-grid terrain and select moves to use in whatever direction they’re facing, and the game keeps track of your moves and movement for each turn. Can this be adapted into a control scheme for multiple characters?
My immediate thoughts reflect the potential for fertile ground in this direction. Logically it shouldn’t be too hard to have characters move in around in this way and execute their actions simultaneously. I think the part that’s actually difficult will be how to handle evading enemy attacks. The enemies might telegraph their actions in the hypothetical pause of player move decisions, but will the player see exactly when the foe attacks? That seems like it might be too easy. Will they only see if the foe is planning to attack and not know exactly when? That seems a little unfair since their moves will be set in stone when they resolve the turn. Maybe the player could learn through trial-and-error roughly how long after the foe telegraphs their attack that they will strike and then plan out an evasive maneuver as part of that character’s turn movement.
Either way, this doesn’t resolve the problem of how to defend against attacks that occur while the player characters’ turns are cooling down. Maybe the player can pause during an enemy attack and give a defend order. There’d probably be a reaction time involved for the character so that the defense wouldn’t be guaranteed even if the player paused before the attack hit. This would reward the player for identifying the threat sooner.
The advantage over this entire system is that it would gel more easily with exploratory gameplay and with the type of one-hit trash mob that could potentially populate the world. But there’s a pretty considerable obstacle: This would be a pain in the ass to program, which is risky for a type of gameplay that I don’t know for sure would be fun. Luckily I enjoy a challenge... In this case I would have to think carefully about the code logic before I get in and start programming anything I would think I’d need.
At least I have option three as a fallback if option four is too complex.
If I didn’t try everything in exploring a game’s design... Well, I could hardly imagine how I would feel. I always explore as many possibilities as I can think of. If I end up where I started, it’s not discouraging, because if the novelty of a new design isn’t enough to sway me then that means my first idea was probably strong.
As a programmer, it often feels like digging through a giant stack of manure for a gizmo which does what I want, which may or may not be there at all. Apparently I find this satisfying enough to keep doing it.
How is the game going to be structured?
Although Unity provides you with a rendering pipeline and a great robust API, it doesn’t actually provide you with a structure for any given kind of game. It might be nice if they provided a basic framework for some common game genres for users to extend or even just use as examples, but the Unity team probably has enough to do already.
Once we know what kind of game we’ll be making and have a decent idea what kind of features to expect, it’s time to think about how to organize things.
There are many ideas about how the underlying architecture of games should be managed. But most agree that the less integrated each part of the game is with another, the better. This philosophy is known as “decoupling.”
When programming aspects of a game using object-oriented design, the programmer is sometimes tempted to take certain shortcuts. If an object does a certain thing, sometimes it makes sense for it to do similar things. And the more it does, the more tempting it is, in turn, to have other objects make direct reference to it. This can lead to the code becoming tangled up in itself. So, when something needs to be changed, all to often this results in a huge knot that needs to be combed out, cut out, remade. Basically, a small amount of laziness in structure can result to much bigger headaches later.
But with discipline and good design, it can all be avoided. One approach to decoupling is to have your objects and your data completely separate. That way, multiple objects can reference the same information without care for what other systems might manipulate that data. Remove one part, and the rest keeps going... Even if some odd result occurs. After all, that part you removed probably did something important.
But besides decoupling, we can think about Unity in particular and how it organizes things to be loaded up. It keeps active logical systems in context that it calls “scenes.” A scene contains world geometry, behind-the-scenes logic systems, characters, physical objects... everything that is currently active in a Unity game is probably held in a scene.
What’s nice is that we can have multiple scenes active at once. This is how we string levels together without need of a loading screen(although a loading screen could also be a scene in and of itself). But we could also hold non-level things in a scene. UI, common play logic and controls, and so on. Build them like layers, why not?
If I had to guess a “why not,” there might be some underlying scene overhead that I don’t know about... But I’ll accept that if it’s there, if it means a more consistent set of game logic.
What kind of game am I making?
Naturally, a game needs a premise. Some games are mechanic-driven, some are story-driven. My goal is to create a game type that is robust enough that I can tell many kinds of stories with it. But, I don’t think that novel gameplay needs to suffer at the expense of story.
So, I’ve decided to try and make, “like a jRPG, but with more stuff.”
Lots of people have trouble enjoying turn-based combat. I happen to be one of them. For those unaware, a jRPG (at least in the past) is typified by having turn-based combat where the choices the players make aren’t especially interesting. It usually amounts to selecting your strongest attacks to use upon a foe(via a menu screen, the characters act out the action without the player’s involvement otherwise) until the occasion rises that you need to restore your health instead(the same thing, but in reverse). It’s all very flashy and a bit cinematic, but unless as a player you’re truly invested in the story then you’re probably not going to feel entertained.
Which is not to say that jRPGs don’t have merits!
The jRPG format is robust enough to tell basically any kind of story you want with a large number of characters interacting with each other, working together, and sharing their side of the story and their growth as a character. That’s actually pretty hard to do in most video game genres. In games where you control only one character, it’s much harder to make the story weigh equally upon others unless you switch between them, and that itself is a texture that doesn’t lend itself to themes like teamwork. Furthermore, through turn-based combat, the story is more open to certain story beats and cinematic experiences.
So, I consider jRPG-style turn-based combat a mechanic, rather than core gameplay. A car needs more than wheels to take off down the highway, but it still needs wheels! So, it makes sense to me to make “like a jRPG, but with more stuff.” It’s been done before with great success. X-Com and many other tactical games are essentially jRPGs where the positioning of the characters matters. That’s an extra game mechanic. Undertale/Deltarune is a jRPG but with bullet hell aspects. These are great games, and personally I find them more engaging than Final Fantasy 9, even though FF9 is my favorite jRPG with my favorite characters.
Now, how do we get specific? We have to make decisions.
I definitely want there to be platforming. I think a jRPG where combat is resolved through platforming *could* work well if executed competently. My first instinct was essentially to clone the mechanics of Deltarune but change the bullet hell format to a platforming one(both player and enemy combat is resolved simultaneously with the player dodging attacks and making attacks of their own), but let’s explore the idea.
One of the things that is frustrating (to me) about turn-based combat in most of its incarnations is how start-and-stop it can be. Gamefeel should have a certain flow to it, like music. Music can vary in rhythm and even have some silence, but these are carefully chosen by the composer of the music. In some ways, jRPGs feel more like trying to listen to music, and every ten seconds someone hits pause, waits one second, and then unpauses it. This has a rhythm too, and one that’s deliberate on the part of the one interrupting the flow, but those things don’t mean it’s not annoying.
So, with that in mind, I have to think what it is that’s attractive about jRPGs in spite of this fact, whether we can get around it, and what it means for our jRPG-sidescroller hybrid.
Since jRPGs’ best strength is in character-team-oriented storytelling, we should find a way to let sidescrollers be about teamwork.
I think the *worst* way to do that would be to have the AI control the other characters while the player controls the main character. It makes me think of things like Kingdom Hearts or Sonic Boom, where the live-action combat has the side-characters also attacking. It never feels like they’re doing anything to add to the experience. Sure they’re helping to whittle down the bad guys’ health bars or they’re distracting the minions or whatever, but if you removed the minions, reduced the health bars, and kept the side-characters out of the picture, that just means the gameplay would be exactly the same. In other words, in games of that type, the side characters are there essentially for aesthetic reasons. At best they’re a distraction for the enemies so you can sit back and not play the game.
No thanks. What I want is a game where each new character feels like a genuine asset, one who has an effect upon the gameplay in a meaningful way. Let’s start by thinking about it like this: Letting the player choose what character they play. I think this is a key aspect. But tagging out isn’t exactly the same as teamwork, at least not in and of itself. The reason why might do this in real life is so we can take a breather, and eventually tag back in to let our teammate take a break of their own. Fighting games do something like this by allowing tag-team battle characters restore some health while they’re on the sideline. Great!
Can we go further than that, though? Logically, thematically, realistically, a character in a team fight scenario wouldn’t just wait around while their friend is getting their ass kicked. So maybe also the character should occasionally attack(again like in fighting games, these are called ‘assist moves.’). But the player should choose when they happen, because player agency is a good thing and should be enabled whenever possible.
So in short, what I intend to build is a game with jRPG sensibilities but with sidescrolling platformer mechanics and a fighting game styled assist system. This doesn’t tell the whole story, we can put riffs on it as we go.
Next I’ll talk about the actual game engine.
What is this blog?
This blog is a journal, essentially, for my ongoing aspirations of developing a game.
I’m an indie by definition, because it’s not my day job. I don’t even have a professional background in computers, but I can sling an algorithm or two anyway. I wouldn’t even go so far as to say that programming is my strongest skill- I’m more of an artist. I’m an artist who wants to tell stories but I don’t have the patience to write books, I failed at making comics, and getting an animation studio to hire me seems incredibly far-fetched.
So, it’s time to make a game. You can call me Bropocalypse. Let’s explore and study.