Page not found | Thought Spike https://www.thoughtspike.com Independent video game studio Wed, 12 Jul 2023 17:49:41 +0000 en-US hourly 1 https://wordpress.org/?v=4.9.25 February Playtest: Gravity Lance FTW https://www.thoughtspike.com/february-playtest-gravity-lance-ftw/ https://www.thoughtspike.com/february-playtest-gravity-lance-ftw/#respond Fri, 11 Feb 2022 21:53:42 +0000 https://www.thoughtspike.com/?p=1131 We just wrapped up another play test, this one of epic proportion. This post is a progress update, but also some more generally applicable thoughts on how to best introduce new play mechanics and, in particular, core gameplay loop-altering abilities.

We had a second playtest in early January but it had to be cut off in the middle and we’re only picking it up again now, in early February.

General Thoughts on the Jan-Feb 2022 Playtest

Total gameplay time: around 7 hours, and that was to play through about the second half of the game. We had thought that we were offering about 6 hours of playable content, but this player started in the middle and played for 7 hours, and they weren’t particularly slow, and didn’t get particularly stuck. Probably fair to say at this point that our overall playable content is closer to 12 hours. Longer than we expected.

Our mechanics are reasonably solid, but the main outstanding problem is one of spell balance. The tester found two weapons that could solve any problem, and kept using them forever, even as solutions that would be more fun became available. Watching the tester play, I was struck by a set of lessons we’ve been learning the hard way for years. There is a solution to this. So let me articulate what we’ve learned and need to do to address that problem.

I use the term Spells below, but these rules are abstractable to any set of gameplay-altering abilities, tools, or weapons.

Observations About How To Introduce Gameplay-Altering Abilities

  1. Make sure that no single spell permits single-handed victory. In our game, the spells for Metal Form needs attention, as does Gravity Lance, and we need a stun or lock mechanic.
  2. Make sure that all spells rock-paper-scissors with a valid use and a valid counter. This forces pa
  3. Refine the loot/level-up sequence to make spell learning more incremental and satisfying and to make sure that spells are learned at the appropriate moments.
  4. Somehow isolate the spell learn moment to give the player time to experiment with their new tool regardless of what else might be going on. A few thoughts here:
    1. Don’t give people new tools that they don’t understand in places where they are under a lot of pressure to advance or cognitive load to solve. In areas where your players are under pressure to solve/advance they will not pause to practice a new tool (nor should they, the environment is asking them not to). Instead, they’ll pocket the tool, forget it exists, and never use it again even if it’s necessary to advance, at which point they will just get frustrated.
    2. Do give people tools that are evidenced in their environment: in an environment where enemies chuck bullets at them, give them the bullet spell. They won’t need to stop and experiment: they’ll have a pretty decent idea what it does.
    3. Don’t give people the answers to problems they don’t have yet. They’ll pocket it, forget about it, and then never use it again even when they need to. First show them the problem, then offer a solution they have to work to receive.
    4. Abilities should be gained as the satisfactory delivery of a player-motivated search for the answer to a problem the player has experienced. OR abilities should be gained in a place where they are required to immediately test it in a satisfying way that demonstrates its value.

If we can apply these lessons we should have a much better game.

