Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411490 Posts in 69371 Topics- by 58428 Members - Latest Member: shelton786

April 25, 2024, 02:40:21 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsENTANGLEMENT (working title) - 2D Puzzle Platformer
Pages: [1]
Print
Author Topic: ENTANGLEMENT (working title) - 2D Puzzle Platformer  (Read 2608 times)
Filipe Baptista
Level 0
**



View Profile
« on: September 30, 2016, 05:36:19 PM »

I decided to start this development blog to share some thoughts and experiences during the development of my recent game project “Entanglement” (provisory title).



I started to implement the idea about a year and half ago (beginning of 2015) but due to the current circumstances at the time, I couldn’t dedicate as much time I'd like to it. I was finishing my master thesis on Computer Science/Multimedia, which consisted on developing a software to create interactive digital installation art that reacted to a third person's body movement. This involved Kinect sensors, real-time computer graphics and interactive soundscapes.

Since that time I was able to finishing my master’s degree and I started to pull some time off to dedicate myself to this project (although I’m working on it after other full-time programming work).

HOW IT ALL BEGAN

I've always been interested in Physics, and while I was reading Brian Greene's “The Fabric of the Cosmos” I came across this section "The Red and the Blue" (from the chapter “Entangling Space”) which dived into the concept of Quantum Entanglement.


Quantum Entanglement as most of you may know refers to a situation where two particles spatially distant from each other have correlated properties.
Between these entangled particles, their physical properties such as position, momentum, spin, and polarization, are found to be appropriately correlated. Once we observe a particle it assumes a specific value for its spin, for instance, and instantly the entangled particle changes to the opposite of the first one. This information between the particles is mysteriously interchanged between them in a speed faster than light (“spooky action at distance” as Einstein called it).


So I thought it would be interesting to explore this concept in a macro scale, as between two human bodies.
I've always been fascinated by the relationship of bodies between each other and space (I have some background on dance as well) so this was a natural way I thought about presenting it to the player (instead of using simple geometric primitives).
I also have a twin brother and when we were younger we sometimes played this "mirror game" where we should stand in front of each other and mimic each other's movement. It's also a very common exercise in dancing to developing body awareness.


THE PROTOYPE

So I started to implement a prototype where you move a human character (the blue one) with a doppelganger (the red one) which mimics all your moves symmetrically (like the symmetric spin between entangled particles)



This felt really interesting to me so I started to think about what the goal in this situation would be.

By the time I was developing this prototype I came across some games (by researching due to the interest in this topic) which explored this concept of coordinated movement between two characters.
The most similar one I came across by that time (which also explored the concept of symmetrically movement) is a web browser game called "Opposition", made by Mathew Vandevander with PuzzleScript. The goal in this game is to guide two mirrored characters to their respective cell in a grid like map in order to beat the level.
Another game which explores this interconnected movement between two characters is "Binaries" by Ant Workshop (released recently). In this case, you have to guide two characters at the same time to their respective doors in order to complete the level.
Other games like "The Rabbit and the Owl" and "Thomas Was Alone" also explore this concept of getting different characters to their exit doors or portals.

In all these cases the goal was to move all the characters and, recurring to their own properties or to the environment, place them in a specific position, implementing some portal/doors felt like a natural solution.
Since I'm mainly exploring So I also decided to implement these doors that port you to another room with other puzzles, which is a natural solution when dealing primarily with character placement.



By this time I had this basic rule implemented: You must guide your character to his exit door, ensuring that by the moment you arrive the doppelganger is also at his exit door, otherwise no one can exit the room.

This was an interesting enough ground for me to explore the intricacies of symmetrical movement in a side-scroller/platformer scenario, so I decided right away that the game would be about exploring the symmetric relationship between the characters properties, exploring different possible variants of this relationship.

I also introduced a new rule in order to make the puzzles challenging, which is: the characters should not collide with each other. This new rule felt interesting and it also drives me away from the games I stated previously.



After playing with this basic idea and implementing some puzzle rooms I decided to implement a new scenario regarding the symmetry aspect.

As you can see on the first example, your character and his doppelganger have an inverted movement along the x-axis but their jump behave the same way.



By this time I also had the idea of having different twists on the core mechanic so that it fully explores the intricacies of symmetry between these two bodies.
So the next step in my prototype was to implement the first twist in the mechanics, in which I add a different layer to the symmetric behavior between the characters. I experimented inverting the values on the Y axis for the doppelganger and the result was very interesting.




Of course I had to fine tune the algorithm in order to prevent the doppelganger from ascending when the player jumped if he was still in mid-air, otherwise, the doppelganger could ascend multiple times before hitting the ground, resulting in a kind of floating behavior.



But I could see right away the interesting scenarios with this mechanic.
What if I need to get my doppelganger atop of a really high platform? Well, if our axes are inverted it means that the vector that pulls me down (gravity) will be the same that pulls him… hum, you can see where that goes.

