May is Month of Indie Games?
Hades 2 came out yesterday.
Braid, Anniversary Edition on May 14.
Isles of Sea & Sky just announced release on May 22.
What other good things are coming out this month?
https://t.co/vQhYfVA2F5
Ok this might not look like much but I've got seamless patch blending! Some of the patches are projected (like the grass and the water) and some are manually UV-mapped (like the shoreline). With some good textures and some height based blending this is gonna be great.
Follow-up (also first draft!)
I said that *most* particles in Braid are handled
in a fully deterministic way, where they are regenerated
every frame and apart from that mostly don't exist.
But when I got to World 6, I needed something else.
I wanted particles that helped clearly illustrate
the slowdown effect of the ring.
But the ring is under your control. You can take and
drop it any time. So if it slows down the particles,
there's no way to represent those particles' positions
across time in closed form,
which means we'd need some kind of storage for them.
If the ring doesn't slow down the particles, that makes
the game weaker, so I wanted to come up with a solution
for this.
You might imagine that we could *often* represent
particle positions in closed form. After all, a lot of the time,
the ring isn't even placed on the level. When it is placed,
if it is there for a long time, many particles will have
their entire lifetimes occur with the ring at one constant
position, which means they could be done in closed form.
But again, this doesn't hold up in other situations.
What if the player happens to pick up and drop the ring a lot --
do you want the game to perform substantially worse,
just because the player is *playing*? Or, what about the
times when the ring is not stationary -- when it is
riding down the elevator in Elevator Action,
or falling freely in In Another Castle?
Restricting the ring so it can't move would be weak.
Having background particles that don't show the ring's
slowdown effect would be weak.
So I bit the bullet and stored the positions, *for some
particles only*.
For World 6, I introduced a new kind of particle emitter
called the Rainmaker, which drops the snowflakes that
make the most prominent motion. There's only one Rainmaker
per level, and it has an optimized loop that saves out
the positions of these particles in a tightly-packed,
efficient manner, so we can save a fair number of these without
too big an impact on the rewind data.
(Yes, the Rainmaker drops snow; it used to be rain, but
we often don't rename our entities when the cosmetics
of the game change!)
Besides packing them efficiently, we just make sure
there aren't too many snowflakes to begin with. We just
want to use them to visualize slowdown, so they are
distributed through the space enough that we get a
moderate density of them everywhere, but, we don't
rely on them for the most compelling visuals.
Behind the snowflakes, we still have lots and lots of normal Braid
particles, but the art style of World 6 is tuned
so that these particles are subtler than in other worlds,
and to move more slowly, so you don't really notice
that they are not affected by the ring. The snowflakes
tend to be much louder in the player's attention.
By doing this we are able to achieve our goal.
Note that this was a hybrid of technical solution
with purposeful art direction -- a lot of the best
problem-solving in games happens as a fusion of
multiple disciplines. It's a good idea to always
view your problems in a holistic way, in order to help see
how to bring the different disciplines to bear.
#b3d tip: The release of Blender 4 saw some keyboard shortcut changes in Sculpt Mode.
In this updated video, we look at how and when to use voxel remeshing during sculpting, using the new shortcuts.
More tips & video course, e-book and free sample e-book:
⇨ https://t.co/R5x0HXPoIR
If you want to improve, then join those discords you're afraid to join. Post your work for feedback. Save their images for constant reflection and inspiration.
These are a few I know who have great discords:
@WardogStudios@DiNustyEmpire@polycount@marmosetco@GACDiscord