Friday, September 22, 2017

TOE week 53?: Slightly Larger than Goose Egg



Well I haven’t really been able to work on this for about two weeks. I did work on my Spotlight enemy. It now will Lock On To the player and if the player gets out of the Spotlight’s vision it will then Lock Off and go back into search mode. There are some different problems with it but it effectively works. However there seems to be a problem with the underlying game itself. I want the projectiles to be avoidable but right now the player can just out run the gun fire so there is really no penalty to being spotted. If I just increase the speed of the projectile then the hits become more ‘mandatory’ and I didn’t want that either. My AI for this enemy right now is Artificial minus the Intellect. I wasn’t really sure how to fix this so I did the ‘smart’ thing. I stopped working on it for two weeks and played Slime Rancher. 

I did also work on my figure drawing because for whatever reason that helps me draw Giant Robots. But full disclosure I pretty much ignored this project for about two weeks. Whoops! The smarter thing to have done was to give up on the Spotlight enemy and work on a different enemy that I need. Instead I played an adorable Farm Sim. In some ways you could justify Slime Rancher as ‘research’ but not to the degree that I played it. I also picked up Destiny 2 from a Red Box because God knows my love hate with Destiny 1 and you cannot justify this as ‘research’ in any way really other than “hey this game contains the following things that will not be appearing in my game.” Then list EVERYTHING. 

Is it ironic after a post about how to work hard and get what you want my productivity was pretty much a goose egg over the last two weeks? I don’t know I will ask Alanis Morissette if and when I run into her at the knife store.

Friday, September 8, 2017

TOE week 52: Only 990 miles to go!



It has finally been a year of work. I’m not sure what mile we are on. As stated on day one this is a 1000 mile journey. I think I have gone about ten miles. Meaning that this will be done in about a hundred years…. Great! I’m almost there!

 Above is what the game used to look like vs what it looks like now. So much progress and still a ways to go.

This week I worked on better population for my level.  You know setting up shop. More enemies, putting in sub weapons, and ammo. The basic outline needed to have some things to do in it. Things to fight and power ups to grab. The level is slowly becoming more flushed out. 

Last week I found out about a couple of things that I needed to fix. This week I found one more. Two  weeks ago I set all of the level collision boxes to be Convex Colliders. It is a check box in the Mesh Collision in Unity and I’m not really sure what it means. I want to say that this makes the inside of the Collider count as collision as that seems to be the effect.

I noticed that my teleport test only triggered when the teleport tester collided with the edge of the collision in the past. BUT you could move past the collision edge and it would then be legal to teleport and you could fall out of the world. This is bad. Changing all of the collision to Convex fixed this. So again I am assuming that is check box means check on the inside of the Collider. The actual definition of the word means curved outward like and oval or all interior angles are less than 180 (and that also means curved outward).  And looking at the Unity Docs says nothing about testing for collision inside the box just that it can collide with other convex colliders something that it was doing before I checked the box just not as well as I would like. 

So I checked the box and went on my merry way making my new level. And unknown to me at the time this broke my grenade sub weapon. This is just something that often happens while in development. You find a problem, fix that problem, and create a different problem. Two weeks later when I trying to use my sub weapon it no longer explodes on impact with the collision. Why? Because the sub weapon didn’t play well with a convex collider. 


My grenade sub weapon changes its angle based off of the angle of the collision that it hits. To do this it needed to know two things. 1 the angle of the object that it collided with and 2 the direction of the slope. Angle of the object is basically the normal of the object the grenade hit minus vector3.up. The slope was calculated using a function I found online to get the 3D vector of an object based on all faces. This function doesn’t work with convex colliders. Well crap. Funny story though: hit.normal will basically do the same thing it is built into Unity and works with convex colliders. HILLARIOUS I know. I also had hit.normal in the code for this and it wasn’t hooked up to ANYTHING.

Say while we are on the subject of things I don’t understand. What is the front of an object? Or how do I tell Unity that THIS is the front of an object? I installed some tracking logic onto my spot light enemy. 



I get why Unity thinks that the front is over there. It is because computers are only as smart as you tell them to be. I never told Unity that THIS is the front. But I’m not sure even how to tell the lookRotation ‘hey this is your ‘front’’. Probably just means I will have to find out next week. My spotlights now rotate toward the player when the player is spotted but I now know that ‘toward’ is a very relative term.

