• Welcome to droqen's forum-shaped notebook. Please login.

Gametober (31 very tiny games in October)

Started by droqen, October 01, 2021, 08:30:42 AM

Previous topic - Next topic

droqen

Day 5: COLOUR

I want to do some kind of interesting UNSEEN system that you have to learn, since I shied away from that yesterday...
Maybe potions/ingredients?
I don't want to make something that relies heavily on telling colours apart.


droqen

Notes (mostly unused):

"COLOUR."
unseen systems
the joy of finger painting
colour is seen; what does it mean for the systems to be unseen?
a system seen through a colour tint
(i.e. mostly you cannot see it)
but still: what is the system?
systems are better when seen. they need SKIN.

good health and spirits; ruddy complexion.

that which covers or hides the real character of anything; semblance; excuse; disguise; appearance.

to show your true colours.

applying paint to objects in the world; enemies attack things based on colour; including each other; including you (maybe you're always the bad colour)
HMM get away, get away from enemies
but how does hiding the real character of anything benefit you if you're not hiding it *from* something or someone...?

a colour: a reason: an influence, a flavour
a skin-centric system cannot be unseen. interesting. maybe it's not seen at first, but revealed later?

droqen

October 05, 2021, 11:18:18 AM #18 Last Edit: October 05, 2021, 11:42:11 AM by droqen
Quote from: ash kgod damn!!!!!
how do you manage to make high quality stuff so fast and so consistently?

[..] I gave a long-ish answer, which ash (correctly) paraphrased as:
so i guess the short answer is YEARS of practice?

I'm not really happy with this exchange because it seems like a very imprecise answer, and more importantly, not useful. Sure, years of practice, but everyone knows experience/practice makes you better. Surely that can be broken down further. Is there an answer I could give to how do you make stuff so fast and consistently that would help someone get on the right path of building up the experience to get there?

Breaking down the process of making this inky droqtober game (day 5!)...

1. Brainstorming ideas, eventually arriving at this idea: Bucket that you use to splash ink on the environment. Includes: TILE MODIFICATION ON HIT, and BUCKET IS AN AWKWARD PHYSICS OBJECT, and a little ONE-STICK SHOOTER. Also Splatoon inspo.

Past experience: I know how these subsystems work, how they feel, how to implement them.

- Modifying tiles in a tilemap is something I've done before.
- Awkward physics-ish objects, Rigid Bodies that like to stick to you but which you can push around and whose position you care about, has an interesting and particular feel.
- HMDL issue 0 was the end result of, like, months of experimenting with one-stick shooter controls, so that's also something I have familiarity with.

2. Implementation.

Past experience:

- Particles: The 'ink' particles use a lot of 'object particle' experience that I have. I was relying on this ahead of time; that is, I knew I could make ink particles that I would enjoy.
- Drawing tiles that I like (there are 5 unique ground tiles at various levels of inkage between 'fully clean' and 'fully black')
- In general, feeling comfortable with designing this kind of control scheme. Reading player inputs, animating things, etc.

Implementation had new things too! None of this is to say I didn't do anything new, but I wanted to sort of point out a bunch of specific things that I have experience with. New stuff:

- I didn't know exactly how I was going to do the inky droplets, and I'd never done anything like the 'squash' that happens at the end of their animation.
- I used a Path2D and PathFollow2D node pair to help me spawn the enemies around the edge. (I've sort of done something like this before in its separate components: I've done enemy spawning and I've played with Path2D/PathFollow2D nodes, but this was my first time connecting the two in a time-saving way. Very happy with how enemies spawn.)
- I have done sticky ground before, as well as 'entities that leave path behind them', but I came up with a novel solution for how to make the landscape change in a meaningful way. Your attacks ink the ground, and walking on ink makes you slow. Enemies also ink the ground as they move around. It is a bunch of familiar pieces (e.g. "TILEMAP MODIFICATION", as well as "READING NONCOLLIDING TILES AT THE PLAYER'S LOCATION") put together to create a particular dynamic that I'd never created in whole before.

^ That's all the VERY LONG ANSWER.

The very short answer that isn't "years of practice":

I'm familiar with a lot of mechanical implementations that dovetail well together, and/or that i am good at making work together. In general I feel like there are no absolutes and prefer a subjective perspective, but I think these are basically the same idea. Get familiar with building mechanics that you can re-use in novel contexts, and with mechanics that can work with each other.

As a counter-example, learning how to build a First-Person Character Controller and also how to build a 2D Platformer Controller do not really fit together in the same scene. You can build a game in which you do both of these things, but I don't really see them as mechanics that can 'combine' to create a larger mechanical thing.

Then, of course, to make games quickly/consistently, you need to actually put this 'mechanical library' into action. It's important to become familiar with a mechanical domain that you're actually interested in working with, and this is where learning how to build a First-Person Character Controller and also a 2D Platformer Controller comes in handy: if you don't know exactly what you want to do, this type of breadth will help you explore until you figure it out.

droqen

October 05, 2021, 11:51:35 AM #19 Last Edit: October 05, 2021, 11:56:17 AM by droqen
A little more detail about the particular familiarities I have. These might be useful tips, but the actual familiarity is composed of a hundred tiny little neuron-data-points, so even if these sound useful, reading them is not the same as getting experience just building stuff out of them. Work with your material. These I give not as quick shortcuts to expertise, but to give an idea of the type of thing which accumulates to become mastery.

edit: note: These are also just things that work for me. It's not just mastery as in 'good game design,' but mastery as in 'you already made all the taste decisions ahead of time.' What works for me isn't necessarily what will work for you, or your work!

- For low-stakes effects such as minor slowdown effects, it's almost always good enough (and even has some interesting softness) to grab whatever tile is under the player's center point imprecisely, rather than worrying about detailed collision.

- Building a world out of non-colliding tiles and then changing those tiles to ones that have different effects feels very good. Destroying colliding tiles also feels great. Adding colliding tiles usually feels a bit weird, and has tech issues (you can get stuck inside them) that are solvable, but take more effort and time. So, I try to avoid that.

- Changing tiles looks jarring unless you have some kind of effect happening overhead. It does not have to be a really great effect, but something needs to be happening other than a tile snapping from one tile to another. Examples:
-- Player walking over a tile changes it. Just having the player sprite partially obscuring the tile can work if the change is subtle, like crushing grass. The note above, "grab whatever tile is under the player's center point," totally applies here.
-- Particle effect (explosion, splash, dust cloud) obscures the change. It does not have to completely obscure the change, don't sweat it.

- I could go on and on about physics. One example type of movement physics that I use often goes something like this:
velocity = velocity * 0.95
velocity += dpad.normalized() * some_acceleration_value


- edit: Actually there is a better version I much prefer, since it gives me precise control over the resulting final velocity
velocity = velocity * 0.95
velocity += (desired_velocity - velocity).clamped(acceleration_value)
'clamped' is a Godot function that takes a Vector2 and just clamps it if it's too high. Very useful.

-------

OK! Examples over. Hold onto these types of things. Re-use them when possible, and as you get more and more comfortable with these little repeatable patterns and how they fit together, work to define your output in a way that lets you re-use these patterns as much as possible, while still producing work that is variable in the ways that matter to you.

droqen

DAY 6: SPACE

Wrote these notes when thinking about what to do. Didn't really come to any great conclusions!

"SPACE." and mayybe "spirit"
"To arrange or adjust the spaces in or between"
Space, as one of the classic seven elements of art, refers to the distances or areas around, between, and within components of a piece.
positive/negative. open/closed. a very abstract concept!
A small, insignificant player-character watches the night sky. I want you to be grounded as an individual! but... giving that sense of SPACE...

how do you win?
look at space. dead in space. space space space... lost in space...... cloud exile


-Thought about making a walking-sim scene with a big SPACE background but realized there was not much system/skin there, just presentation, so I knew I'd get stuck if I did.
-Played around with long jump lengths and acceleration. Got a neat bike platformer game out of it.

GAME 6.


droqen

As always, I kick it off with Webster's 1913 and a quick internet search for 'art element texture'. Also this one is gonna have to be fast.

droqen

realizing my take will have to be on thecatamites' text as texture, of course. wish me luck :x

droqen

Day 8. Value

Today I'm thinking about subjective value structures - what if you're playing an arcade game with multiple scoring systems, connected to individual characters with their own 'Value Systems'?
I have two related problems: 1. Conveyance, and 2. Content.

Problem 1. Conveyance

How do I make it clear why a certain character is giving you points while another is taking them away? The world needs choices subtle enough to make this kind of thing interesting, but... the individuals and elements that make up the world need to be a little trope-y in order for them to be readable at all.

Problem 2. Content

This is a highly abstract idea in my head; it's exploring the high-level concept of "value structures" without actually approaching what those value structures are. This is an idea lacking in content. I'm theoretically fine with creating abstract value structures which do not map to real-world value structures but...

a) It's harder, and

b) it may be less meaningful than referring to such existing structures? This is about having value structures, not what the values are themselves; can non-specificity really be that useful? Thinking about Anna Anthropy's criticism of Gris:
Quotegames whose narratives are metaphors often feel trite and insubstantial [..] using the limited and awkward vocabulary of (especially digital) games to tell a story about Depression or Grief or Mourning, it could feel safer and more appealing to abstract that story. but i think abstraction weakens these themes. [..] Grief is such a Specific experience, and there are so many different kinds. when you abstract (Grief as a whole, not This Specific Grief) you are universalizing the experience, and arriving at something that feels vague and intangible. i want to see Specificity in our stories.

