Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1395992 Posts in 67324 Topics- by 60456 Members - Latest Member: Mersy

October 19, 2021, 04:29:21 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsAgainst The Mountain - 1st Person Exploration/Platformer
Pages: 1 2 [3] 4
Print
Author Topic: Against The Mountain - 1st Person Exploration/Platformer  (Read 3328 times)
JobLeonard
Level 10
*****



View Profile
« Reply #40 on: September 21, 2021, 01:48:51 AM »

To be fair, The Door Problem is a well known thing in gamedev Smiley
Logged
baftis
Level 0
***


View Profile
« Reply #41 on: September 21, 2021, 09:18:35 AM »

DAY 22

(EDITED BECAUSE OF ACCIDENTALLY POSTING INCOMPLETE LOG)

So after a few days away to recharge my batteries, I'm coming back to the project in full force. So much force that I forgot to give an update on what I was working yesterday.

SO...one of the things I've worked on yesterday and today expanding the first level with zones that are solely created for exploration purposes.

"But Baftis", I hear you say, "isn't your entire game based on exploration and walking?" Yes, it is, BUT.... the Golden Path (a.k.a. the path that the designer intends for the player to play in) also has some puzzle elements, some platforming elements, some hazards and so on. These exploration areas do not and will not have such things. Sure, they'll have the occasional fail states (dying by fall damage and/or drowning), but that's about it. Allow me to exemplify, fellow indie game dev.



This is the second iteration of the exploration area I've shown you (Day 21 post). This second iteration consists of an enlarged lake with a church partially submerged in the lake.





I am painfully aware that the underwater post-process is non-existent but it is on the way. What I am also painfully aware is of a post process bug in which meshes that are under water show their outline, but shouldn't. Luckily enough, I have a solution for this.

Strap your seat belts, technical-reading inclined devs, you are about to enter the domain of "if it works it ain't stupid" hacks.  

So, as you can see in this picture...



The church is partially submerged underwater, but the outlines underneath the water are still showing. At first I thought "It's the Toon Shader who is causing the problem". That would be a big nope, because the entirety of the blueprint is plugged into the emissive component of the master node.

Then I thought "surely, it's a water material issue". And after closer inspection, I've discovered that it... isn't a water material issue. The material is refractive and 100% opaque. So the only conclusion I came to is that, separately, the Toon Shader (applied as a post process effect) works properly and the water material (applied on the mesh) works as it should. But together do no work properly.  OK, at this point I was stumped and had no idea how to fix any of the blueprints.

BUT...a solution presented itself out of nowhere.

We know this: the Toon Shader draws the object outline underwater but the water is completely opaque. That obviously means that any object placed under water would have it's outline drawn, or at least part of it. But I also noticed that some overlapped meshes do not have their entire outline drawn. And then this idea struck: I would figure that if I'd put a horizontal plane mesh as big as the body of water just a tiny bit under the water mesh, it would obstruct other meshes and force the toon shader to stop drawing outlines. And oddly enough, it worked. And here are the before and after screenshots:



(I would've made a GIF that showed how it worked, but I have no idea how to make one and at this point in the night I'm honestly too lazy to learn how to do it)

Well, that about does it for the exploration areas in Level 1, time to move on to what I've worked on for Level 2.



This is the very start of level 2. After you would have solved the puzzle with the big door, you would eventually have reached this area, which is traditionally called "the transitional area", but I like to call this "the breather area", because it is the least intense part of the level. These walkways would be made out of wood and are (or will be) be suspended from above by wires.



This is the same area, from another angle.



This would be a tiny canyon that the player can traverse on foot. It's around this area that I'd like to implement the first use of rope swinging (if I can get it to work).



This would be the end of the breather area, slowly revealing the meat-y section of this level as the player moves up towards the edge.

For the section that follows, I have in mind something akin to the rock pillars from the movie Avatar. Because of the nature of those rock pillars, I also plan to implement these mechanics: rope swinging, ziplining and grapple hook. Of these three, as I've mentioned before, I only have rope swinging (which doesn't work) and ziplines (which do work). I do not have the grappling hook mechanic made at all. One other idea would be to also implement wall running, but I'm not entirely sure about that.

