[HELP] I am lost with my game's design.

Hello everyone,

So, for my second semester, we had the “signal” as theme. My team mate and myself decided to take on light as type of signal.

The idea concept goes like this :
The player finds himself in a pitch dark space, you’re lost in darkness. The player can fire “light balls”. When a ligh ball collides with a surface (pillars, staires and walls), they emit light, to light the space and guide the player to find his way out.

This is out core system.

Problem is: it’s too “easy”. The player only needs to keep firing light balls against these “sensitive” surfaces in order to illuminate the space and find the way out.

For the game’s proposition, I thought of a Puzzle Platformer. Like Portal, and some inspiration from the game “RenaissanceE”.

In terms of Rational Game Design, I’m really lost. I don’t know what to do. I don’t know how to proceed. It seems like the player will lose interest.

Can someone help?
If it could help, I could upload some gameplay videos to show off what we have in the core system, so far.

Thanks

I think some videos might help, yeah.

Problem: The player can fire too many light balls.

Analysis: Don’t let him.

Solution: You have a limited number of light balls. (That’s what she said.) Every time you fire one, it takes a certain amount of time to recharge. This time is longer as you use them.

Since this is a student project, and you’re lost, I’ll make a quick reference implementation here which I have not tested in any way at all. I am just typing from memory and may not even be using the right syntax. This is just to give you something to debug.

Imagine for a moment that you have a limit of five balls. You fire one, and it will be two seconds before you regain that one ball. You fire another, and it will be four seconds before you regain that one, and the rest of the two seconds before you regain the first. Your last ball is reduced in power by the amount of recharge. We’ll need four variables to make this work.

public int maximumBalls = 5;
public float rechargeSeconds = 2.0f;
public int currentBalls = 5;
private float currentCharge = 1.0f;

In your Update() method, you charge up the balls like this:

if(currentBalls < maximumBalls) // only recharge under max ammo
{  // algebra on word problems! YES IT WAS USEFUL
    currentCharge += Time.deltaTime /  // Divide frame time by...
        ( rechargeSeconds * // two seconds per...
            ( maximumBalls - currentBalls ) // ball less than maximum
        );
    if(currentCharge >= 1.0f) // If we're done recharging...
    {
        ++currentBalls; // Add one ball
        if(currentBalls < maximumBalls) // if we are still charging
        {
            currentCharge -= 1.0f; // subtract the full charge
        }
        else
        {
            currentCharge = 1.0f; // cap the charge at full
        }
    }
}

All the rest of your Update() method can stay the same. Now, when the player fires a light ball, you simply wrap that code into an if(currentBalls > 0) { } block and --currentBalls somewhere in there. If you want the light balls to be dimmer based on the charge status, you can multiply your light’s intensity by the currentCharge when you instantiate it. If you don’t, well, don’t do that.

Most importantly, play with this and use player feedback to find what makes the game the most fun. Tweak and poke at the system until you’ve made it as good as you can manage.

And don’t be afraid to throw it out if you have a better idea. It’s your game.

3 Likes

Look up The Black Swan for some quality reference - as this idea is nearly identical to it’s core system.

Each time the player start the map is different (generated procedurally). The player has a limited amount of energy in the ship. The light radius is low and lower when energy go down. Can launch a laser that bounces light and drones to explore. But all that subtract energy. So if he go out of energy and restart, the map is different.

I’ve come back and forth to this wanting to help, but I’ve got to say that I think that the problem is that the core concept is uninspired.

Thanks for the input and the code !
We’ve implemented it and it’s way better than before now.

Now I’m gonna design around it. And I’ve also thought about the light ball getting smaller till it disappears. Will see about that.

Thanks again

Can you send a link? I only found a game that looks like Candy Crush.

I’m not sure if my programmer will be able to code Procedural Generation. But I like the idea. I’ll write it down. Thanks a lot !

Care to elaborate?

Doh!
The Unfinished Swan :face_with_spiral_eyes: not the black swan.

Did you take a look to this Unity Learn Tutorial?
Procedural Cave Generation tutorial

How about including “light at the end of a tunnel” tricks? Like, you could lead the player to think he/she is close to the exit, they approach it, and find out it’s just an LED on a wall. Also, you can hide these sorts of exits by angled walls, such that not only are they fighting through the darkness, but also through a maze. Of course, you’d have to balance that out, because a maze in darkness can get frustrating really quickly.

Also, do the lights time out? If they do, then it becomes a memory game. That, including limited light balls, can create some interesting gameplay.

1 Like

This series may be useful.

https://www.youtube.com/watch?v=v7yyZZjF1z4