Currently I have some ideas sketched out on which particular twists I can introduce to the characters relationship (always regarding this symmetry between their properties). I currently have ideas for 3 more mechanical variations and the next steps are to implement each one of them and experiment A LOT with each one.
My main design goal is to distil each mechanic variation the most in order to get to the most interesting situations out of them, so that I present them to the player.


CURRENT STATE

The prototype I did in the beginning of 2015 had the mechanics of the first two areas of the game already implemented (with something like 5 puzzle rooms for each of them). In each area you could play with two different takes on the mechanics (the two I just described above). As soon as I tested it with people I discovered they also found the concept interesting so I decided to really pursue this idea and build the game the best I can.

So, a few months ago I started to transfer the 2D prototype I had to a 3D project (since the aesthetic I envisioned for the game was in 3D) and implementing more rooms for each of the first two worlds.

The game currently has some 3D placeholder art with a mixture of assets made by myself (like the characters and the doors) and assets from free online resources (I’ll probably make a blog entry just to talk about the art style, as soon as have some work on that).
The reason for not having the art in a good development stage is because I’m primarily focusing on game design and level design and when I feel that the game is almost fully build out (all, or most, of the worlds implemented and the story more solid) I’ll than start to increase the visual aspect of the game (probably by having a good 3D artist working with me).

The game (which is in an early 3D prototype phase) currently looks like this:


TECHNOLOGY

I’m currently developing the game with Unity 3D, programming in C#.
I’m developing in an OSX machine and currently the target platforms are PC/Mac/Linux (although consoles would be a great platform as well due to the nature of the controls).
I used Blender to create the protoype models of the main character (and the doppelganger, which is the same mesh but with different textures) and the doors. Using Photoshop CC for texturing.

_________________________________________________________


It is my wish to continuously update this devlog throughout development and I hope I can pull some time off to write here the most relevant updates and interesting situations I arrived.

Thank you for reading!


Filipe
« Last Edit: September 19, 2017, 02:11:56 AM by Filipe Baptista » Logged

Pixel_Squid
Level 0
*


View Profile
« Reply #1 on: October 01, 2016, 02:12:41 AM »

Very cool ideia,a good mechanism that can create very puzzly levels.I actually prefer the 2d art over the 3d,but beside that it looks like a very good game idea.

Keep up the good work!
PixelSquid
Logged
Filipe Baptista
Level 0
**



View Profile
« Reply #2 on: October 01, 2016, 07:08:20 AM »

Thank you PixelSquid! Glad you found the idea interesting.

Regarding the art style, yeah I started to make in 2D because mechanically the game is in 2D (I only consider XY for movement), but I ended up finding the 3D aesthetic more pleasing and it brings a different feel and mood when it comes to what you can do with it in other areas of the game.
Of course you can always achieve the mood you're looking for in 2D but I feel that in order to achieve that would take so much more time to produce the art.

Another aspect is, since I can model and animate something in 3D, I could right away produce some assets (the characters and the doors) without take as much time as I would take to do them in 2D (specially animating them). Since I'm doing all the programming, design and art (for now), time here is precious.
So all these reasons added up and I ended pursuing the 3D way.

I'll probably have a 3D artist joining the project in the future (I mainly program and design).

Thanks for reading and commenting Smiley
Logged

Filipe Baptista
Level 0
**



View Profile
« Reply #3 on: December 14, 2016, 04:06:01 PM »

It's been a while since I wrote the last post on the game, and that's because I've been really busy trying to make as much progress I can in the game itself.
It has not been easy since I'm working on the game after my daily full time job, but I'm really committed in getting this thing done.

I'm making a quick post just to let you know what has changed in the past two months.

I changed the way the characters are identified.
Before we had fully colored shirts to distinguish between the player and the doppelgänger.
Now they are even more similar, having similar colored shirts and only a colored scarf as a distinct element:



Besides this, I implemented 10 levels on the first world/dimension you visit in the game, and the intro level for other 4 different worlds, each with a unique mechanic.

I didn't pull off the time to make GIFs of each section, but I leave you with these rough screenshots (all the assets are temporary placeholders):



I - Symmetrical horizontal movement (pervasive throughout the rest of the game)



II - Symmetrical vertical movement



III - Symmetrical acceleration



IV - Symmetrical gravity force



V - ... I'll leave this as a surprise ...
_________

You can't really see how the mechanics play out from these screenshots but they already give an idea there are different things happening in each section.
I'll try to post some GIFs in the next days, illustrating the mechanical differences between each one of them.
« Last Edit: January 15, 2017, 07:30:26 AM by Filipe Baptista » Logged

NuSan
Level 0
**