And that would be about it for this post. I'll see you in the next one. Bye.
« Last Edit: September 21, 2021, 09:47:56 AM by baftis » Logged
JobLeonard
Level 10
*****



View Profile
« Reply #42 on: September 22, 2021, 06:05:07 AM »

I've seen worse hacks! Smiley
Logged
baftis
Level 0
***


View Profile
« Reply #43 on: September 22, 2021, 06:37:56 AM »

Hey, Leonard.

That's kinda reassuring, I suppose. There is definitely a smarter way to do it, but for the moment it works. Forgot to mention that once the player jumps in the lake and is underwater, that extra plane will disappear and when the player reaches the surface, it re-appears. Not implemented yet, though.

That's because I got to the bottom of the problem and found out that the toon shader is the problem, 100%. Now I have to find a way to either:

a) exclude anything that can be seen through an asset that has below 100% opacity from being drawn by the toon shader. If that is even the solution at all.
b) exclude certain materials from drawing behind them from the toon shader material.

If neither of these work, the hack will have to do.
Logged
baftis
Level 0
***


View Profile
« Reply #44 on: September 24, 2021, 03:51:27 PM »

DAY 23

Just popping in to note that today I've done some work on the Rope Swinging mechanic. Although I did have the rope swing mechanic imported from another project, I had to re-do it completely. This is because the mechanic in the previous project was linked directly to that player character and had some blueprint interfaces specifically made for that character (which wasn't a first person character). And I think I'm a quarter of the way into making it work for this project.

That's it for today. No screenshots. Hopefully I can come back tomorrow and give a more meaty update. See ya, have a good one.
Logged
JobLeonard
Level 10
*****



View Profile
« Reply #45 on: September 25, 2021, 01:58:16 AM »

Ooh, but can you give some details? There are so many "flavors" of rope swinging. Which game is it most similar to, if any?
Logged
baftis
Level 0
***


View Profile
« Reply #46 on: September 25, 2021, 02:54:19 AM »

Ooh, but can you give some details? There are so many "flavors" of rope swinging. Which game is it most similar to, if any?

Hi, Leonard.

Great question. And big oversight on my part for not detailing.

It's inspired by Jedi Fallen Order but it will have a small additional component. Let me detail this:

So, when you see a rope in the game world, you can jump towards it and the character will attach to the rope. Now, at this point, the momentum of the jump will transfer unto the rope and you can swing back and forth, side to side. Basically everywhere on the X and Y axis. And the momentumnis not capped, meaning you can have wider and wider swings of the rope so that, when you detach from the rope, you will have a helluva jump.

Now, here's the kicker. Not considering the use of The Force (which calls the rope towards the player) this is how it functions in Jedi Fallen Order. One addition I'd like to add is the possibility of climbing up or down on the rope. That way, I will have a multitude of options to prove the player with interesting and fun choices and puzzles.

There are 2 things I'm afraid of, though:

1) the controls for this additional mechanic. Since the directional swinging is handled by WASD, I can't assign anything else for up/down climbing.

Sure, a possibilty would be to have the Space key and the Ctrl key (used for jump and crouch respectively) but I am certain it'll get confusing for the player. ("wait Space is for Jump, why am I going Up on the rope with Space?"). Also jumping on the rope with a key and detaching from a rope with a different key is also confusing, unless the player jumps by means of Space key and attaches and/or detaches with another key.

2) if it will actually work. There is a possibility of it actually not really working for the player, because if Climbing up/down would've worked, Jedi Fallen Order would have it implemented. And if it works, my scope gets inflated a bit.

Logged
JobLeonard
Level 10
*****



View Profile
« Reply #47 on: September 25, 2021, 04:58:02 AM »

Whatever you decide on, please don't use Zelda: The Wind Waker's solution of "stop swinging. once you stop swinging you can climb up and down". It's technically speaking the most realistic but also the most frustrating.
Logged
baftis
Level 0
***


