Worked on more explosion effects and converting RigidBody's AddExplosionForce to work with RigidBody2Ds.
I'll be a lot busier throughout the month because I'll be moving out of my place very soon, so I apologize in advance for the lack of juicy gifs. I will, however, do my best to work on something every single day and keep my streak going.
Also one day I'll find a name for this game.
Short streak today, because I attended a local game dev meetup after work. I drew more pixels for that new trap (the one I don't want to reveal yet) and started working explosions, because video games.
I experimented with something I've been wanted to do for a little bit. Before today, the player was not affected by the speed of the platforms, which meant that if the platforms moved faster, the player would jump higher. It worked for my purposes, because it made it more dangerous to go in the top half of the screen (the platforms move faster there), but it was also a little weird.
Today, I changed that so that the player is translated downward at the same speed as the platforms. I was expecting it to feel terrible, but it is actually much better. I'll have to tweak the jump acceleration a little bit, but the player now stays within the camera space most of the time.
In short, never stop fucking with your mechanics :D
Worked on a few more improvements with parenting stuff together instead of moving everything down manually.
Also prevented coins from spawning on spike traps.
I made a particle/gibs system for the spike traps, and started working on a few improvements in my code, mostly to remove a lot of collision checks by structuring things in a smarter way. I was also planning on doing pixels buuuut I'm a cafe and I forgot my mouse, so that'll have to wait.
I struggled with wall-sliding particles for a while. Since the camera doesn't actually move, those particles need to be move downward at whatever speed the platforms are going, but also match the player's world position. The gif below is an in-progress shot before I eventually got those particles working like I wanted to. I'm too tired to post a gif of it working tonight.
I also started implementing spike traps. I'm not happy with how they look yet, and I still need to add an appropriate death animation.
I'm currently eating cheese.
I am also in the process of adding particles when wall-sliding, but it's currently not cooperating. I think it's being weird because the particles are a child of the player, and as such move in its local space instead of the world space.
Anyway, more progress tomorrow, I hope.
I'm exhausted from looking at apartments all day, so today is a short update.
I've added some code to the player controller to make it so that gravity is lowered while tap-and-holding. It allows for higher jumps and feels a little better than before, but needs tweaking.
I also redrew some background assets and fixed a bug. Go me.
I had been having a weird one-way-platform bug with my player controller. Sometimes the bottom of the player would be below the top of the platform, but the physics would either move the player on top of that platform or to the top of the previously-occupied platform. I was ready to rewrite the CharacterController2D that prime31 wrote because I was so confused, but it turns out that if I had read the documentation, I'd have noticed that one-way plaftorms require an EdgeCollider2D to work, not a BoxCollider2D like I was using.
So yeah, that was today's major breakthrough.
The second breakthrough is that I figured out why my textures were acting so weird: their size weren't set to a power of 2, and thus Unity couldn't render them pixel-perfect.
Today was frustrating, but I fixed two huge issues, so it feels good :)
I still don't really understand what I'm doing when it comes to screen resolutions and how to adapt the camera to multiple screen sizes. I messed with some scripts and settings until I made it work sorta like I want on my Galaxy S5, but I'm sure it'll take me a lot more time to fit all the devices I want to support.
Anyway, no juicy gif today as I haven't added anything exciting. On the bright side, the weekend's here!
I mostly planned out some design elements today. I'd like to make the platforms spawn from the sides: they'd slide in and then start moving down. That means I'll need to improve the spawning system, but I knew that was coming.
I also want to make some of the platforms move, to break up how static they all are. It could be a terrible idea, but I'll give it a try.
I've also thought about new traps:
Yesterday, I ventured out into the sun for way too long and got my forearms grilled and toasty. Yay sunburns! Moral of the story: less outside, more programming.
I started messing with another way to discourage the player from going too high. I don't really like the skull idea because it adds some interface to a game that has none (and I like simplicity). Instead, I wrote a version wherein the platforms move faster if the player is above the center of the screen. This way, it gets obviously more dangerous to go up there.
Progress today: finished implementing the lasers and improved the platform and trap spawning systems.
I've had complains that the game is frustrating because it's hard to see the traps coming. Some possible solutions are:
I started working on a laser-beam trap today. I also did a lot of refactoring to the trap and platform spawning systems, so that they are distance-based, and not time-based. This way I can mess with the game speed at will.
I also updated the art for the collectible coins, but I think I need to switch those out for something more interesting. What do alien frogs want to collect?
Today, I added dust particles when the player lands/hits walls. I also broke the physics so the player jumps every 2 frames, it's great.
I improved the physics for my CharacterController. I realized that I was multiplying things by Time.deltaTime squared, which led to some weird things.
The game feels very good now, and I'm hyped to be working on this. Sorry about the hush-hush.