Sunday, February 21, 2016

Movable Type

(New build can be found right here! Please don't play with your volume turned to max. I'm still trying to figure out how I can fix the way things sound over WebGL.)

This week I added two levels. Well, I modified the latest level and added a new one. I realized that the function of the green warp walls is much better illustrated if you show them bridging an impassable boundary, like a default wall. Then the second set of warp walls shows how they can work over a distance and how they can be used to turn the player.

The new level uses some very crude boost plates. They were really easy to prototype, but I think if I were to finish them I'd need to work on them a bunch more. We'll see how they go.

Finally, I'm not using them in any levels yet, but I made some red blocks which simply kill the player upon contact. Total features so far:

  • Charging
  • Goals
  • Linked Goals
  • Wrap walls
  • Bounce walls
  • Warp walls
  • Boost plates
  • Enemies
  • Timed Walls
  • Kill Walls
I think that's about it. There are other things I could imagine wanting to do (like objects which slowly get pulled towards the player, or switches that flip on/off when charged through), but for now I think I need to decide whether or not to cut some features. The recently added boost plates don't do much that can't be done with bounce walls, but they do give me substantially more control...

Charge-up noise by Javier Zumer. Used under this license. Modified by me.

Sunday, February 14, 2016

Sick Day today, but WebGL is here to stay!

Here's a link to a build you can actually run on Chrome and Firefox!

Hi all, I've been sick this week, and busy figuring out some things for my upcoming move, so unfortunately there's no new build this week. I did, however, have time to look into publishing the game using Unity's WebGL platform. Expect the audio for certain sound effects to be a bit harsh, and expect shadows to appear jagged. I'll see in future weeks if there's anything I can do about that. Due to the inherent differences between web player and WebGL, there might not much.

As always, charge-up noise is by Javier Zumer, and is being used under this license. It has been edited by me.

Sunday, February 7, 2016

Reconfiguring Wall Logic, and adding Warp Walls

(New Build is up here!)

This week I did exactly what the title says - I added a new wall type! Okay, it's not that exciting. I want to play around with a type of wall that simply teleports you to a set location. Not sure if I want to make it a one-way trip or not, though that could be interesting... I'm calling this new type of wall "Warp Walls." I now have warp walls and wrap walls, so it isn't confusing at all.

I didn't get to really play around with them since I spent most of my time reconfiguring how all walls work. I used to have the code governing what happens when a player (or enemy projectile) hits a certain wall on that player (or on that projectile, as the case may be). In other words, it was up to the player or projectile to figure out what it should do when it hit a certain surface. This duplicates code and is a bit counterintuitive. On top of that, it makes the player script and enemy projectile script longer than they need to be. When I realized I really wanted to have the code for the warp walls on the actual wall, I realized I should probably bite the bullet and make the change for all wall types. Hopefully this makes my code cleaner and easier to deal with for the future.

And as always, charge-up noise is courtesy of Javier Zumer under this license. It has been modified by me. 

Sunday, January 31, 2016

Getting a Move On (In more ways than one)

(New build can be found here!)

Hey all, sorry about not posting last week. I'll try to continue posting consistently, but I'm actually moving BACK to Chicago very soon, so things might get a bit rocky.

Speaking of moving, this week I decided to take the game up to 15 levels. The 15th level is brand new, while levels 12, 13, and 14 are earlier levels with tweaked goals and node-based movement added in.

I'm not sure how many levels I want the game to have in the end, but I'll probably continue to make several new levels in a week, then edit down. That's what I'll likely do for next week.

And again, the charge-up noise is by Javier Zumer, edited by me, used under this license.

Sunday, January 24, 2016

No update this week!

This was a quite hectic week for me, and unfortunately I think I'll be taking Sunday off to recover. No update this week, sorry!

Sunday, January 17, 2016

Still mulling over casting. Also, moving things!

(New build is here! 12 Levels now!)

This post comes after a long weekend looking at apartments. I am TIRED! But feeling accomplished. Last week I settled on how I should be handling casting. This week I started making levels which took advantage of that, had some second thoughts immediately. I had an hour-long conversation with my roommate about it, and came away with the resolution to just ride this out.

Both methods produce very similar results, and it isn't difficult to change between the two of them. So I'll just continue to develop the game and see if I run into any problems that make me want to switch. Time will tell if this is a good or bad idea.

On the subject of actually continuing to develop the game, I added a node-based movement script to give objects some simple patrol movement capabilities. I feel it opens up a lot of design space, but we'll have to see just how much in the coming weeks.

As always, the charging-up sound is by Javier Zumer, and is being used under this license. It has been modified by me.

Sunday, January 10, 2016

Brand New Year

The latest build is up here!

Well I'm back to work on the game after taking a break for the Holidays. This week, I made a decision about which method of warping I wanted to use, fine-tuned that behavior, and implemented a slight tweak to an existing feature at the advice of a friend.

First, I decided that warping with a raycast oriented to the normal of the warp wall hit was the way to go. Last time, I detailed how I could either raycast backwards from the player, backwards from the surface of the wall we're warping through, or backwards from the player using a spherecast. They each had benefits and drawbacks, but if I raycast backwards from the wall I can actually make the player move in more interesting ways. Hopefully I'll have a new level or two by next week to show what I mean.

Warping in this way can cause the player to drift sideways slightly, so I needed to figure out a way to keep the player from moving too erratically in places where they're looping many times through two warp walls. In cases where the difference isn't too large, the warping will actually use a raycast backwards from the player - since that doesn't cause any drift. So I sort of hybridized the warping.

And finally, I used to have warp walls and bounce walls light up as you are charging forward, but a friend of mine pointed out that it makes so much more sense for this to happen when you're building up your charge attack (the double meaning of "charge" has been a headache on this project). Anyway, walls now change color when you're getting ready to charge, not while you're already charging.

And as always, the charge-up (see what I mean?) sound is a sound by Javier Zumer, used and modified by me under this license.