View Profile
« Reply #48 on: September 25, 2021, 06:28:57 AM »

Thankfully, this didn't cross my mind. Never played Zelda Wind Waker, at the very least i would take a look at a Let's Play to see it in action.

I can visualise the mechanic and i can actually see how annoying it can be to wait to climb the rope.
Logged
baftis
Level 0
***


View Profile
« Reply #49 on: September 26, 2021, 02:59:04 PM »

DAY 24

Another small update in which I call PARTIAL SUCCESS!!! I got the rope to a "barely working" status again. And here is a GIF of it in action:

https://giphy.com/embed/0m0T5a1YvSmBt2n0Qc (note to self: learn how to add GIFs in a forum post)

Of course, this isn't it's final form, I'm barely halfway in to fixing it and bring it into a fun state. It was a lot more of a hassle than I thought it would be, because it's more interconnected than I thought: there's a lot of stuff to add in the first person character blueprint that needs to communicate with the rope blueprint placed in the world. Had some small hiccups here and there: I knew I had everything hooked up in the first person character's movement blueprints, but the character wasn't swinging. Turns out there was a boolean variable missing that I forgot to add (an IsHanging? bool).

Small update in devlog content, but I spent a lot of time on this. Will probably update when I get this in a state as close to the final as possible. See ya in the next post, bye.
Logged
JobLeonard
Level 10
*****



View Profile
« Reply #50 on: September 27, 2021, 03:40:18 AM »

Nice nice. Rope physics are always a pain, so don't feel bad about the time it takes to figure it out
Logged
baftis
Level 0
***


View Profile
« Reply #51 on: September 27, 2021, 04:35:43 AM »

Hey, Leonard.

You are soooo right on the money with this. Had some doubts that it will even work and still do, but to a much lower extent.

What I do like is that you can clearly see where you swing, because you attach to the very end of the rope. This was partially accidental. I knew I wanted this but off the top of my head did not know how to do it. Did some tinkering regarding the location of attachment and a few minutes later I end up with the biggest design problem solved.

And I like that now it has an almost immediate response in regards to momentum transfer from the jump to the rope. The other version of the rope swing took way too much time to even reach the swinging state. To give context, jumping from any X and Y direction, attaching to the rope and swinging was the same as if the character jumped from right under the rope and started swinging.

What I don't like is that it still has a tiny bit of a momentum loss at the beginning (first 0.2-0.5 sec or so) of the rope grab and that also don't like that the rope has a jitter to it when swinging. That particular jitter makes me uncomfortable, because I don't use bones for the rope, I use a cable component. This is because it seemed to me that it does the job just right without too much effort (it still requires some effort by eliminating the need to rig and/or animate a rope). I'll have to do an investigation to see if it performs better with bones instead of a real time location update. This is particularly disconcerting because if the rope I have now cannot have the jitter eliminated, I'll have to re-do the physics aspect of the rope.
« Last Edit: September 27, 2021, 01:01:35 PM by baftis » Logged
baftis
Level 0
***


View Profile
« Reply #52 on: September 27, 2021, 01:36:02 PM »

DAY 25

My brain is completely fried from working on the Rope Swing. Where do I even begin?

Did you, dear dev, had a day where everything went wrong no matter what you did? Oh, you did??? That's great. Because, guess what? This was one of those days for me.

OK, so today I really wanted to completely finish with the Rope Swing system, but it has driven me completely bonkers. Bug after bug after bug after bug, one uglier/stupider than the other.

Of the many issues encountered today, the following issues got me doing a loud WTF:

1) When I attached the character to the rope and then detach from it, the character would get 0.1 in scale. Luckily this was an easy fix. I don't know how or why this was an easy fix, but it was and I'm grateful. It was a matter of changing the scale of the player when detaching from Keep Relative to Keep World.

2) When the player character detached from the rope, the player lost all control of the player character when it reached the ground...it just sat there. This left me stumped and moved on to the next issue because I could not fix it.