Between the December and January Platests We’ve Added

  • Complete retooling of the shuffle zone with a new and very different advancement mechanic for the puzzle elements.
  • Complete retooling of the bounce zone with a new and very different advancement mechanic for the puzzle elements, specifically sweeping away with the last vestigas of the old republic er… I mean removing the bounce glyph from the universe and replacing it with something much better.
  • Complete retooling of the bounce divider for tighter iteration on the core learning experiences and delivery of a play space specifically tuned to the area above it.
  • Some tweaks to the Absorb spell to make rapid firing of it (without holding to aim) more intuitive. Playtesters were just firing it off a bunch of times rather than aiming it carefully, and we wanted to support that. Hopefully this works a little better.
  • Fixed a bug where monkey gods had each-other’s eyes. Eldritch horror.
  • Stability tweaks and upgrades to the damage system to make chunks more survivable in a high damage initial event and to make small debris behave more reasonably. It will never be reasonable.
  • Tweaks to the player’s movement code to make winged feet feel more impactful and to make jumping off ledges and landing on ledges a little more intuitive.
  • Changes to the lockable interface to allow locks to be broken.
  • It is now only possible to learn a spell part once from each turret.
  • New attack zone at the entrance to the tower. You can’t get in for free.
  • Added a falling block to ManaFall a la Tomb Raider. Still needs some fixup. Also substantial changes to Mana-Fall, expanded grid, more playspace, scratchings updates.
]]>
https://www.thoughtspike.com/february-playtest-gravity-lance-ftw/feed/ 0
December Update https://www.thoughtspike.com/december-update/ https://www.thoughtspike.com/december-update/#respond Sun, 19 Dec 2021 01:17:38 +0000 https://www.thoughtspike.com/?p=1122 We just wrapped up our December sprint and playtest. We’ll probably have another before January! Things that have changed since the October playtest…

  • Entirely new area to start the game, with new and improved geometry to define the process of teaching the player to navigate the core gameplay loop. This was a big project and the culmination of many months of planning and lessons learned from years of iteration on the old environment.

  • New opening cinematic, still pretty rough, as required by the new opening play start area. Still unfinished.
  • New spell study tooltip: a very tricky interface problem has been dogging us: how to clearly signal to the player that a glyph is available to be studied. Our stubborn desire to avoid non-diagetic interface elements at all costs finally gave way, and we implemented a “press F to study” popup that appears as you approach a glyph you don’t know yet. Our attempts to solve this diagetically weren’t nearly so successful. /sigh. Also changed the spell study mechanic so you don’t have to look directly at the spell, increasing it’s flexibility and making it hopefully more intuitive.
  • Various small tweaks to the first few cave areas to improve the overall gameplay experience, tighten the iteration loop for players as they learn the skills, and make navigation easier. In particular, care was taken to reduce the number of places that the camera boom bumps the wall geometry, as this can make players uncomfortable in a sort of nameless dread kind of way that they don’t know they’re even feeling but still hate. Lots of work still needs to be done on that point.
  • Some changes to spell experience costs.
  • Tweaks to 3×3 to (hopefully) make the secret chest more noticeable. (Didn’t work).
  • Complete redesign of the Siphon Heat spell so that it pulses three times instead of just once. This makes it a defensive installation that protects an area for a brief window.
  • Changed mana gem spending on Aura slots so that the aura slot is unlocked all at once, with the full gem cost paid all at the same time. This prevents players from spending fewer gems than the slot needs and therefor having fewer gems and also no new slot.
  • Lots of new etchings in the tower, including three new experiment etching sequences with lots of implied story.
  • New “lookout” areas in the divider zones to help you feel a sense of accomplishment as you scale the tower and can look out at the world to see how high you’ve come.
  • Lots of usability and quality of life code improvements, and some stability fixes to the level loading system.

General thoughts on the playtest: the new zone and learning mechanics worked very well, but our tutorial spaces are dragging on a little. We need to tighten up the presentation of the hors d’oeuvres so that we can serve the main course to an audience that’s not too full to enjoy it. The lack of a save system continues to haunt us. That piece needs to go in somehow.

As always, the biggest challenge for us as game developers is balancing the fine edge between healthy frustration (which maybe should be called ‘challenge’ and is what gives meaning to attainment) and unhealthy frustration (which leads to wanting to quit playing or, worse, table flip). Our next set of design discussions is likely to consider our spell casting interface. We need to lock down that core gameplay mechanic before we do any further iterations on level design with spells in later zones.

]]>
https://www.thoughtspike.com/december-update/feed/ 0
Pre-Test Anxieties https://www.thoughtspike.com/pre-test-anxieties/ https://www.thoughtspike.com/pre-test-anxieties/#respond Sat, 20 Nov 2021 17:23:11 +0000 https://www.thoughtspike.com/?p=1111
It’s playtest weekend! For the tester, this is a chance to explore a new game for a few hours and then talk about it with people who are desperate for their opinions. For devs, this is the test of all our hard work, our crucible, where all our best ideas will be casually bent and broken. The hour is nigh.