A few general ideas to get your noodle going. This idea is pretty good, and I think there is a lot of meat here once you start unpacking the sort of experience you’re trying to create.

  • A reward for using smart ways of firing the balls, where players get to “reclaim” balls/energy which meet a certain criteria for a behavior you want to reinforce. Especially if you have a later mechanic which will require that behavior to master.

  • Shooting in an arc with tight spacing to locate a small platform, or shooting far/near to increase chances of success need to be reinforced or balanced to keep the challenge up and encourage ideal gameplay.

  • Abilities to find upgrades and combine/charge balls. So you have 100 energy, you can shoot 100 very low light balls, 10 medium brightness, or one massive light which will also illuminate sporadically on its trajectory, regardless of if it lands true. Having more than one way to solve the problem opens up a whole new set of possibilities.

  • Timed lights, where a light will fade out over time. This adds some urgency, but still keeps the player in control of the overall pace.

  • Secondary fire to “remote charge” a light, by using a laser to increase its brightness. This should be more energy expensive than simply shooting more balls into that light, but is much more reliable and safe for enhancing far-off or hard to hit balls.

  • Recovery of energy to gun by consuming lights, as it fades players can pull back a portion of that energy and slowly dim out the light. Should be a close-range thing probably. This combines with the traps to let players “bank” light on the other side of a trap run so that they can get moving again faster by thinking ahead.

  • Moving/timed platforms, where the player can jump to a more difficult position (and maybe even allow the balls to “roll off” later-game moving platforms to increase challenge) or take a longer and more energy-costly path which is safer.

  • Enhanced lights, where shooting the same light spot with multiple balls increases the energy there to light up a larger area. This lets cautious players get enhanced light, without requiring them to take big risks by shooting the larger shots. This should be more expensive than the single shot, so a player can fire a 10 energy ball or spend 15 small balls to reach the same light level.

  • Platforms “charge” the gun a small amount as soon as the player lands on it, then slowly charge to capacity over a much longer period. Going back to a previous platform will net a smaller bonus, as all platforms build up that insta-charge over time. This lets players who go fast and have good accuracy move much faster, but also allows players who need more time or run out of energy to still be able to go back and acquire what they need to move on.

  • Recharge rates for the energy gun change based on conditions, moving or going forward increases charge rates and moving backwards or being still reduces it.

  • Trap platforms (which are identified by lights being red when they hit the trap) which drain energy or even zeroes it out in later levels. So, players would have to shoot past the trap, know the next 2-3 moves that need to be made, and make them before the balls extinguish and they are left on a platform without energy. This lets you break up pacing for fast players, and “reset” your pacing and balance in a way which normalizes player state in a more fair way.

  • Power ups to help players through areas, which can be banked and used at any time. Stuff like “Battery Pack” to be able to carry 20 energy which can be instantly added to the gun, “insulators” which protect the player from a trap sapping their energy for a short time, “overcharge” which gives them a constant stream of small balls for a short time.

  • Certain platforms should be able to buff players, or even have an illuminating effect when the player moves on them.

  • Harder to reach platforms with better vantage points, so there can be optional areas the player goes to which reward them with easier shots to subsequent platforms.

  • Map portions or other way of showing a player a representation of a part of the map so they can have a better idea of what is ahead, ideally in a way that needs them to interpret and apply the knowledge (i.e. not just a giant light that flashes and shows the actual level, but a paper map they need to interpret).

  • AI who may just move through on their own, showing the path, or harm/help the player.

Thank you, A LOT !

I’ll study these suggestions !
In terms of experience, I want to create a narrative experience. Something happened in the area where the play is that led to the people inhalation. I’ve already created all the shaders needed. So I have a dissolve shader where I’ll be using to write messages on walls, or pillars, etc to narrate the story. They will be shown when the player fires a light ball.
If you know about the game “NaissanceE”, this is the kind of setting I’m looking for.

Thanks a lot again for the ideas !

If may I suggest some options to improve on your core mechanic…

  • Make the Player only shot 1 light ball, and he has to grab it every time he wants to shot again, you could do this and add some hazards along the way to make it challenging and set the travel velocity of the light kinda slow so the player sees at least for a brief moment what lies ahead.
  • If it shots too far make it return to the Player so the difficulty won’t increase that much.
  • Increasing the brightness of the light the further it is might also be nice.
2 Likes

The solution has been covered well. If a player is breaking a game by spamming an ability, simply limit the players options to use that ability. This can be done with a cool down timer or a limited use mechanic.

It’s worth talking about why this works. Games are all about making interesting decisions. Decisions create tension in the player. Giving the player the right set of decisions at the right time is key to game design.

And a very simple desicion to offer a player is ‘should I use ability x now, or later’. This works because it mirrors how our brains work. Humans are constantly balancing the needs of the immediate with the needs of the future.

So when you are designing the mechanic, don’t think ‘I’m making the game harder’. Think ‘I’m creating decision points’. The clearer in your mind these desicion points are, the better your game will be.

4 Likes

Let’s take a look at a few things that could enhance gameplay.

  • Either make it so that the illuminated surface darkens after a short period of time, or restrict the player’s ability to shoot based on the amount of the darkness surroundings him.

In my opinion, the second option, COMBINED with the first one, is a very suitable fit as it will introduce a challenging aspect to the game. Well, good luck, @midogame !

Thanks everyone for the suggestions !
I’ve made some adjustments for the main mechanic and the objects’ behavior that interact with it.

Now, the player has a main reticle to fire a light orb,a dn a secondary one for the charged orb (like in Overwatch with Symmetra, where a second reticle appears for the right click weapon). He can charge the ball, from 0% to 100% and depending on the percentage of the orb, the surface will emit the same amount of light (so let’s say the player charges 25%, the ball will illuminate 25% of the capacity of a pillar/wall/object).

The ball now has a life time. It will decrease in terms of diameter until it disappears completely. That way the world tension of being always pitch dark will always exist, and the player will have to use ability wisely.

My programmer also managed to create platformers that are activated by the ability, so now we can have puzzles using them.

The second ability (light torch) is now better : it stays floating on the space for a while then decreases in diameter until in disappears. The player can’t use it forever, he has to use his main ability and light a couple of “X” surfaces in a row to be able to use it again.

The prototype is really nice now and those who tested it were somehow impressed.

Now the real problem comes upon. The game will be designed just like Portal: puzzle chambers with a door at the end of each one that leads to a corridor (like an interlude, where the players gets to experience the narrative side of the game).

However, I’m really bad a Level Design and I have no idea how to design these chambers. Can anyone help by indicating sites or anything that I could read/watch to be able to design some?

Thanks a lot again everyone !

1 Like