Monday, August 18, 2014

armatures

quick progress update-
since the first three levels have been modeled and scaled and the courses of action as they relate to each philosophy now I am waiting for the programming to get up to the same place. So in the meantime I have been learning about armatures.
An armature is a skeleton that you can use to move the mesh around for animation purposes. I watched this Blender armature tutorial as well as some others.



Here is a picture of my first go at the armature. It correctly moves the mesh around, but I am not sure if it is supposed to look like this. I am very inexperienced with armatures and animation, so I will have to watch more videos to see if this looks correct. I will let you know about progress that I make in this area!

The process was not super smooth sailing. At first I was having problems with figuring out which way the bones should go. Once I figured that out I was having issues with the bone envelopes. It turned out that my humanoid model was too pudgy to be controlled by a bone in the center of each limb. I was not sure how else to fix it so I slimmed the humanoid monster, he is no longer a pudgy little guy. Now he is a slim purple humanoid. Now the next step is to use the armature to animate the humanoid. And then to repeat that process with all of the other characters! Looking forward to it! In addition to working on the magic of animation I am going to start doing some sketches for the visuals of the game (level backgrounds and platform design). Yay! progress!

Tuesday, August 5, 2014

Turtle Molasses

I am thinking about designing a background for this blog that is representative of the game. It could have one color for each philosophy and a design that reflects the game development process. So I will keep that in mind and see what I can create.

Woo hoo! We had a meeting! (all of us!)
We put the remodeled/re-scaled level 1 in Unity. I was worried that we would have to rebuild the level in Unity instead of simply importing it, but that was not the case. hurrah! The main character walks and jumps in the level and all of the objects have colliders. We are also working on animating the platforms that will soon be moving platforms.
Surprise, surprise we changed the scoring for level 1 again. The scoring for this level has been weird so far. Originally we had the score matrix. Remember this?

The numbers represented the order in which each of the actions were preformed. We were thinking about this idea in terms of writing code, but something was off about it. The new idea is to keep the spirit of the matrix (like the order in which the player does the actions is significant) but the process and code is more like the other levels now. Now it (at least in pseudo code) a series of if-statements. In level 1 there are 3 big actions- the chest, the minion, and speed (which is recorded as above or below a certain number of seconds). The game will keep track internally of the player's first and second actions and then perform the following check: 
        if action 1 is minion and action 2 is speed then you are scored as a Kantian 
        if action 1 is  minion and action 2 is chest then you are scored as a Utilitarian 
        else you are scored as an objectivist 

Keep in mind that the player has no idea what score they receive after the first level; the player gets a score (in terms of a philosophy) after each level but they do not know any of that until after the third level when the 3 scores are evaluated together. (This was explained in detail in an earlier post, so check it out!) 

The other thing I would like people to keep in mind is that level 1 is quite basic, hardly anything happens so it it is difficult to categorize certain actions as aligning with the ideology of a philosophy. In reality each of the philosophies is complex and a lot gets lost when you narrow it all the way down to valuing gold or speed or selflessness. That is one of the reasons that we hold off on telling the player anything about the philosophies until a few levels have been played out. The game will get into the deeper parts of the philosophies in the later levels and in those levels we expect that we will teach the player some of the core principles of each philosophy.

 I cannot stress enough that the score you get in the first level is not a good representation of the philosophies and the player (who will learn about the philosophies throughout the game) does not even know anything about the internal scoring for this level, think of this as a secret about level 1 that I am sharing with you, rather than actual information about the philosophy. 

Okay so we are making progress after a lot finals and delays and a family crisis, but the process feels really slow, like a turtle on a lazy summer day who is leisurely walking through molasses. 

Wednesday, June 11, 2014

level scale and level 3

scale
The time has come to fix the levels in terms of scale. Earlier we decided the size of everything- the philosopher, the minion, the blocks that the level would be made of, how high the philosopher and minion can jump. the units could be anything really.

the philosopher -- 2 units tall, jumps 3 units high 
the minion -- 1.5 units tall, jumps 3.5-4 units high (not tested yet) but he definitely jumps higher than the       philosopher 
the block -- the basic building structure for any level. 2 units long, .25 unit thick. 

so armed with the scale and the idea that all of the levels would be constructed out of the same block, I re modeled the first 2 levels.  They look much better, even if the aesthetic has not been implemented yet. The idea for the aesthetic is there, though which is an improvement. 

level 1 with scale, but without aesthetics (keep that in mind)
level 2 with rescaled objects

level 3
has been changed! yay! I have been turning level 3 over in my mind for quite some time. It did not seem clear what the player was supposed to do, it was difficult to create a scoring system for that level. It started to seem like the only redeeming thing about the level in its current state was that it was true to the trolley car problem. 

a very quick MS paint doodle of the level
a few quick announcements about this doodle. 
1- I did it very quickly, and it modeled after an actual sketch. 
2- the X marks the spot (ha) where the lever will be. 
3- the thing in the top right is a trolley car 
4- the double triangle in the background in an hourglass, with sand in it
5- the large 'A' and 'B' indicate the platforms
thank you, that is all. 
the re-worked level 3 looks like this. This version is less true to the classic example, but it is clearer what the player should do. I have begun modeling the level,  but the necessary animations are not yet complete. This is what I envision :
  • when the level starts a trolley falls from the sky and squishes platform B (the one with 5 people instead of 1) and then we show a lever pointing to that platform
    • player needs to understand that the trolley fell there because of the lever pointing that way
    • player cant move at the point
  • then the level resets and the hourglass in the background starts counting down
  • when the hour glass empties another trolley will fall to a platform
  • the platform depends on the where the lever is pointing
This seems easier to work with than the original level 3 idea. It seems easier for the player and most of it uses mechanics that have already been created for the first 2 levels, but of course if it turns out that it is still complicated I will consider level 3 take 3.
The main differences between the new and old versions of level 3:
  • in the old version the player walked around a lot - in the new version the only moving they do is to move the lever (if they so desire)
  • ideally the new version will have a tiny cinematic beforehand to show the trolley action (mentioned above)
  • the new version features an interesting way to show time counting down , at least I think its interesting
  • the new version has the trolley falling out of the sky rather than running on a track, this is less true to the actual trolley car problem. but that can be overlooked for the time being (and perhaps forever)
real life problems
the last thing on my mind has less to do with the actual game and more about how to get work done in general. In my workspace there is a cork board dedicated to Kourality and it has 3 columns- to do, in progress, and done. The board is filled with a bunch of small cards with tasks written on them. Everytime I am going to do work, I look at the board and decide what needs to be done. I was operating under the assumption that the programmer of this program used the cork board as well, but that did not seem to be working in terms of making progress on the programming for the game. I am going to work on some ideas to keep the game to do list in his face, besides printing a list and taping it to his forehead.




















Sunday, May 25, 2014

Action Paths and Assignment

Last time we were talking about the priorities of each philosophy and how we would use those to create guidelines for what actions would get you a result of each philosophy.
Currently the plan is to have the player play the first three levels without a tutorial and without instruction and to monitor their actions throughout the levels. After each level we would do a small assessment of the actions from that level and mark the player as K, O or U. That happens again after the second and third levels. So for example, the first level is simple so we were able to create a small matrix.

      key:
K -- kantianism
O -- objectivism
U -- utilitarianism
chest -- a treasure chest (with money inside, instead             of loose coins all over the map)
minion -- going to rescue the minion in the far corner                of the level
speed -- the amount of time it takes the player to                    reach the goal in the level (will be measured              in greater than of less than a certain time,                  but that specific time is not determined yet)

Based on the order in which you did the actions in the chart, after level 1 the players is marked as K, O or U for level 1. There is another (slightly different) scoring system for levels 2 and 3. After playing the first three levels the player would have 3 "scores" each K, O, or U. If the player has the same letter for two of the levels (scoring U in levels 1 and 2 for example) then we run a final check (for exceptions). If the player passes the exceptions then the player is marked as that philosophy and is informed of the great news! (keep in mind that the letter scores for each level and the exceptions are all managed internally and the player has no idea)
The exceptions
Even if you score a certain philosophy twice, there could still be a certain action that you did that means you would never be labeled as that philosopher. For example a Kantian would never end the life of another person. So even if the player was evaluated as a Kantian in the first and third levels, he would not be a true Kantian if he killed the minion in the second level. So if the player scores K in at least two of the levels it it would set off a flag to check the exceptions for Kantianism at which point it would check if the player had purposefully killed anyone throughout the first three levels (again all of this is managed without the players knowledge). If the player had killed someone during the levels then he failed the exceptions (not a big deal, just means he is not a Kantian). If the player fails the exceptions then they will get randomly assigned to one of the other two philosophies. This probably isnt a perfect way to handle the exception cases, but it will do for now until we find a better option.

This post was a little different because it had a a lot of thought that normally goes into the programming, but is skipped in the blog. But it seems important to understand the way the game is going to work (more than just on the surface level)

Hopefully soon we will get into aesthetics.

Friday, May 2, 2014

Action Paths and Priorities

hello!
We have decided (at least for now) to have the player play the first three levels without any instruction and not assigned to a philosophy. After the first three levels we will assign the player to a philosophy. The new story supports this idea and it is set up in such a way that it does not seem like a test (even though it is). The assignment to a philosophy is based on actions the player does in the first three levels. So it goes like this:

  1. the game starts(yay!)
  2. the player is in level 1 (there is no longer a tutorial) 
  3. there are no instructions 
  4. we monitor the actions of the player
  5. based on those actions they are grouped into one of the philosophies
  6. then they learn more about that philosophy and have to be consistent with that 
The best part is that the way the new story is set up, all of that makes total sense and (ideally) noone would question why any of that is happening, but more on the story next week.
Because the assignment is based on the actions in the first few levels we had to decide exactly what actions would constitute each philosophy. In order to do that we created a list of priorities for each philosopher. We then used that list to create an action path for each philosopher in each level; it is rough sketch rather than a rigid set of rules. Whichever path the player matches with the most will be the philosophy they get placed with. Some of the priorities had to be exaggerated from the original ideals of the philosophy, but that is to be expected since it is a game.

Priorities of each philosophy
This is intended to be a rough guideline for the philosophy. For example, the priorities of Objectivism might be something like speed, independence, absolutism and happiness, but most of those would not be priorities of Kantianism. Some of the priorities of Utilitarianism would include happiness and community, but not independence of absolutism.
Since one of the priorities of Objectivism is speed, we would monitor how long it took the player to go through the level (if the player explored the whole level it would take longer than if the player just breezed through quickly).    

Saturday, April 12, 2014

Poster

Okay so let's talk about the poster.
        We designed it to represent the game at Digitech, which was an students+technology event at our university. We wanted to have the game there and have people play-test it, but we had class for the majority of the event so it did not end up working out. Luckily, we did have the poster there to represent the game and the people looking after the poster told me there was some interest in it throughout the day!

        The idea behind the poster was to explain the elemental tetrad of the game (Mechanics, Aesthetics, Story, Technology) without boring the reader to death. We wanted the poster to be halfway between a typical game poster (lots of flash, little explanation) and a research poster(lots of explanation, no flash). We also wanted to find a way to represent all three philosophies of the poster without it being visually overwhelming. Over the course of drafting, redrafting and redrafting the poster we made some changes to the story and aesthetics, which I am personally very excited about. So without further ado, here is the poster.


poster that we made for Digitech
Here is a link! (in case that is your style)
        We managed to represent all aspects of the tetrad and have some flair! The title has a color to represent each philosophy: orange for Objectivism, sky blue for Kaniantism,  gray for Utilitarianism). Under the title there is a small blurb that explains the game: an educational philosophy game that focuses on the differences between three philosophies, higher levels simulate trolley car problems. The elements of the tetrad are spread around the poster, and story is at the top because it is useful to know when considering the aesthetic, as well as the overall design of the poster. The story explains that the translucent purple humanoid on the poster has no memory of himself, his values, his likes and dislikes. He needs your help to find himself and figure out why the little robed guys follow him around offering to help and to figure out how he keeps ending up in weird situations.
        The humanoid is standing in front of a 3-sided mirror and there is a different character in each face, one for each philosophy. The humanoid is one of the three characters, throughout the game he figures out which one. In the poster the humanoid is translucent because everything is uncertain for him.
        The minions in the background represent understanding of the philosophy (because you get more of them in the game by demonstrating an understanding of the philosophy).
       The black to gray gradient in the background represents the aesthetic, which is dark and blurry in the beginning (because that is how the mind of the humanoid is-fuzzy and dark and uncertain). As the game progresses the humanoid remembers more about who he is and what he values. As that happens the aesthetic get lighter and more detailed.
        The mechanics and technology have not changed, since the last blog post about them. I like the changes we made to story and aesthetic. Hopefully the thought we put into the poster translates to the viewer. It might be one of those monkey cage situations where it makes sense to me because I have spent so much time working with it. The people that saw it seemed to understand what we were trying to get across, so that is promising!

Wednesday, April 2, 2014

Kourality

WE DID IT!!!!!!!!!!!!!!
Eventually we decided to call the game Kourality, at least for now. 
I still like Die Ethik, but it sounds kind of serious (and this game isn't even a little serious). Kourality seems to better represent the game. It is a word we made up by combining Kantianism Objectivism Utilitarianism and moRALITY. We can change the title later if we think of something more fitting. It is very exciting to have even a working title!!!!!

In addition to thinking of a name I designed a poster to represent the game! I understand why it is not usually one person's job to think of concepts, design and model characters, create and debug levels AND make the posters. I really enjoy doing all of those things, but there are not even close to enough hours in a day to do it all. During the poster making process we decided it would be better to have the player play through the first 3 levels without instruction and to monitor them during that time and assign them to a philosophy based on that(but more on that in a later post.) The poster gave us new ideas for the story and aesthetic. We ended up re-writing the story and that led to us finally deciding on an aesthetic! WOO HOOOOOO! 

It was quite the action packed week, at least in terms of game progress. We are trying to keep up this momentum as we work on the weird bugs in the 3rd level and map out possible actions in the first 2 levels to certain philosophers. Next time lets talk in depth about the poster!