What’s changed since the last playtest:

  • An entire new zone of levels
  • Complete rebalance of loot distribution
  • Level loading and unloading logic, which didn’t exist at all before
  • Total rework of enemy AI
  • Countless UI and code improvements
  • Loads more secret areas
  • Very significant changes to the early-game “mechanic-learning” experience

And we did all that with plenty of time to spare, I promise. It probably won’t all burn down.

Leave your mark
]]>
https://www.thoughtspike.com/pre-test-anxieties/feed/ 0
October Update https://www.thoughtspike.com/october-update/ https://www.thoughtspike.com/october-update/#respond Fri, 29 Oct 2021 23:04:53 +0000 https://www.thoughtspike.com/?p=1106 This month we’re working on:

  • Generating more found-story content
  • Encounter balance in the early stages
  • Substantial updates to turret intelligence, including the capacity to defend themselves by targeting incoming spells
  • Ironing out the kinks in a new stage added last month
  • Scheduling playtesters for the end of this sprint, which is scheduled Nov 19

]]>
https://www.thoughtspike.com/october-update/feed/ 0
ThoughtSpike’s 2017 in Review https://www.thoughtspike.com/thoughtspikes-2017-in-review/ https://www.thoughtspike.com/thoughtspikes-2017-in-review/#respond Tue, 02 Jan 2018 22:06:56 +0000 https://www.thoughtspike.com/?p=1032 A quick look at all we’ve been up to in the year of surprises.

Work, unlike blog posts, has not ceased. While I juggle my day job, development, and existential horror, Reinan is a wizard who has mastered the “doesn’t sleep” potion recipe so, due mostly to his eldritch efforts, we have accomplished some wonderful things.

Stroll past the roll for a list of what’s online, fully functional and playable, with pictures!

Come on in!
Come on in!

Wizard’s Tower Checklist of Happiness

— Plus four to saves VS. the blues.

Quandry

  • About 8 hours of puzzle, platform and combat driven game-play.
    • About 2 hours of handcrafted environments.
    • About 6 hours of semi-procedurally generated (highly destructible and re-playable) levels.
    • Exploration based narrative throughout.

Fire

  • Fluid and responsive third person character controller with animations, idles etc.
  • Magic system in which every magic effect seen in the tower can be learned and used.
  • Twenty-eight unique spell effects and more to come.
  • Beta user interface for spell-casting and inventory of spells.
  • Environment destruction utilizing multiple damage types (fire & force for now, maybe more later.)

Battle

  • Beta sound-track with open source music.
  • Two playable characters with more to come.
  • Moderately polished look and feel, with custom shaders, mesh assets, lighting design and post-process effects.
  • Story content is about 40% complete.

TeamUp

Basically, the game is playable. For the first five hours or so it feels pretty finished! But big things remain to be done, so we keep another, more terrifying list of things we’ve yet to do:

Nemesis List

Pin to forehead to declare independence from the tyranny of sleep.

  • Come up with a better name.
  • Save-system. (Currently we have a pretty excellent player-driven teleport system that does almost all the work of a save system in a game that’s largely about getting places, but it doesn’t persist between play sessions).
  • More levels for our tower. Over the last year we’ve leveled up our level-up skills so each new level is literally and figuratively up.
  • Opening sequence. I don’t like to call it a ‘cinematic’ because I prefer prescriptive game-play over passive “watch me” sequences, but one way or the other the game has to set up its premise and hook the player to care. We have something working but I’m not satisfied.
  • The story climax and conclusion, which are second in importance only to the opening.
  • Original soundtrack.
  • More environmental design – this is flushing out the world with neat details like snow particles, moonbeams, and amusingly placed turds.
  • Optimization. This is on our white board as ‘Optimus-ation Prime.’ We’re a two person team, so this is a little bit of a never-ending story. There must always be an Optimus-ation Prime.
  • Reinan always wants to work on the spell system. What can I say? He’s a wizard. He likes magic. It’s a cool system. There’s always more to do.

Onward

