Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411603 Posts in 69388 Topics- by 58445 Members - Latest Member: gravitygat

May 08, 2024, 12:58:12 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsKatto - A Rhythm Game that Tests Your Brain
Pages: [1] 2 3
Print
Author Topic: Katto - A Rhythm Game that Tests Your Brain  (Read 6512 times)
Biijii
Level 0
***


View Profile
« on: March 01, 2018, 12:50:02 PM »




It's out now on Steam! Check it out: https://store.steampowered.com/app/869010


Original Post

Hello everyone!

Katto is a game designed to test the limits of your reaction time, memory, dexterity, and focus. It will consist of a series of endless levels that get harder over time, each providing a unique challenge for your brain.

Gameplay
The player is given two katanas. Objects are then thrown towards each katana, moving to the beat of a music track in the background. The player has to move their katana to the right position with the right timing to chop through each object.


What's Completed So Far
Right now there are currently 12 different objects, each with different rules about how they must be chopped. Each of these objects has their own tutorial level that teaches the player how to chop them.


I also have one main level complete, which takes the bamboo object, spawns it in a random orientation on each side, and moves to the tempo of music that speeds up every 32 beats.


The goal will be to eventually create a bunch of different levels that speed up like that, but with different combinations and patterns of the different objects I have created.


This is my first game ever btw  Durr...?. Progress might be kind of slow because of college and work (I've been working on it for like 11 dang months), but I've at least been pretty consistent so far. I was making Devlog videos over at https://www.youtube.com/user/BiijiiTheGamer, but written devlogs just seem to make more sense, so hi. I still plan to make videos if I overcome any interesting challanges though, so feel free to check that (or the old devlogs) out!
« Last Edit: December 08, 2018, 07:12:58 AM by Biijii » Logged

Sundrop
Level 1
*

Grandma cooks best!


View Profile WWW
« Reply #1 on: March 02, 2018, 12:23:14 AM »

The bobbing movement in the last GIF made me smile haha! Looking good!
Logged

chalcidfly
Level 0
*


View Profile WWW
« Reply #2 on: March 02, 2018, 08:26:41 AM »

Interesting! How do you control the katanas? And are the levels randomly generated?
Logged

Follow me on twitter @LincolnBergeson for regular updates on my games
Biijii
Level 0
***


View Profile
« Reply #3 on: March 02, 2018, 09:36:45 AM »

Interesting! How do you control the katanas? And are the levels randomly generated?

Thank you! The left katana is controlled with the keys S, D, F, corresponding to holding the katana horizontal, diagonal, and vertical. The right katana is L, K, J for horizontal, diagonal, and vertical. I might make the controls slightly customizable in the future, but the idea is to get your left and right hand working independently (kind of like playing piano).

The orientations that the objects show up in will be random, but every level will have a set probability for how often certain objects show up. I've thought of making it more precise though, like for every 100 objects, exactly 50 are bamboo. Different objects give a different amount of points to the player, and I don't want RNG to make people too angry lol. On the other hand sacrificing some of the randomness might get rid of some of the challenge, so I'm not sure yet.
Logged

Biijii
Level 0
***


View Profile
« Reply #4 on: March 02, 2018, 09:45:44 AM »

The bobbing movement in the last GIF made me smile haha! Looking good!

Haha thank you! You should see when I try to make the level even faster, katanas floppin all over the place.
Logged

Biijii
Level 0
***


View Profile
« Reply #5 on: March 08, 2018, 07:39:22 PM »

I hadn't worked on anything visual for the game in a while, so I decided to update my katana animations.
I created a system that dynamically moves the katana towards the object being chopped, and then from there animates back to its idle animation (before the katanas used to just go to the same exact position every time you moved them). I didn't think this would be complex enough to deserve its own update, but I ended up having to try basically every conceivable method to get it to work Shrug. So for science, here's everything I tried:

Attempt 1: Animation Curves
First I thought I could dynamically change the actual position of the Unity animation every time I chopped something.



It seemed like all I had to do was use animationClip.SetCurve to change the values of the animation keyframes. Someone correct me if I'm wrong, but it seems like this just isn't possible? You can only use SetCurve on legacy animation clips, but legacy animation clips can't be used in an animator. It seems like it's only purpose is to calculate the value for a curve on one play through (where the clip is set as a legacy clip), and then use those static values on the next play through (where the clip is not set as legacy). pls help idk

Attempt 2: Empty Parent Gameobject
Next I thought I would do that cheeky animation workaround I've already done a few times before, where you set the gameobject you're animating as the child of a parent empty gameobject.



You can then move the parent to any position you want, which effectively moves the child around without messing up any of its animations. This almost worked, but I couldn't get the parent to change position on the exact frame that the animation started playing. Now that I'm typing this, I realize I could have probably just waited to move the parent until animation.IsPlaying was true heh. I mostly just didn't realize that animations don't start on the same frame that you call them.

Attempt 3: Inverse Kinematics
Alright not really, but I did watch a 10 minute video about how inverse kinematics works. Its whole purpose is to make an animation's position and rotation dynamic, but it seems like it's only meant to work for humanoid models. I figure there's probably a way to make it work for non-humanoid models, but it probably wasn't worth the work.

Attempt 4: Blend Trees
Finally, something worked.


Basically, for each katana orientation, I made one animation very close to the screen, one very far away, and then I dynamically calculated how much to blend between the two. I calculated the blend amount using the position of a dummy gameobject attached to the object being chopped, placing it exactly where the katana should move to. I was worried this whole system would be too imprecise, but it actually works pretty well.


It ended up not having as big of an effect on the visuals as I thought it would, but it definitely needed to be done. I still need to make specific animations for a few of the object types, but this step gets the katana animations about 75% of the way there.

Next I plan to start designing some levels!
« Last Edit: March 14, 2018, 07:18:30 PM by Biijii » Logged

Biijii
Level 0
***


View Profile
« Reply #6 on: March 14, 2018, 07:18:10 PM »

5 (and a half) levels have been added!

Before I created them, I first had to change the order that the tutorials for my obstacle types show up in. I originally had a lot of the easier obstacles show up at the beginning, and they would get harder as the game went along. This sounds like it makes sense, but it really just meant the first half of the levels in the game would be kind of boring in comparison to the later levels. I figured since learning the easier obstacles didn't really prepare you in any way for the harder obstacles, it would make more sense to intersperse the easy with the hard.

The biggest change this led to was moving my “memory bamboo” to be the third obstacle in the game. The memory bamboo requires you to chop it normally once, and then remember what orientation it had so you can chop it a second time. In contrast to something like the regular bamboo, it can be used to create unique levels without the help of many other obstacle types.

Here’s how that worked out:

Level 3-1: Memory bamboo with regular bamboo in-between. Mostly (like all X-1 levels) to test the players ability to overcome the obstacle in its most simple form.



Level 3-2: All memory bamboo. I feel like this one sounds hard, then you realize you only have to remember 2 sequences at a time, and then you still accidentally mess up when you lose focus for a second.



Level 3-3: Memory bamboo interspersed randomly with regular bamboo and wood. Without an expected pattern, things start gettin tricky.



Level 3-4: Like level 3-2, but the left and right side are one step out of sync, and continuously switch which side is ahead in the sequence. This one actually trips me up a bit.



I also made level 2-1, which intersperses wood with regular bamboo (can’t do much else with those two obstacles), and am working on level 4-1, which has wood, regular bamboo, and rocks.

The reason I’m held up on 4-1 is because I’ve realized how beneficial it would be to make a system that calculates which obstacle to spawn given: a pool of obstacles, how often I want each to show up, and what obstacles have been spawned already. Before making all of these levels, I did separate a lot of things into their own functions, so coding a level just involves me deciding when certain obstacles show up (rather than worrying about how to spawn them, what orientation they should show up in, etc.). The problem is, what I have now won’t be quite as manageable when I have all 12 obstacles to spawn for one level, so I’m going to try to simplify the process a bit more.

Making these levels is pretty cool though. Seeing these obstacles I’ve been working on be used to make levels that actually work gives me hope :-).
Logged

