Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411421 Posts in 69363 Topics- by 58417 Members - Latest Member: JamesAGreen

April 18, 2024, 07:22:37 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsPUSE — follow a kitten through Norway (NEW: butterflies and day jobs)
Pages: 1 2 [3] 4
Print
Author Topic: PUSE — follow a kitten through Norway (NEW: butterflies and day jobs)  (Read 13158 times)
Battlefrog
Level 0
**


Broc W.


View Profile
« Reply #40 on: October 25, 2015, 07:20:06 AM »

I'd just like to say that this project, and Vatnsmykr all look amazing.
I love your progress on both of the projects, and I do hope you continue to work on them until completion. 
Smiley
Logged
oahda
Level 10
*****



View Profile
« Reply #41 on: October 25, 2015, 10:48:38 AM »

Oooh! Merci!
Logged

gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #42 on: October 25, 2015, 01:07:01 PM »

merci? why in french? lol

edit:
Oh I get it, it's a frog lol
Logged

Battlefrog
Level 0
**


Broc W.


View Profile
« Reply #43 on: October 25, 2015, 02:33:19 PM »

why in french?
Oh I get it, it's a frog lol

Oh dammit  Cheesy
Logged
oahda
Level 10
*****



View Profile
« Reply #44 on: November 04, 2015, 12:30:14 AM »

I just like varying my responses a little!
Logged

Geoff Moore
Level 3
***


Game composer for hire


View Profile WWW
« Reply #45 on: November 04, 2015, 04:49:36 AM »

Prinsessa, this looks amazing and adorable!! I'm really interested to see where it goes, especially the sadder/darker elements you'll be exploring. You and Marte clearly make an awesome team, keep up the good work Smiley
Logged

Composer for multiple Steam and Itch-released indie games. Listen/contact: https://geoffmoore.co.uk

Gargoyle440
Level 0
**


View Profile
« Reply #46 on: November 04, 2015, 08:53:12 AM »

The artwork looks great!

But I was wondering, how are you planning on moving between the areas/terrains?
Is it going to be more like a Metroidvania type of exploration progression? or something a little more linear?
Logged
Djuske
Guest
« Reply #47 on: November 06, 2015, 09:57:34 AM »

Oh hey I decided to join myself so I could participate in the discussion! Not much to add atm (as Ava has been posting my artsies every now and then), but I have this color scheme-thingy for the mountain level.




Tbh I have dreaded making the art for the mountains because I feel like there is this special feel to walking in the mountains, with the black puddles of mud you'd hate to step in, and that coarse, colorful heather, pointy (berry) bushes, and the naked mountain rocks sticking out here and there. I have tried crawling through heather on one occasion (mountains are steep okay) and it was really uncomfortable, so I kind of want it to feel strenuous, but at the same time look beautiful. Might need to work more on the "strenuous" part, just look at that cat jumping around like it's the easiest thing in the world.

The artwork looks great!

But I was wondering, how are you planning on moving between the areas/terrains?
Is it going to be more like a Metroidvania type of exploration progression? or something a little more linear?

Thanks so much!

Atm it looks like we agree that it could be "episodic", if that is the right word? You have some ares that are connected, so when you are in let's say the neighborhood, you can still move within the areas that belong with it, like the house and possibly the mountainside. But then you move on, and you can no longer return, but again, still move within the areas that belong together. So when you reach the mountains, you can move between the mountains and the caves when as you progress, but once you reach the end of the caves there will be an event that takes you even further away from home and you can no longer return to the mountain. There are several of these events that are points of no return.

edit:
also this sassy magpie
Logged
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #48 on: November 06, 2015, 10:25:40 AM »

 welcome and good job!
Logged

oahda
Level 10
*****



View Profile
« Reply #49 on: November 08, 2015, 03:21:47 AM »

Starting work on NPC interaction


Marte asked me if I could start working a little bit on talking to NPC's by having little speech bubbles pop up above their heads at the right time and then have text pop up when you press the right button and so on. I got started on the former part of that, i.e. speech bubbles.