3) When successfully jumping from the rope to the ground, you could basically re-attach again. Luckily this was an easy fix too. I have no idea how, I have no idea why, I have no idea what could possibly have gone right, but issue number 2 got fixed at the same time as this fix. And it works 100%.

The ugly issues still remain as of now

- Snappy drop to the ground after detaching from the rope
- Copious amounts of swing force are applied when detaching from the rope, even at a standstill
- Sometimes the character gets launched into digital oblivion when detaching from the rope

But at least I got the Velocity working right :D

Kids, if you are at any point in time reading this devlog for inspiration or curiosity in how a solo gamedev life is like, please know this. Gamedev is 98% hard and 2% glamorous. Not in the sense that it's hard labor (it is that too sometimes) but in the sense that you get completely baffled, bewildered, stupefied, frustrated and confused by what the actual hell your code or script spits out when you play it. The only moments gamedev is glamorous is 1) when your code actually works 2) when your code finally works and when players play your game and love it.

Anyway, that's all I could do for today. I'm fried as a MF.

Logged
JobLeonard
Level 10
*****



View Profile
« Reply #53 on: September 27, 2021, 11:21:16 PM »

What the what? I wouldn't even know where to begin debugging behavior that weird. Good luck and hang in there!
Logged
baftis
Level 0
***


View Profile
« Reply #54 on: September 28, 2021, 06:51:09 AM »

Hi, dude. Debugging tools didn't even work, I had to manually check. Fun times, man. Fun times...
Logged
baftis
Level 0
***


View Profile
« Reply #55 on: September 28, 2021, 03:50:33 PM »

DAY 26

Took a break from the Rope Swing mechanic and focused on something else I've been trying to implement: Grappling Hook. So far, it has been going rather smooth.

To give a small taste, the Grappling Hook I'm trying to implement is based on a similar mechanic found in one of my recent favorite games, Journey To The Savage Planet. In this game, you have a pistol-like weapon that can also be used in an utilitarian way, such as a grappling hook: you shoot at a certain point in the world, which is indicated via a UI button. When you do that, that pistol fires a grappling beam of sorts and pulls you towards the grappling point. This is how I plan to implement it in my game as well.

If you do not know this game but the described mechanic sounds familiar to you, think of it as the Batman Arkham series Grappling mechanic in first person.

Now, for the reason why this mechanic came into existence is because I wanted a very dynamic and exciting traversal method. An additional layer of raeson would be that the Rope Swing is causing a lot of problems both from a design POV and from a technical POV. Let me break it down for you:

From a design perspective, there were a few but very easily reproductible test cases where the player would swing so much that, after detaching from the rope, he/she could basically swing the rope onto a cliff and lock himself/herself out of progressing through the game. I wish I would've filmed the test cases and show a GIF to you guys, but I didn't film them. I'll keep this as a mental note and film my test cases in the future.

Furthermore, based on the test cases above, I concluded that there has to be a certain layout for the rope swing to work and for the player to not block himself/herself out of the game progression: wide open spaces with a death trigger below. As I was typing the previous, it suddenly dawned on me that most of the sections, if not all, from Jedi Fallen Order where Rope Swing was present, were more or less coincidentally fairly wide open spaces with a bottomless pit. OK, so there's another idea for a level.

For the moment I'm putting the rope swing on hold. I don't intend to shelf the mechanic, because it has potential. But I do need to investigate a solution thoroughly to make it work properly. Between the Rope Swing and the Grapple Hook, I wanted to make the Rope Swing more prominent than the Grapple Hook. But alas, it was not meant to be like that...  

And so, the Grapple Hook came into being. Well, at least into being worked on. This mechanic also solves some design problems, like not being dependent on a certain layout to work. It can work, horizontally, vertically, diagonally, upwards or downwards. It has a lot of wiggle room and a lot of options for the player and for me as well. It also solves a level clutter problem: if you had 10 ropes in the level, that level would seem very very busy and confusing. Maybe cool, I don't know, but certainly confusing. The grapple hook, on the other hand, only needs grappling points and those blend in naturally with the environment.