View Profile WWW
« Reply #4 on: December 15, 2016, 03:00:37 AM »

This seems a pretty great idea. I like puzzle where you have to figure out the rules. As Jonathan Blow said, exploring a possibility space given by simple rules is a good way to have great puzzle and epiphany moments. If you didn't play "Inside" you may find interesting things in it too.
Logged
tjpalmer
Level 1
*



View Profile
« Reply #5 on: December 15, 2016, 04:34:16 AM »

Super cool.
Logged

Filipe Baptista
Level 0
**



View Profile
« Reply #6 on: December 15, 2016, 04:49:26 AM »

Thanks, NuSan.
Yeah, the basic mechanics are somehow simple but they can result in many different interesting consequences.
But these are for me like a mathematical equation: the most beautiful ones are the shortest and apparently simplest, which carry out the most varied and interesting consequences.
Actually, Jon Blow and Marc Ten Bosch gave a lecture in IndieCade 2011 where they talk on this kind of approach to game design - starting with a rules system, and exploring it to the deepest level in order to find its natural interesting consequences.
It definitely is something I can relate to and that's what I'm trying to do to design this game.
Logged

Filipe Baptista
Level 0
**



View Profile
« Reply #7 on: December 15, 2016, 04:59:02 AM »

Oh and about Inside. Yes, I played it! Very interesting puzzles there and the mood was really mysterious and immersive.
And I was mind blown when I got to that puzzle where you have to control two men with opposite horizontal movement. That actually is the first mechanic I implemented back in 2015 when I first had the idea for this project.
But I then actually took off to explore the interesting consequences from that rule (with the restrition where both characters can't touch each other, so you can't cross them).
So the game starts with these basic rules and then explores these symmetry relationships in many different ways (movement, speed, gravity, etc.)
« Last Edit: December 18, 2016, 03:36:30 PM by Filipe Baptista » Logged

Filipe Baptista
Level 0
**



View Profile
« Reply #8 on: January 03, 2017, 03:40:55 PM »

As promised, I'll begin to post some GIFs showing the game mechanics in action.
Here is a little demo for the mechanics in the second world you visit in the game:



Besides the horizontal symmetry, which is the core mechanic, in this section of the game you must use vertical symmetry as well in order to progress.
Logged

jctwood
Level 10
*****



View Profile WWW
« Reply #9 on: January 03, 2017, 04:09:28 PM »

I really love the soft art style not sure if it is the noise of the gif but all the textures on the scenery works really well, reminds me of old claymation games.
Logged

Filipe Baptista
Level 0
**



View Profile
« Reply #10 on: January 04, 2017, 02:08:30 AM »

Actually all the art you see here is temporary (with the room geometry being the most obvious placeholders). But I already did take some care indeed. By the end the art style will be more refined for sure, and I'll strive to keep the same soft and harmonious mood
Logged

Filipe Baptista
Level 0
**



View Profile
« Reply #11 on: January 11, 2017, 05:58:51 AM »

Update:
For the past week i've been working on refining level design for the rooms that currently exist, as well as working on the story.
I'm starting to have a more clear idea of what the story will be, although I'm still not sure of how it will be introduced to the player.
I've been testing with some written logs that you find throughout the game, but that seems like an obvious solution and I'm not completely satisfied with it. So I'm still not sure of how it will turn out.
Logged

Filipe Baptista
Level 0
**



View Profile
« Reply #12 on: January 15, 2017, 07:25:39 AM »

In the third dimension you find in the game, you shall use symmetrical acceleration to avoid contact between your character and his doppelgänger.

This is how it currently looks like in the prototype:

« Last Edit: January 18, 2017, 10:15:13 AM by Filipe Baptista » Logged

Filipe Baptista
Level 0
**



View Profile
« Reply #13 on: February 05, 2017, 05:19:36 AM »

For the past days I have been refactoring some code and working on the mechanics of World 3.

I ended up re-making one aspect of the mechanics: the fact that one character could not move when the other had horizontal collisions.
This was so in order to force the player to use the symmetric acceleration mechanics to reposition the characters so that they could progress.



However, this was a sudden and strange change from the basic rules, as only in this section of the game did such behavior be found (which has been confirmed through some playtests).

So, I ended up removing this restriction of movement due to horizontal collisions and re-designed the levels in order to encourage the player to explore this mechanic (of symmetrical acceleration) in a different way.
Now, instead of having a wall that will make it impossible for us to progress, we have, for example, a vertical laser, which represents danger to the player.
When wanting to avoid contact with the laser the player will have to use the symmetry acceleration mechanics to coordinate the movement of each of the characters.



This is still very raw footage but, as you can see (on the beginning of the GIF), there is no movement restriction when a character is next to a wall (as is on the other game's sections), which turns out to be a less contrived and more natural solution given the basic rules of the game's universe.
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic