A day
off? What is that? I try to think of this project as going to work but I can’t
work on it every day. As much as I would like or not like to depending on the
day. Sometimes it is really hard to work on this project when I am at home and
could easily just piss off and do other things. Other times it is like, oh man
I would really love to throw some code down at this exact moment but I have to
feed my kid, or take him to baby class/ PT. I take my son to baby class and
someone there gets him sick and the next two days are just a shit show. This
then makes subsequent days into a wash. He is miserable I’m miserable and the
last thing I want to do is type up my ‘producer e-mail’ that is this blog.
I was
only really able to get in two days worth of work this week. It was a broken up
two days but a solid level of work was done. I like the work I did for the most
part but am disappointed with my time management. When I was actually paid to
do this sort of thing I was really good at managing time. Game studios are
ALWAYS running late but I never was. I had a producer tell me “I am aware that
these dates I have given you are impossible but I have to have something in the
calendar.” My response that I didn’t say was ‘challenge excepted’. Not only did I meet that date but I was a week
ahead of it, also I didn’t crunch for it either.Contrast that with now. I can’t even make my
imaginary dates. No one is asking for this thing I am making.
Whatever
I have to go my son is hungry. Here is a thing I painted.
Last week I didn’t update because I
didn’t really have anything new to show. I got a new Wacom tablet and spent
some time getting used to it. I drew some pictures for possible backgrounds and
there really wasn’t a lot to say. This week is really similar. Except I spent
about three days coloring my scanned artwork.
Most of
my previous weeks have been about me problem solving these past two week have
been about painting. I guess the good news is that I have finally made it to painting!
When I was in college I didn’t really like Wacom tablets. I couldn’t use them as
well as I could a mouse. An illustrator came to my college and demoed his
process and basically said ‘you can paint with a mouse if you like but it is
like painting with a bar of soap’.
For
this piece that I have been working on for the past few days, all of the landscape
was done with my new tablet. The buildings were inked with the tablet but the
coloring was done with a mouse. The tablet just was not precise enough for the
geometric shapes. The organic shapes of the landscape the tablet works great.
Inking the drawing the tablet was also great but shading the buildings not as
good as a bar of soap. I don’t know maybe some of my art friends can give me
some proper tips on why a bar of soap is subpar in this situation.
Tower.
TOE is an acronym for the title of my game. At the moment I’m keeping it a
secret. The T in TOE is for Tower for reasons I think are rather obvious
reflected below.
Diagonal
Legos! They are a thing. Last week I tried to use the Pythagorean Theorem to
solve a problem and as it turns out the Pythagorean Theorem was exactly why it
wouldn’t work. “Wat?” I know right! Last week I was basically trying to make a
1x1 triangle have a hypotenuse of 1. Not possible in this dimension anyway. So
it doesn’t work. However what does work is my wife’s solution of
parallelograms. They are the Diagonal Legos I have been looking for. Parallelograms
line up on the grid! All of this week’s work has been done in Blender making
various different collision pieces and lining them up. I did finally get a
drawing tablet so I can paint better in photoshop. But the actual painting has
still yet to happen. Baby steps right?
I guess
you might be wondering just why am I doing this? I am trying to work smarter
and not harder. I’ve worked on a game like this before and the Level Designers
made A LOT of work for the artists by creating levels with no standard sized
collision out of boxes of various dimensions. Using this Diagonal Legos system
that I have been forced to focus on over the past two weeks, I can make
standardized art that works across all levels. In industry MANY a time when I brought
up work flow issues I was met with rolled eyes. I fought with some producers
about ‘if you make us do X, it will cost us Y’. One time it was an entire
level. Content creation is the name of the game. If you can make content easily
you can make MORE of it.
Being
the only person currently working on this allows me to spend time on the ease
of use of my tools. I don’t yet know the drawback to my Diagonal Legos but I am
assuming it is computationally more expensive than box colliders. In my opinion
the ease of use out weights this. It was a pretty good week for work overall. Not
really a whole a lot to say really aside from Diagonal Legos ROCK!
There
are monsters under the bed. It might be a good thing that I didn’t try to paint
things last week… I found out this week that I’m not yet to painting. I tried
to set up art for the slopes I currently have and my God WTFBQQ attack. I have
14 different ground pieces of collision. I was only trying to deal with 7 of
them. The ground pieces I’m ignoring the ceiling. It was an unmitigated
nightmare. A 22.5 angled piece fits with a 0 angled piece like this but when
you try attaching it to a 45 degree piece it no longer works in the same way.
Oh and the 0 degrees line up when they are below angled pieces but fail to
work in any way whatsoever if they are higher than the angled ones.
I was
hoping to make a simple snapping system too. Where everything collision is on a
grid and if you use the Pythagorean Theorem the collision will all line up.
Yeah that didn’t work. I thought math was supposed to help me! It didn’t work
out the way math is supposed to. Three, Four, Five, right angle? Nope!
Fine! I
got out an exacto knife and some card stock. Cut out little rectangles 1x3 and
placed them at 22.5 and 45 to see just how these damn things are supposed to
connect to each other. Like I’m laying on the floor moving card stock around
and if my wife asks me what I’m doing my answer was going to be ‘I’m working on
the game’. Card stock didn’t seem to cut it so I switched over to photoshop.
Photoshop does something really easily that no other 3d editor (excluding XSI)
even does. Moving the COG or pivot point is SO easy in Photoshop. I don’t get
why it is such a pain or impossible in other editors. But even my Photoshop
powers couldn’t help me.
Side bar NESTED or grouped objects
in Unity is not good. Bad Unity! Be better at this!
I was
having so much trouble trying to do this stupid thing that I couldn’t even
explain what the problem was to my wife. I mean I don’t even know what this
problem is called. Grid based collision? She came over put her head on my
shoulder and said. “Oh I see what the problem is now.” We talked about it and
she then understood my struggles. She was feeding our son and said something
that might be the brilliant solution. “Could you just make everything that is
at an angle a parallelogram?” Not having had the Bobby Fisher moment I said “No
Unity doesn’t do that….. But Blender does.” I sat there thinking about spacial relationships
eyes moving back and forth in a 3D world not our own. Zero to 22.5 check, Zero
to 45 check, 22.5 to 45 check,90 to
22.5 doesn’t quite work as planned and same with 90 to 45 but IT does WORK as
far as collision is concerned.
I
didn’t have the time to create all of the parallelograms to test if this
ACTUALLY works. But I did test something that I wasn’t sure would work. I
slapped down a cylinder in the level to see if my Ray Casting system would let
my Player smoothly walk up and down a circle. And damn it is a fine thing to
watch when something complicated works out completely as you think it should
work in programming. That right has the rarity of a Unicorn. So I learned that
my code allows for this and I didn’t even know it was capable of it. Like I can
make arched stone bridges with this and that is pretty cool.
Was
this a good week? NOT REMOTELY. Nothing freaking worked! Did I learn some cool
things? I am definitely smarter now about possible solutions and the capacity
of my code. Did I get to paint? Nothing but test art. I have yet to try to
implement the parallelogram solution. I mean looking at it in my head it ‘should’
work but I thought my original solution ‘worked’ in my head. Turns out the pictures
in my head were ‘wrong’. I will update next week on just how well
parallelograms either kicked my ass or saved my life. To be continued, game
over, insert quarter.
So last
week I struggled with fixing a very broken thing. The day after I wrote that
blog about how hard it was to fix the damn thing I fixed the damn thing. The
problem basically came down to an error in direction. When traveling to the
left I was multiplying in the Y direction (up) when it was supposed to be
multiplying in the X direction (side to side). Basically this seemed to make
the player check for a collision with the ground in the upper right corner of
the player, something that can pretty much NEVER happen as only the left and
right lower corners ever touch the ground. Finding this problem took 5 days
because the code for walking up a slope and maintaining the player speed is
pretty complicated. A bunch of math is involved that I don’t want to bore you
with.
Then I
spent the rest of my time fixing my decrease in power problem. Something
happened and all of my parabolas and push colliders all decided that they were
no longer powerful enough. My boomerang only would fly out slightly in front of
the player and the player would no longer move upward in the push colliders. I thought
it was the addition of the art that did this BUT I deleted the art and still
the power was too low. So I upped the power and fixed all of the ‘broken’
things. I hope that I don’t have to do this yet again when my computations
compound but again I don’t know what happened.
I was
supposed to paint this week… I didn’t. If I’m being honest I was afraid. I was
afraid that I would do something and break the game. I want to say that I have
created some simple and yet versatile code but I can’t really confirm that. So unfortunately
for me I let fear get the better of me. So after I finally solved my Zoolander
problem I ran into the Jim Cunningham problem. (Kudos to you if you get that reference
or Googled it.)
I
should probably take heart that I am still solving my problems even if not on a
time table to my liking. Means I am still able to work it out in code. Coding
is not my strong point but I am still managing. I guess I need an attitude adjustment.
I mean I have overcome all of the obstacles so far, basically nothing has
stopped me. Also I have finally made it to a part I’m good at! The painting
part.