Biijii
Level 0
***


View Profile
« Reply #7 on: April 01, 2018, 05:26:56 PM »

Ya, jk about what I was saying last time. I spent a couple hours working on a level generator, but then realized most of my levels would be too unique to make a general function that could create all of them. It makes more sense to come up with logic that works for each of my obstacles one at a time, and then stitch that logic together in levels that combine them.

What I did instead was make 4 new levels for my stack bamboo obstacle. This obstacle requires you to hit 4 pieces of bamboo in the amount of time you are usually given to hit one. Seems tricky until your fingers realize the pattern they follow, and then eventually figure out how the patterns on the left and right should be pressed together.

I also added the functionality to put rocks, memory bamboo, and nail bamboo within stacks (it previously could only hold regular bamboo).

Level 5-1: Stack bamboo with random orientations. Pretty standard, it lets the player figure out the button patterns for the vanilla stacks.


Level 5-2: Introduces stack bamboo that have memory bamboo at the end. It also has regular stacks, regular bamboo, and memory bamboo interspersed. My hope is that the player has learned enough about the stack and memory bamboo at this point, so I can let them figure it out on their own without me explaining it.


Level 5-3: Introduces stack bamboo that have rocks at the end. It also has regular stacks, regular bamboo, and rock bamboo interspersed. My hope is that the player has burned the button patterns for the regular stacks into their muscle memory at this point, so their fingers can’t figure out this new pattern at all.


Level 5-4: Combines everything so far. Regular bamboo, wood, memory bamboo, rocks, and stacks that end with: regular bamboo, memory bamboo, and rocks. This level is friggin hard. On average, I get through about 10-15 waves of obstacles before I mess up.


Part of me is worried it might be too hard, but I’m really happy with how level 5-4 turned out. It’s the kind of thing where it’s doable if you focus 100%, but the second you put too much attention on parsing stack bamboo or wood, you forget what orientation the memory bamboo was in and lose. The problem is that this only involves 5 of my 12 obstacle types, and is already about as hard as I want any of the levels to get. I think this means my levels will have to focus less on combining a bunch of different obstacles, and more on finding interesting combinations between a few obstacles at a time.
Logged

Biijii
Level 0
***


View Profile
« Reply #8 on: April 12, 2018, 05:45:28 PM »

I've fixed my tutorials.

I had these short looping videos that would show the player what buttons to press when chopping an obstacle. As a tutorial, they worked fine. The problem was that Unity's video player would cause a huge frame dip whenever it started or stopped playing. It got better when I made the resolution lower, but it was still noticeably bad. If anyone here has gotten the video player to work smoothly let me know, because nothing I tried seemed to work.

My solution was to simulate the tutorial in realtime. This meant making a little box far away from my main map, and running my obstacle spawning function over there. Then I pointed a camera at the simulated level, and sent that camera's feed to the tutorial UI.


It sounds simple, but I had a lot of things that were dependent on the positions of the main map, so it took a little longer than I originally planned. Now that it's done though, it has a few benefits over the video method:

  • No more lag spike (this was a gamble, glad it worked out)
  • If I change an obstacle's model or texture I don't have to render a new video
  • I don't have to program the UI keys to move according to the video, they are now triggered by the katana animations
  • I now have a system that can automatically cut through all of the obstacles (this will be useful for the trailer I eventually plan to make for this game)


Messing with those UI keys for the tutorials got me thinking about the game's input again. I'm curious if other people have an opinion this: is making the default controls unchangeable ever the better option? On one hand, I feel like my game was meant to be played with the controls I have set up now, but on the other hand, what if some weird kid only has half a keyboard and can't play my game, idk. Also, my game could feasibly by played with a controller, but it would be straight up inferior to using a keyboard.
Logged

Biijii
Level 0
***


View Profile
« Reply #9 on: April 22, 2018, 10:28:18 AM »

I've been tweaking some art and music for the game.

I was originally messing with the music because I planned to change the length of my placeholder music tracks. I made a video a bit ago explaining how I designed my music system, if you're curious:



The important part is that my levels speed up every 32 beats, and whenever the level speeds up I need to change the music track to another one with higher bpm. The wierd part is, for some reason I decided to make my clips 16 beats long and repeat once before switching, instead of just making them 32 beats. This gives me a lot less room to make the music distinct, and I don't want things to sound too repetitive.

When re-rendering my tracks to 32 beats, I decided to mess a bit with the way it sounds. I made the piano softer, and added some strings in the background. The strings still don't sound 100% right to me, but it's getting there.





Next I messed with my scene.

First I tried adding some very small hills to the terrain.


I thought this would make things look more natural, but it ended up having almost no effect. I feel like if you think about it, you can infer there are hills based on the tree placement, but your brain doesn't pick up on them immediately due to the grass being a flat color. If that makes any sense. Also my petals weren't set to collide with them, and I have to set the collision object of the petal emitters one by one (there's probably a better way I don't know), and I didn't feel like doing that.. So no hills.

Next I tried adding some trees to the horizon line.


This was supposed to indicate that the horizon is the top of a hill, and the path and trees continue after that. Really it just made the sun into this weird shape that makes me uncomfortable. So no trees.

Then I tried adding grass and giving my dirt path a slight curve.


My plan for the grass was originally to give them an animation that had a keyframe every third of a beat, and then they would speed up over time. This looked a bit too twitchy and didn't mesh well with the smooth animations of the clouds and petals, so I upped it to 5 keyframes per beat. Now it's in that awkward stage where it's almost good, but it's just bad enough I'm gonna end up changing it to 9. Overall though, I'm pretty happy with it. The biggest thing I'm not sure about is how the dirt path looks so crisp in comparison to the shagginess of everything else.

Speaking if the path, I thought it looked a little goofy being so straight, so I curved it. I actually really like how this makes the scene look. It's edges aren't as smooth as I would like, but I might change its design to fix the crisp vs shaggy problem I mentioned, so I'm sticking with this for now.

So overall, progress has been made. I find it kind of scary to change art related things. I worry I'll never be able to make things look as good as they do in my head, because I'm a computer boy, not an art boy. To combat that, I've committed to the idea that each time I create or update an asset, it's just a single pass through, and that it's going to take many passes to get where I want. I can only use about 40% of what I worked on here, but ey, that's 40% more than I had before.
Logged

Biijii
Level 0
***


View Profile
« Reply #10 on: April 29, 2018, 03:07:21 PM »

I've made levels for my rotating bamboo, and started working on sound effects for the game.

Quick rotating bamboo description: A rotating arrow flies towards you. You are supposed to chop where the arrow is pointing to, and not directly chop the arrow itself.

I knew I needed to change the way the rotating bamboo looked - the stark white 2D sprite wasn't gonna cut it.


I considered giving it a rock-like texture, so it would be clear that the player wasn't supposed to hit the arrow directly. I also considered making it an actual archery arrow. I ended up deciding against both of those, because they missed an opportunity to make the obstacle more challanging.

I decided to make the arrow out of wood. That way the player would have to learn to distinguish between rotating bamboo (which you don't hit directly), and wood (which you do). Right now that meant making a 3D arrow and putting a nice solid brown material on it, but I plan to eventually give it and the wood obstacle some texture.

I made 2 levels for the rotating bamboo.

Level 6-1: Rotating bamboo in random orientations. I'm not gonna waste your bandwidth showing you a gif, because you can infer how it looks from the next level's gif.

Level 6-2: Rotating bamboo and wood interspersed. It teaches the player how to discern between the rotating bamboo and wood. Personally, I found my problem wasn't accidentally hitting an arrow directly, but rather not chopping wood enough times. I would get used to rotating bamboo only taking 1 hit, then forget that wood takes 3.


I've also been working on sound effects for the game. This has been pretty tricky. I need to find sound effects that are satisfying, but not too loud or weird, because they are going to be repeated every time a certain obstacle is chopped. I spent like 2 hours sifting through sounds of creaking wood and wood being chopped to find something that was half decent. I tried recording my own sound effects by chopping stuff with a knife in my bedroom, but none of it sounded quite right.

So far I've added sound effects for the katanas, regular bamboo, and wood. I don't feel confident about any of the sounds I have in the game, but I've at least made the hooks for them, and know how the sounds need to be improved. The one thing I am happy about is how well the random notes played on a pentatonic scale work with the background music:



« Last Edit: April 29, 2018, 03:33:26 PM by Biijii » Logged

Biijii
Level 0
***


View Profile
« Reply #11 on: May 06, 2018, 11:16:52 AM »

I've made levels for my dynamite obstacle.

Quick dynamite description: Chop the dynamite's fuse after it's lit, but before the dynamite explodes. Dynamite lasts for two waves, and the fuse will be lit at a random time between those two waves.

Level 6-1: For every dynamite on one side, two pieces of regular bamboo are spawned on the other.


Usually the first level for an obstacle is just that obstacle in random orientations, but for dynamite, that would have been too similar to it's tutorial (the tutorial is dynamite following a strict pattern of orientations). Instead, this level teaches the player how to keep a beat with one hand while reacting fast with the other. It wasn't so bad if I kept the beat to one side, and the reacting to the other, but alternating them like this gets tricky. If I really focus, I can get into a flow state for a bit, but then the dynamite will light at an unexpected time and throw me off.

Level 6-2: Dynamite with wood and regular bamboo interspersed.


This one tends to lull me into thinking it's easy, and then my brain completely forgets to chop a piece of regular bamboo or something. This was the first level where I had to use a new random pattern strategy to decide what to spawn when. By that I mean, I created 4 different patterns the obstacles could take for a single wave (like an example pattern: the left side has dynamite, and the right side has wood). Then rather than randomly choosing each obstacle individually, I just picked between those 4 possible patterns for each wave. This level didn't necessarily need this pattern system, but it was a useful prototype for what I did in level 6-4.

Level 6-3: A "new" obstacle: Double Dynamite.


I only just came up with the idea for it, but it was an easy way to make the dynamite obstacle more interesting. This level is all double dynamite, until you reach the max speed of the level. The problem was, dynamite on it's own actually gets easier to chop as the level gets faster. I still need to give the player a set amount of time to react to the dynamite (0.6 seconds), but the waves of obstacles now only have 0.4 seconds between them (dynamite takes 2 waves, so there's a window of 0.8 seconds). This means if you hit the dynamite right at 0.4 seconds, you will always be hitting it when the fuse is lit. To combat this, I spawn some regular bamboo in-between the double dynamite once you reach the fastest speed. I like having a few levels like this that only require you to master a very narrow skill set to reach the max speed. Gives people some hope before crushing it in the next level.