We’re feeling pretty good with the road so far and looking forward to an ambitious target for a possible early 2019 release. Thanks for sticking with us and cheers to the journey. Up and up and away!

]]>
https://www.thoughtspike.com/thoughtspikes-2017-in-review/feed/ 0
Design, Build, Test https://www.thoughtspike.com/design-build-test/ Tue, 08 Mar 2016 06:00:13 +0000 https://www.thoughtspike.com/?p=872 We’ve been in a cycle of prototype – play test – bug hunt which any designer knows well, for it is the circle of life. It moves us all. Through despair, and hope, on the path unwinding. Or was that unending? Anyway here’s my illustration of the cycle of unnatural selection:

An illistration of the human condition as a cycle of designing, building, and testing.Until it becomes:

Illustration of the circle of life, if you happen to get something right.
Lo, the mortal condition.

But now we’ve settled on the core mechanics. Tastes like victory!

So we’re taking a step back to design out all the bits and pieces of the game and its systems:

  • The Tower geometry, which is a procedurally generated three dimensional moving puzzle.
  • The Spells, which are how you level up your power and interact with the tower.
  • The Monsters, which are limited AI, a thing we’re trying hard not to do too much of.
  • The Loot, mostly hats and other cosmetic enhancements, plus spells, listed above.
  • Damage and Destruction, because much of the tower can be destroyed.
  • The Story, because yes there’s a story.
  • The Payoff, i.e. what happens when you get to the top.
  • The Character(s), because so far we’ve been ignoring this and using the default UE4 third person mannequin.
A screen grab from a demo level showing the default UE character model with a rust material.
We’ve taken to calling him Turdman. This is not a final designation. More of a working title. When we’re done, there will be both male and female versions. Also, they will not be turd-people.

We’ve already worked on almost all of these to some degree, and with results we’re very happy with. But the time has come to lay out the grand vision and make sure everything lines up. So this week we’re drinking even more coffee than usual.

  • Design: powered by coffee.
  • Build: powered by coffee and fear.
  • Test: powered by beer.
  • Success: powered by ???

Once we’ve finished the big design discussion Reinan will begin a sprint of systems implementation in the code and I’ll get started on the Character model and animation because those are both things we can’t help each-other with.

So next up for me, blunder my way through the brambles of design – build – testing the character concepts I have in mind. It’s nice to start from scratch on these sorts of projects because your wild optimism means you have no idea how much work it’s going to be.

You need that optimism. It’s a critical resource. The whole cycle is fueled by it. To keep mine up, I focus on small victories, make sure to get enough sleep at night, and rabidly consume speculative art (including video games). It’s one of the things I think games are good for, in principle if not always in practice: offering an empowering experience to help you think better of yourself and future prospects. Sure that can become an addiction, but it might also be a critical service. So much the better if you can stretch your mind, expand your field of experience, and maybe even learn something along the way.

So what do you think? Can game playing help the design cycle and improve our lives in ways beyond escapism and entertainment?

]]>
Wizard’s Tower Still Breaking Our Brains https://www.thoughtspike.com/wizards-tower-still-breaking-our-brains/ https://www.thoughtspike.com/wizards-tower-still-breaking-our-brains/#respond Wed, 03 Jun 2015 17:59:24 +0000 https://www.thoughtspike.com/?p=803 A month has gone by since we started our new prototype. Reinan had a little break to go visit family over memorial day weekend. I spent the time gaffing for a small but very cool independent film. Now we’re back in, and we’ve chosen to continue prototyping our new platforming mind-bender, working title: Wizard’s Tower. The concept is good, but there are details that need to be attended to before we’re confident it will actually sell.

ScreenShot00005In this early phase, we spend our days working out game mechanics and roughing them into the engine. Then we test them to see what works, what doesn’t, and what’s needed. We expect we’ll be at this for a while before we’re happy, or until we come to the decision the prototype should be shelved for a new one. The thing about prototypes is not all of them work. That’s why you have to; you have to pick up the slack. Every idea that doesn’t work, you make two new ones. You’ve got to stay focused. Fortunately, we have a help there:

“There are too many distractions in life, but for everything else, there’s coffee.” -Reinan, aka The Blue Wizard.

]]>
https://www.thoughtspike.com/wizards-tower-still-breaking-our-brains/feed/ 0
Black Nectar https://www.thoughtspike.com/black-nectar/ https://www.thoughtspike.com/black-nectar/#respond Wed, 03 Jun 2015 17:19:15 +0000 https://www.thoughtspike.com/?p=801 There are too many distractions in life, but for everything else, there’s coffee.

]]>
https://www.thoughtspike.com/black-nectar/feed/ 0
Prototype Underway https://www.thoughtspike.com/prototype-underway/ https://www.thoughtspike.com/prototype-underway/#respond Sat, 09 May 2015 01:25:08 +0000 https://www.thoughtspike.com/?p=777 Two weeks into prototyping a new concept: Procedural moving wizard’s tower becomes platforming mind-bender. Playtest going strong – one of the play-testers unscripted remarks, speaking to me while playing: “I hate this so much. No, go away. I must win it.”

It started two weeks ago as an exploration of a new engine, for our own gratification. We’ve been developing for the last two years using an ogre based engine Reinan built. But recently Epic Games has made their Unreal Engine available to developers at no up-front cost. So we thought we’d check it out. Now, after two weeks of prototyping in Unreal, and lots of grumbling from Reinan, we’re pretty happy with what we’re seeing.

“UE4 is a post-process zoo,” says Reinan, between complaints about ‘Blueprint,’ UE4s visual scripting interface. Being good at regular code makes visual scripting systems like Blueprint feel slow to him. That’s not surprising, the visual systems are designed for artists like me to be able to accomplish tasks normally reserved for programmers.

A random sample of cobwebbed logic and data nodes in Blueprint.

Blueprint gives me far more power than I had before. I can design basic play mechanics and events – like give the character a new ability, or set up a scene to play out at a particular moment, or change how the character moves. Most of these sorts of tasks would have had to be handled by Reinan before, or in collaborations that demanded his time. Now have to I ask him to do things way less often, but the things he does on his own are accompanied by some grumbling.

When he talks about post-processing, he means the screen effects like lens flares and motion blur which are handled after the basic geometry of the scene has been rendered. Reinan has a special fascination with cutting edge techniques in post-processing. If left to his own devices, he’ll default to finding creative ways to make the game look really good. I find this an acceptable habit. The zoo remark means he’ll probably rewrite all of the default post-process effects in Unreal. That’s fine. We can make them better.

Now we grapple with the question of whether to return to our last project, or move on with this prototype and consider polishing it to a finish. Either option is a roll of the dice, but at the moment, we’re feeling good enough about the new prototype to open up a 2010 bottle of Goose Island’s Sofie, a Belgian style bottle-aged ale Reinan’s been hoarding since the date on the label.

“That’s five years of patience you’re drinking,” Rainen says.

It’s amazing to think we’ve only been working on this project for two weeks.

 

]]>
https://www.thoughtspike.com/prototype-underway/feed/ 0
Friction Coefficients for Bullet Physics https://www.thoughtspike.com/friction-coefficients-for-bullet-physics/ https://www.thoughtspike.com/friction-coefficients-for-bullet-physics/#respond Wed, 27 Aug 2014 20:45:13 +0000 https://www.thoughtspike.com/?p=693 Friction is fractious. It’s a bear to work with, but you’ve gotta do it if you want physics to look right. I’ve had to do some annoying busybody work to deduce proper values, so I’m sharing those values and my process to arrive at them in the hopes of saving somebody else some time.

Note: Here we’re discussing the Bullet Physics Engine, not the physics of small gun projectiles.

Friction in Bullet Physics

Bullet defines friction with a coefficient value per object. Ranging from 0 to just over 1, this value defines how strongly friction applies to that object.

A value of 0 is no friction (wheeeee!) a value of 1 is high friction.

no-friction, frictionNote I said it gives a coefficient per object. By definition friction happens when two objects rub into each other. So the coefficient per object only ever matters when there are two objects and thus two coefficients. Bullet calculates the friction of a collision by multiplying the coefficients from the two colliding objects.

No-friction-friction-part-2The objective:

Find friction coefficient values for each game object that are accurate enough to real life to not break suspension of disbelief.

The problem:

Bullet doesn’t model real life.

In real world physics, the coefficient of friction is not per object, it’s per combination of objects. For example, an iron sword has a different coefficient of friction when rubbing against a steel breastplate than against an iron one. This makes sense, but the difference isn’t entirely due to the different coefficients of steel and iron. To get real world values, Iron’s coefficient would need to change depending on what it was interacting with.No-friction-friction-part-3Example:

Drawing on this list of measured friction coefficients, we get a few useful values but cleaning them up for game use is going to take some work. We’re going to have to make some assumptions.

Steel x Steel = 0.5-0.8 (let’s assume a middle value of 0.65),

Mild Steel x Cast Iron = 0.4 (not sure what mild steel is as compared to the steel tested against itself. Lets assume they’re close to the same.)

Cast Iron x Cast Iron = 1.1

In bullet, if you had a steel object rubbing against a steel object you could define each of their coefficients as square root of 0.65 or 0.806 and it would calculate the coefficient as 0.806*0.806 = 0.65, accurately producing the real world value.

For cast iron, using the same process, you’d have to define the object’s coefficient as a value of 1.048 to get two cast iron objects to interact with the real world value of 1.1.

But then when you rub the cast iron object with it’s value of 1.048 against the steel object with its value of 0.68 you get 1.048 * 0.68 = 0.712, not matching real world tests which measure that value as 0.4.

In other words, bullet’s solution of a single value per object doesn’t match reality.

Solution:

We don’t want to rewrite bullet to check what kind of surfaces are interacting and look up a perfect value. That would be silly. We don’t need ‘perfect,’ we just need ‘believable.’

I decided to simplify the tables of measured real-life friction values, and then come up with a list of game values that calculate closely to the real-life values. The objective is to have the smallest possible margin of difference between the values bullet calculates on collision and the measured real-world values, bearing in mind that the way bullet does it will never yield perfect results.

I harvested real world friction values from here, here, and here, and produced the following table:

Brick Brick 0.65
Brick Hard Metal 0.4
Brick Leather 0.8
Brick Soft Metal 0.5
Brick Stone 0.6
Brick Wood 0.6
Hard Metal Hard Metal 1.1
Hard Metal Leather 0.6
Hard Metal Soft Metal 1.05
Hard Metal Stone 0.58
Hard Metal Wood 0.491
Leather Leather 0.7
Leather Soft Metal 0.4
Leather Stone 0.5
Leather Wood 0.61
Soft Metal Soft Metal 1
Soft Metal Stone 0.45
Soft Metal Wood 0.3
Stone Stone 0.6
Stone Wood 0.62
Wood Wood 0.4

Note: the values in yellow are my best guesses, necessary to fill out the table, but not based on actual tests.

These are the target values. We need to find “per surface” values so that bullet’s calculations arrive as close as possible to these marks.

I set up a spreadsheet to test an array of arbitrary values for each surface against these target values

I used two metrics to measure the accuracy of my results:

  1. The average variance from what bullet calculates to the real world values
  2. The number of bullet calculated values whose difference from real world is above 0.1.

This second metric is because it’s possible to have a large number of bad results cancel out to an average difference of 0.

Then I input arbitrary ranges for each of the selected surfaces and watched my metrics. I selected the set of values with the smallest possible average variance and number of bad results.

Results:

This is what I came up with:

Brick 0.9
Soft Metal 0.555
Hard Metal 0.84
Leather 0.8
Stone 0.75
Wood 0.7

Using these values will result in an average variance from real world values of 0.026, but the friction values between hard metal and soft metal will be too low (calculating to 0.58 instead of the observed 1.05. Hard metal on hard metal and soft metal on soft metal are also too low, but giving them higher values makes their interactions with other surfaces much worse.

Note that these values will change if you use a different set of common surfaces. We’re working in a dark ages type environment so this set covers most of our basic needs very well, but if you wanted to add say, ice, which we don’t have, you’d come up with different values for everything else.No-friction-friction-part-4Also, the average variance inevitably goes up as you add more surfaces.

The takeaway here is that while bullet won’t ever reproduce reality exactly, it can get pretty close for a narrowly defined set of materials. I suppose you’re also welcome to take away the values I’ve generated, but unless your set is exactly the same as mine, these values may not be optimal.

I hope this is helpful to someone out there. Feel free to comment with any questions or suggestions. Always happy to talk shop.

Cheers!

]]>
https://www.thoughtspike.com/friction-coefficients-for-bullet-physics/feed/ 0