droqen

Expressing values through 'systems' --- and NOT about the choices the player makes within the system, but just... presenting a system which draws attention to the concepts relevant to the values. Not prescriptive. Leave room.

droqen

I spent the last few sessions timing myself! I'm going to go back to my day 1-3 casualness and not record so much.

droqen

[Record of an unimportant moment.]


I'm playing with tiles (the idea of 'underwater magic', as a result of a yet earlier train of thought not worth recording) and placed these purple ones down and just looked at it for a moment and thought, "hey, maybe moving through a diagonal passageway with a sharp turn like that (indicated by the black arrow) could be fun."

Playing around with making games is absolutely full of moments like this, and documenting every one of them makes the process significantly less free. It's why I can't really stream game development, and why sometimes timers are harmful - it feels like there's a weird sort of pressure to 'only have good ideas' that I don't feel in other contexts.

This is by no means a good idea, but there is a chance that this idea, or one like it, will lead me to a good place. Who knows?

droqen

* And, having these ideas and chasing them down is some of the most pleasurable and productive and satisfying stuff there is. I say "there is a chance that this idea, or one like it", but what I mean is that any individual such idea has a chance. In aggregate, it is almost guaranteed that when I do get to a good place, the road was paved entirely with chance successes.

droqen

Money and magic:

I often want to play with strange resources, and money is one that comes up quite often. But, I realized just now why I don't like the way money feels. It's social.

Many other resources have the flavour of being a 'force of nature', but buying something from a person at a shop is more like a conversation, and I need to remember to treat it that way.

A transaction between people isn't magic or science: it's social.