As with the terrain editor, I'm focusing a little more on visual editing for this system as well so that Marte will be able to mess around with it without having to delve into tiresome and abstract code stuff — that's my job, after all. It's a little more important to have things easy to edit when there's more than one person on the project (which also made Unity a good choice for this game as opposed to my custom C++ engine for Vatnsmyrkr where the only way to edit levels so far is by editing an XML file).



The NPC-dialogue prefab

So just like with the autoterrain, I created a prefab to use for NPC's that the player is supposed to be able to talk to. More settings will be added, but here's the basic set that appears in the inspector when the prefab is dragged and dropped onto an NPC game object (tho the default direction is left and has been edited here):



The script with a couple of variables as well as a circle collider where all you're supposed to touch is the radius. Perhaps I could move that setting to the script as well, but eh. It's for Marte who's right here with me and not just for any stranger out there.

Coupled with this, stuff to reflect changes appears in the editor view:



What we see here is the circle collider in green showing its radius as well as the field of view (FOV) angle setting of the script. The circle's radius simply determines the area within which the NPC will become aware of the player and the FOV its actual line of sight (so that it can't see behind, above or below itself).

Also directly reflected in the editor is the direction setting. As seen above, it has currently been set to right and so that's the direction that our dog is facing. This means all NPC's have to be facing left as a default and then this script is used to change that. The reason for this is the final setting of the script: whether the NPC should automatically face the player. If set, whenever the kitty appears inside of the circular bounds of the NPC, if the NPC is not facing the kitty, it will turn to do so, changing its own direction flag, which is why this needs to be a setting.

Finally, a little speech bubble has appeared above the dog in the editor. This is simply a child object of the NPC dialogue object and can be moved freely using the regular transformation tools in Unity in order to fit each individual NPC properly. Its angle is always automatically set to 0, so that it doesn't rotate just because the NPC does. When the NPC flips its direction, so does the bubble with it.


Demonstration

Here's a quick GIF to show it in action. The settings in this case are the same as in the above screenshot of the inspector, but the dog has also been set to automatically face the player.



As you can see, the kitty and the NPC both need to be facing each other for the speech bubble to appear (talking to an NPC with your back facing it is a bit silly...) and the bubble also disappears when the player jumps so that a conversation cannot be initiated in mid-air.



Coming up

Next is the actual dialogue system which is probably going to be a reasonably classic sort of box with character portraits and scrolling text as well as options to pick from and different pathways depending on the options chosen.

I've actually made a simple system like that in Unity before, as one of my first proper experiments with the engine, which was a less than complete visual novel style game I made for Ludum Dare. Unfortunately the download links are broken as I haven't been able to pay for my web hosting lately, but at least there are screenshots that you can look at:



Apparently the way options were selected was a bit unusual in that one, but it worked IMO. And from the experience I learned that Unity has a limit on nesting in the inspector, which we I probably can't use that to edit conversations if they are to be too deeply nested, but perhaps this isn't that sort of game. If it turns out to be, then I'll have to look into something else. I stumbled across this article the other day on the subject, which had some interesting ideas.

Anyway, Marte made a concept drawing for the dialogues in PUSE a long time ago, so here you are:



The size ratio between avatars and text box is probably a bit off, but other than that I think it's interesting to see both portraits at once. The background is going to be whatever is in the game at the time, a bit faded out (to white in this case, but perhaps black and other colours will suit certain other areas better) with the in-game characters disappearing and the portraits popping up.
Logged

oahda
Level 10
*****



View Profile
« Reply #50 on: December 08, 2015, 03:55:36 AM »

Barebones NPC dialogue interface

We are not entirely sure just how deeply nested conversations are going to be and how much control will be given to the player when it comes to choices and to us as designers when it comes to scripted events invoked by dialogues, and as all of this will determine the exact layout of the dialogue system (how we feed data to it), I cannot yet implement it in all its glory.

But the basic functionality of talking, switching portraits and having multiple boxes was added in the meantime:



We didn't have any dog portrait, so I just made this silly edit of the cat's portrait~

This was done using Unity's modern (as in not the legacy one) UI system, but I haven't really tried it out on different resolutions and aspect ratios yet. I think it should work OK tho.



Update on the new running animation

Marte has been spending quite some time cleaning up frames and adding in colours. We're aware of some minor details which may or may not be fixed in the near future.



Done with a bunch of video layers in Photoshop CC. We put it into the game, which made for a funny metamorphosis as we have not yet replaced the idle sprite:





Waterfall

I tried animating something too, but in a less artistic fashion: programmatically.


Audio

We wanted to try out some 3D audio by having a waterfall be heard in the distance with the correct pan to let the player hear in which direction it lies, eventually making the sound more mono as the player approaches it, only to pan to the other side when the player moves on. This is where Unity's 3D audio functionality gets used.

It was a little tricky to find a good rolloff for the 3D sound, meaning how quickly and how much the sound increases in volume as the player approaches the source of the sound. None of the defaults in Unity were any good, and the interface for setting up a custom one was a bit weird, with a graph that seems mirrored and weird constants that don't seem to do much more than decide how much of this graph gets used. Eventually, anyhow, I found something that worked OK:




Video

As for the animation itself, here it is (note that the GIF does not loop seamlessly):



It is made up of two principal parts: a plane with a couple of animated textures (each one on a different submesh) and a particle system at the bottom. You just add the textures and set the speeds for each and the script takes care of setting up the submeshes for each texture and animating the UV's.



Of course, I made a prefab out of it so that waterfalls can be dragged and dropped as easy as pie.



We've also been concepting around a bunch to find a final style and colour scheme but we haven't reached enough of a conclusion to show anything off yet. Here's a nice, snowy picture Marte drew, tho, which I really like:

Logged

Battlefrog
Level 0
**


Broc W.


View Profile
« Reply #51 on: December 11, 2015, 10:15:59 AM »

Progress looks great so far!  Smiley
Logged
brantkings
Level 0
***


I like games


View Profile WWW
« Reply #52 on: December 11, 2015, 10:44:12 AM »

Liked the new running animation yes! Great progress! It was a little weird in the first posts when the head and the tail didn't move with the animation. Overall, I'm following.

Oh, and even though I'm not from there, I'm curious to know the amount of Norwegian stuff you are putting in this. It's always cool when games get regional.
Logged

oahda
Level 10
*****



View Profile
« Reply #53 on: January 29, 2016, 04:38:04 AM »

No big update, but apparently we'd missed addressing a question on here, and I did update the main post of this thread too, too add new info and remove deprecated stuff, and fix up the general structure.

I also added a GIF in there that we haven't shown here since it wasn't much of an update on its own, but we got a new idle image in there as well:



Also did a little bit of bugfixing and added friction to the ground using physics materials in Unity, which I didn't learn about until our last Ludum Dare jam this December (you can check that game, Untangled, out here).



Thanks, Battlefrog, and brantkings!

I'm curious to know the amount of Norwegian stuff you are putting in this. It's always cool when games get regional.
Well, it's going to be somewhere along western Norway, starting out further south among mountains and fjords, moving further north throughout the game, eventually bumping into snow and northern lights. The Sami won't be forgotten either; viking descendants aren't the only ones in Norway. There will be a little bit of folklore and the like as well, in the form of trolls, for example, and perhaps we can find some interesting beliefs from Sami tradition as well. And of course the non-fictional fauna will be of Norwegian stock as well.
Logged

oahda
Level 10
*****



View Profile
« Reply #54 on: January 30, 2016, 11:56:23 AM »


Proper update time!



Working on the waterworks

Yesterday, I posted in my other devlog about redoing the water for Vatnsmyrkr. Similar update on here today, tho without shaders so far. I'm still not confident using shaders in Unity so I did as much as I could without them for now, and might update later.

So let's start by slamming an animated GIF in here!



The waterfall was apparently way too fast for the poor GIF recorder, and there are a lot of details missing. I'll probably have to record a video at some point. Here's a static image for good measure:



As you can see, the layering isn't right yet. Like in Vatnsmyrkr, I'm trying to simulate a 3D-like water surface, reaching into the screen. This means that the platform that the kitty is standing on, as well as the opposite one, should clip through the water somewhere along the middle of this surface and not along the line behind the platform, as this is supposed to be much further back.

I might be able to fix this by using a shader and clipping them that way, or since this is Unity perhaps I can just do it in a cheaty fashion by literally tilting the surface in 3D and having it clip through the platform that way. Doesn't seem to work with my current material setup, tho, so I'll have to look into it...


Lots of UV scrolling

So... no custom shaders for this? Then how did I solve it? Well, by gaining control over the meshes where the water textures are in a script and then animating the UV's (texture coördinates) inside of that mesh.

I've already written before about doing this with the waterfall, earlier on in this thread. The water works similarly. I have three layers of textures that move around independently on the mesh, by the use of Unity's submeshes.


Particles

The spraying water at the bottom of the waterfall is a particle system. If you compare it to the last picture of the waterfall (see my last link), you can see that I've changed it up a bit since then. I think it looks better now.

There is also a new particle system today: the rings at the bottom of the waterfall. I made them by taking a texture of a half ring, squeezed together a bit horizontally, and then using that as a particle. The particle never moves, but instead has a growing size over lifetime, and new ring particles keep getting spawned before the ones before have disappeared entirely.


Various images

Then there are are various static images. Below the particle system for the rings, there is a blurry white image that's static. The lines along the back and front of the surface are static. There is also a static opaque blue image behind the platforms, so that the water in front of the platforms can be transparent against the platforms without being transparent against the far background. There are also a few static gradients in there.



I'll keep playing around with this and we'll see how I solve said layering issue.

Also Marte stress tested my tools so far (terrain building and various prefabs) in order to plot out a level in the engine that she had sketched digitally beforehand. We're going to try some gameplay out in there, but we haven't gotten far enough for it to be meaningful to show anything of that yet, but basically it's a little fetch quest.
Logged

oahda
Level 10
*****



View Profile
« Reply #55 on: January 31, 2016, 05:42:13 AM »

Decent surface clipping for now

So to get the surface to clip through the platform instead of rendering in front of it, I tried the method without any new custom shaders by simply rotating the water surface plane a bit in 3D and having it literally clip through.



At first it didn't work, because apparently the default unlit texture shader does not render clipping properly: it's either rendered entirely in front of or entirely behind what it clips through depending on the exact position — no depth testing, apparently.

So for now I simply made the textures opaque. It looks okay, so I can live with it for now, but there are some issues with it: for one, I can't layer different textures with different speeds on the surface like I still have below, because all of the textures need to be opaque to get proper depth testing and if they all are opaque, well, then you can only see one of them anyway because the others are hidden below it.

So what I might do is to try and write or find an unlit transparent shader that does proper depth testing. Does anybody know if there is a free one on the asset store or something?
Logged

oahda
Level 10
*****



View Profile
« Reply #56 on: February 02, 2016, 05:50:31 AM »


Well, I've messed around a bunch with shaders and I can't seem to get it to work for now. It seems to have more to do with the clipping itself than with the shaders. I don't think it renders anything behind the water surface even when it's opaque; it's just that we can't see this until we make the texture transparent. But I actually like the opaque surface, so it's not the biggest issue. I might come back to it later, because...



I'm learning Unity shaders properly

Going through the manual to actually learn the syntax properly now. I learned a little bit by messing with the water surface thingy, but it's nice to read up on it to really know what I'm doing, and to discover things that I didn't know about before (which might lead me to a solution regarding the surface at some point as well), and indeed I have: I learned about grab passes, which allow me to access what was rendered to the screen before invoking the current shader, which has allowed me to implement an...


Underwater wobble shader

Look below the surface!



I've already done this effect before, in Vatnsmyrkr, but my shader setup there is quite different; I'm almost always working in terms of fullscreen effects there, affecting all of the pixels from previous passes, but in Unity I'm mostly working with individual objects, affecting only their own pixels.

Yet, as you can see, this wobble gets automatically applied to anything that finds itself under water, including the cat. So the method is sort of halfway here: this shader is still only applied to the plane with the UV scrolling water textures on it, but thanks to the grab pass I can get the pixels that were rendered onto the screen behind the water plane, and include those into the final result.

So, this is a modified version of the default built-in Unity shader "unlit transparent texture", which was the one I was using on the water before. What I've done is getting the pixels from the grab pass texture but with slightly modified UV coördinates (by using sine waves of the game's current time) and then I've done a manual additive blend of that and the water texture itself.

Like so:

Code:
fixed4 col = tex2D(_MainTex, i.texcoord);
fixed4 scr = tex2D
 (
  _GrabTex,
  i.scrPos.xy - fixed2
  (
  sin(_Time.w * 0.25 + i.texcoord.y * 3) * 0.004,
  -cos(_Time.w * 0.25 + i.texcoord.x * 5) * 0.005
  )
 );
return fixed4(col.a * col.rgb + (1 - col.a) * scr.rgb, 1);

Tho before this I also make anything below the water a little extra blue now that I've got a custom shader for it:

Code:
scr.r -= 0.2;
scr.g += 0.1;
scr.b += 0.25;

Since this game is above water and not below, I made the effect a lot stronger than in Vatnsmyrkr for fun; while it would be really annoying to play constantly underwater in Vatnsmyrkr with an effect as strong as this, it's quite neat in a game like this, where most of the stuff is above water and the underwater wobble is just an occasional decoration in the scenery.



Autoledges

I also finally got around to updating the terrain script to make it automatically generate grabbable ledges on corners.



Marte actually made this new ledge hanging animation before the new running animation. It might look a bit jaggy, but that's because it really has like three times the frames used here, and I might have removed too many of them before putting the animation into the game. GIF's are jaggy anyway, tho, so might be hard to notice. But we actually think it looks nice like this too. We've got more frames we can add back in otherwise, so no worries.

We will of course make a transitional climbing animation in between hanging on the ledge and being up and running again.
Logged

jon_mdi
Level 0
*



View Profile WWW
« Reply #57 on: February 02, 2016, 04:58:34 PM »

Looks great, so charming.

Which triangulation method you use?

(I used this Triangulator script:http://wiki.unity3d.com/index.php?title=Triangulator. It's creating a non-optimized mesh with lots of very long and thin triangles.)
That's the one!

Regarding that, for what I'm building in Unity I needed to handle complex polygons including ones with holes, so I moved from the Triangulator.cs to using the Poly2Tri library. Finding easy to understand code using it wasn't easy, but this post on the Luminary Apps blog http://luminaryapps.com/blog/triangulating-3d-polygons-in-unity/ helped soooo much. This post http://forum.unity3d.com/threads/triangulation-of-spline-to-mesh-questions-and-results.181596/ on further optimisations was great but I don't need to go there... yet.

Anyway, following this Smiley
Logged

oahda
Level 10
*****



View Profile
« Reply #58 on: February 03, 2016, 02:14:27 PM »

Thanks!

Since I don't need to generate anything in real-time (it's generated in-editor and then stored that way into the executable; the generation isn't done in-game), it's not a critical problem if the algorithm isn't the fastest one out there, but should it ever get laggy and hard to work with even in the editor, I'll look into your tip there. Smiley
Logged

oahda
Level 10
*****



View Profile
« Reply #59 on: April 20, 2016, 12:19:03 PM »

Man this is coming along very nicely! Great job you two Smiley
Heh, didn't expect comments here such a long time after the last update! Thanks. c: We'll see when we get something done the next time. Last week was Ludum Dare. I recently presented some new ideas tho.
Logged

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

Theme orange-lt created by panic