So I guess this is the end of Year one for project TOE.

Friday, September 1, 2017

TOE week 51: Highlighting Short Comings



Last week things got a little off topic and instead I talked a bit about work ethic. I didn’t even talk about the fact that I built about half of a level. This week I finished the other half of it. This new level is by no means done. In fact if anything it has highlighted some of the short comings of my game currently. You can’t really know what is and isn’t working until you try to put it all together as a cohesive whole. In my test level I could tell if thing were functioning and for the most part they were. But was the functionality that I made in the test level working in terms of actually being fun to play? The answer I got was yes and no. Certain things work really well and other things do not. 

For example my using the portal as a barrier against enemy energy attacks is really rather cool. This also makes my stationary beam attack enemies and spot light enemies more cool. Also in the cool column are the fire push colliders. Using the portal to block a vector in the future or utilize a vector in that past is default cool. Having the Player teleport to the past to get a checkpoint reminds me of opening a shortcut to a bonfire in Dark Souls. However the spotlight enemy that I made need to track the Player once spotted until the Player is out of sight for a certain amount of time. My little rushling enemies are not fun to fight on slopes. The flying nuisance enemies don’t seem to even have a place in this level. 

The level right now is currently just populated by some enemies, push colliders, checkpoints and the rest is level geometry. Currently it is in white box mode. Nothing pretty, mostly function. So the next step is making the stuff above that is not working to its full potential, function better. 

I did also address some minor problems this week like the Player’s attack animation could not transition to the duck animation. Meaning that the Player would stick on the last frame of the attack animation if you attacked and then pressed down on the controller this made fighting the stationary beam enemies not fun because your control would break mid fight causing you to take a hit. I found this out while putting them in this level. Fixed this and it became more fun. I just have to keep doing stuff like that to make the level better. Stuff to do next week. 

This is how it looks right now.




Friday, August 25, 2017

TOE week 50: Pressing START


Last week I said that I was going to START working on a level. This level is supposed to be a vertical slice. Something to show off to important people or maybe a crowd of people. I don’t know when this switched, but when I was a kid if you gave me a blank piece of paper I would fill it up with a drawing. Without hesitation. With a blimp, a monster, an astronaut with a hover board and whatever else my 8 year old brain could think of. I would just START drawing. Now if you hand me that same blank paper I have to contemplate what is the purpose of this astronaut and his hover board, what is his motivation, who is he? Is THAT his blimp? Working on a project as large as this one is gives me the advantage of never really needing to know what am I supposed to draw.

I deleted almost everything in the new VS level and was faced with absolute Tabula Rasa. Where should I START?

I had a conversation with a friend at a coffee shop about this very thing. I told her that I had been working on this project for about a year. She thought that was great but how do you START? Personally this game I am working on has existed in my head since at least 2009. I have had dreams about playing this thing. I had worked on it in XNA, drew sprite sheets, concept art, propaganda. But it was always something that I was going to do when I had X. X being a programmer, or more time, or motivation, or inspiration, or two dozen other excuses that stopped me from moving forward.
NONE of that matters! Do you have a thing you want to accomplish? I can give you the best advice that was ever given to me right now. START! Just START. This is the single biggest thing standing in your way right now. If you are always waiting to be ready you may never be ready. So you have to START. But what if I fail? If you never START you have already failed. Hell it may not even work out you may try and the results may suck but at least your idea now exists.  

“You can’t depend on motivation. Motivation comes and goes. What matters is discipline. Are you putting in the work to achieve your goals? That is what it is about.”  Brandon Carter. <-That dude is my freaking hero. 

I can’t tell you that it is going to be easy. More than likely it will be hard and difficult. I would be lying to you if I said that there has been zero self doubt while working on this. There are coding problems that I don’t or didn’t know how to solve. There were days when I wanted to strangle a line of code. “WHY AREN’T YOU WORKING! WHY ARE YOU BREAKING MY GAME!” This IS hard for me sometimes. Everyday I press START and continue forward on this thing. Some days I get in very little work because of real life getting in the way. But even on the days when little happens I still press START on work.

So what is the next step in accomplishing your goals? START. 


The day after I had this conversation was the day that I STARTED working on my VS level. I have to continue following my own advice. 

The idea of quitting was more scary than the idea of STARTING putting in the work. 

So I STARTED.