Level 6-4: Double dynamite with memory bamboo, rotating bamboo, and rocks interspersed.


This is where I really had to utilize the random pattern method for level spawning. When I tried spawning completely randomly, I would often get patterns that weren't very challenging, or would have long streaks of a certain obstacle type without seeing the others. To combat this, I have 7 different patterns I thought would make sense for the level, and then randomly choose one once the previous pattern is finished. For example, here's one of the patterns, which is 5 waves long:


Now that my obstacle interactions are getting more complex, this will probably be how I need to create levels from here on out. It worked pretty well for this level - it's my hardest level yet. It took me probably 40 tries until I finally reached the 32nd wave where the level starts to speed up. I am a little worried that the dynamite may break up the rhythmic pattern of the game too much, but at the same time, I feel like it's possible to overcome and keep the beat with one hand while you react to the dynamite with the other. The question is just whether you need to be a virtuoso pianist to pull it off.
Logged

Biijii
Level 0
***


View Profile
« Reply #12 on: May 12, 2018, 07:54:12 AM »

I made my first ever website!

   http://baileysnyder.com/katto

I realized there was nowhere to find a succinct explanation of the game, and figured a website would fix that. I originally tried to make it with WordPress, but couldn't figure it out, so I ended up making it myself with html and css (lol).

It was all because I wanted to have different styling for baileysnyder.com and baileysnyder.com/katto. I'm not doing anything with it right now, but in the future I plan to make the main page into my portfolio. With a little tweaking, WordPress does allow you to have multiple themes, but I couldn't find one I really liked for Katto anyways.

To be honest I mostly got baileysnyder.com because the domain was available and I didn't want to pass it up. Also katto.com was taken. And I'm cheap.

Let me know what you think of it!
Logged

Biijii
Level 0
***


View Profile
« Reply #13 on: May 14, 2018, 12:15:44 PM »

I need a Steam page, which means I need a trailer... which means I need to make some more sound effects for my game.

Today, I made sound effects for my "Rhythm" bamboo:





This bamboo just requires you to hit it once on the beat, and then once again on the half beat.

I was originally thinking of making it a slap bass type sound, but it was a little too harsh compared to everything else, so I went with this slide octave electric piano thing. I'm mostly happy with it, I may just tweak it to be more distinct from the regular bamboo sound.

Logged

Biijii
Level 0
***


View Profile
« Reply #14 on: May 19, 2018, 01:42:59 PM »

Just finished a new trailer for the game!





I wanted to give more information than a traditional teaser trailer, but don't have enough ready for the final trailer, so I did an awkward in-between thing. I realized as I was making it that I sort of did the exact opposite of what you're supposed to do: the trailer starts out slow and gets more interesting towards the end. That's the way my game is structured, but in the final trailer I should probably find a different approach.

I did make some new sound effects for my memory and dynamite obstacles, which you can see in the trailer. The dynamite needs some tweaking, but I like the overall sound of both.

Now I just gotta finish working on the Steam page. Maybe then I can work on the actual game again Durr...?
Logged

Biijii
Level 0
***


View Profile
« Reply #15 on: May 23, 2018, 12:27:18 PM »

Steam page is up! https://store.steampowered.com/app/869010
Kind of surreal that I can just search for my game on Steam and it shows up. Let me know what you think of the page!

Now that the website, trailer, and Steam page are out of the way, focus is 100% back on the actual game. Let's go.
Logged

Biijii
Level 0
***


View Profile
« Reply #16 on: May 28, 2018, 02:06:16 PM »

I've made 3 levels for my nail bamboo.

Quick description of nail bamboo: hit the nail directly with one key, and then press two other keys at the same time to pull out the nail.


The first step was to change the bamboo into a piece of wood, because sticking a nail through a piece of bamboo doesn't really make sense. Turns out the wood doesn't make sense either, since the wood splits into two pieces once the nail is pulled out, but close enough. Without having something visually split apart, chopping through things just doesn't feel as satisfying.

New creative name: Nail Obstacle.

Level 8-1: Follows a pattern: two nail obstacles followed by a stack which ends with a nail obstacle.


Having all nail obstacles felt a bit too easy, so the stack is there to spice things up. I had to give the player 2 waves to chop through a nail stack, because it kinda twists your fingers up.

Level 8-2: Dynamite on one side with nail obstacles, stacks, and wood on the other side.


I wanted it to feel like you were diffusing a bomb with one half of your brain, while your other half was being distracted with a lot of key presses.

Level 8-3: Stacks ending with regular bamboo, memory bamboo, rocks, and nails.


This is all of the stack alterations put into one level.
Logged

Biijii
Level 0
***


View Profile
« Reply #17 on: June 02, 2018, 05:38:45 PM »

I've created a new obstacle:
The "Mental Rotator"

The player is shown a small square object and a larger square object. They must then rotate the small square by hitting arrows with their katana until it matches the orientation of the large square. Then when they match, the player chops the small piece of bamboo holding the arrows together, which pushes the smaller square into the larger one.

Alright kind of a mouthful to explain - hopefully this gif makes it more clear:


I created this because I wasn't happy with one of my old obstacles, the bar bamboo. It had the player hit a metal bar, and then chop two obstacles that were resting on the bar. I realized this was way too similar to my stack bamboo, so I wanted to create something more unique to replace it.


rip bar bamboo

I like how this new obstacle turned out. It's a lot more interesting, and it has a good difficulty curve. It still needs some refinement visually, but mechanically Smiley
Logged

Biijii
Level 0
***


View Profile
« Reply #18 on: June 09, 2018, 01:01:16 PM »

I've created another new obstacle: The "Interval Bamboo"

The obstacle stops in front of the screen and plays a note at a particular pitch. The note can have 6 different pitches, each corresponding to a different orientation of bamboo. So the player hears a note, and must use its pitch to determine where to slice with their katana.





I was afraid something like this would be too hard, like you would need perfect pitch or something to figure it out. It turns out the brain is pretty good at telling which of two notes has a higher pitch though, which is all you need to overcome this obstacle. I still want to make it a bit more obvious to the player, but haven't decided on the best approach yet.

I made this obstacle because I wasn't super happy with my "Rotating Bamboo" (the brown arrow thing from a few posts ago). It wasn't very creative, and didn't have any super interesting pairings with other obstacles. Into the trash it goes.

After creating this interval bamboo and the mental rotate obstacle, I feel a lot better about the variety of obstacles in the game Hand Thumbs Up Right
Logged

Biijii
Level 0
***


View Profile
« Reply #19 on: June 14, 2018, 01:22:44 PM »

I've been messing with the background visuals a bit.
Before

After

Trees
The biggest thing was getting my tree "leaves" to blow in the wind. To make the circular animation, I had to use cosine and sine for the first time outside of school, so don't let them tell u math ain't cool. I'm thinking about making it more subtle, but I also like the idea of having mesmerizing colors move all around the screen, so I'll revisit it once I add more stuff to the background.

Petals
I also finally randomized the petals that fall from the trees. I meant to do this from the very beginning, but encountered a problem where the random seen generator for the particle system was giving the same seed to every tree. Fixed it by just simulating each particle system for a random amount of time when the game starts so they go out of sync. It's probably objectively better now, but I got so used to the old style that I didn't see it as weird anymore, so it's like a lateral move, but in the positive direction Grin.

Grass
I also added 4 whole frames of animation to my grass blades. It smoothed things out a bit, but it's still a little choppy. About what you'd expect from 4 extra frames. I actually think it looks cool when it's choppy, but I'm not sure how well it jives with everything else.
Logged

Pages: [1] 2 3
Print
Jump to:  

Theme orange-lt created by panic