Onto non-technical related stuff. Remember the bridge at the beginning of the first level? Here's a refresher:



Now, the bridge has been replaced with something more appropriate for the setting:



To be fair, it's a marketplace asset, but it does the job better as a placeholder than that blocky version. This will be the template I will build bridges in the game.

Also, some advancements in the level design department were made. Worked on the Rock Pillars level that will hopefully showcase the Grappling hook.





I don't know if you can see it, but in one of the screenshots, you can see the UI widgets for the grappling hook points. Let me zoom in.



OK, so that's it for today. This day was much more productive than yesterday...well at least less hassle-y. See ya in the next post. Bye.

  
« Last Edit: September 28, 2021, 04:52:04 PM by baftis » Logged
JobLeonard
Level 10
*****



View Profile
« Reply #56 on: September 29, 2021, 12:55:13 AM »

Glad to hear it's been more productive. So is the grappling hook going to replace the rope swinging altogether? That's one (totally legitimate) way of solving that problem Smiley
Logged
baftis
Level 0
***


View Profile
« Reply #57 on: September 29, 2021, 02:05:20 AM »

Hey, Leonard.

In short, no.

The plan was to have the Rope Swing present in multiple levels (more than 3) and the Grapple Hook present in only one or two levels tops.

But now, the Grappling Hook being present more prominently than the Rope Swing is a significantly better idea. So the grapple hook is not replacing the rope swing altogether, they just trade places in how often they show up during gameplay.

Although it' still drenched ugly bugs, the rope swing has strong potential for interesting, fun and challenging gameplay. BUT it has to be present in a specific level layout in order for it to be interesting, fun and challenging (wide open spaces with death trigger at the bottom).  That specific layout needs to be implemented at most twice in the game and far and wide apart from each other to be good.

For context in what I mean by far and wide apart, say I'll hypothetically implement it in level 4 and then one more time in level 12.
Logged
JobLeonard
Level 10
*****



View Profile
« Reply #58 on: September 29, 2021, 05:21:01 AM »

Does it have to be a rope swing held by the player? Would a platform hanging on ropes also work and possibly be easier to implement, for example?
Logged
baftis
Level 0
***


View Profile
« Reply #59 on: September 29, 2021, 03:38:09 PM »

Does it have to be a rope swing held by the player? Would a platform hanging on ropes also work and possibly be easier to implement, for example?

Hey, Leonard. Yes, that would be the vision, for the player to hold on to it. And I think I might have found the solution for it to work, I'll have to see tomorrow.

A platform hanging on ropes, you say....hmmmm.... I can imagine how it would work as a replacement for the Rope Swing mechanic, but I could also imagine this suspended platform doing other things. This idea is worth experimenting on. It's not any easier nor any harder to implement than what is already implemented.

The rope swing in and of itself is almost functional, if a bit wonky on the physics side. You can jump on it and will attach to the rope 100% and while on it you can swing in any direction without any issues 100% of the time. It's when you jump off and what happens after you jump off the rope that's giving me massive headaches.

DAY 27

Today was a smashing success. I managed to fully implement the Grapple Hook and it feels splendid. Of course there were some bugs and still are bugs left unsolved but it is working.

https://drive.google.com/file/d/1iv1E1aGI3wNeTs_14Bd3m4uICZsFKF8u/view?usp=sharing

Will update with GIF once it's done

As you may have noticed, the character reaches the end location of the grapple, then proceeds to get launched a considerable distance afterwards. Yes, it's a bug, but it is very easily fixed (a matter of tweaking a few values here and there). Another bug would be that no matter in which direction you look, if you press the Grapple key while you are in range of the End location, you can grapple. Again, this one easily fixable with some stupid hacking (a matter of scripting a trigger with a Begin Cursor Over function to allow or disallow grappling).

Short but sweet, impacting post, I know. See ya in the next post. Bye y'all

Logged
Pages: 1 2 [3] 4
Print
Jump to:  

Theme orange-lt created by panic