Friday 8 December 2017

Final Thoughts


Reflections about my role in the team (as team leader):

Organizing the group is a lot of work. Making sure we communicate with each other, making sure everyone has something appropriate to do and that they are capable and comfortable doing, is also time consuming and not always easy. Also keeping everyone updated on what is happening right now, what we need to do, and hinting that we should decide a date for the next meeting (and having the final say kind of) is also time consuming and not that easy.

Additionally it takes time to always have in mind what the next steps should be, thinking of the bigger picture and the time constraints, meaning that I had thought I would have more time to code etc then I did end up having.

But I learned from working with people that I haven't worked with before, also very different kind of people form each other and from people I usually work with.

Setting ourselves an earlier deadline was probably good, even though we did not manage to finish by then. It made sure we pushed ourselves and the project a little earlier, which enabled us to have less things to fix the last week. However, there was still a lot to do the last week.
We managed pretty well in the end, but it wasn't a walk in the park exactly.

At the beginning we were pretty good at meeting etc. Towards the end, always someone  or more than one missing when we met. Problematic.
Most of the GDD was in the end written by only a few group members.
That wasn't the plan and I tried to push writing the GDD earlier, and poking people to remind them, but that strategy wasn't very successful. It worked sometimes.
Needed to really insist to get any feedback on what we had written in the GDD from those who hadn't written much in it.
I guess, since it's the end of the project, sometimes you get a little tired of your group members. Also we all had other courses in paralell with similar deadlines and needing project work time. However, I've felt in earlier projects, and that was confirmed again in this project, that simply communicating through messages doesn't work. We get so much more done and understand each other so much better when we meet in person, so I'm a little sad that we weren't as good at that in the end.


Reflections about the project work:

We didn't have any exactly defined roles, except mine as team leader, but looking back we worked with different things and there was some kind of informal division. This meant that most of us coded some at some point in the project, even if others wrote the most of the code.
The code is obviously a central part of the final product, however I learned how important and how much the documentation, the Business Plan planing, the Target Group planning etc is too.

I wrote about the Business Plan and the Target Group and such in the GDD, however I found a lot of support in the group when we planned those parts before writing them in the GDD. It was very good to have discussions about them, and get feedback from the rest of the course students, so that we knew what parts we might need to explain more. The presentations were also a great tool, because a lot of our discussions were because we were to present our ideas, so that could also be used to base the GDD on.

Reflections about other projects and course:

During the final demo it was very interesting to see what other groups had done, and how different they all were from each other. It was also interesting that you could see that the groups put different amount of focus on different parts, and there final product was shaped thereafter.
Some projects I really enjoyed hearing about was the AR pirate game and the Beat game.

KamiClones

Final Product


Here is a video of the final product, a trailer of the game (made by Alexander).




Here is the website (made by Conrad):

End of week 6


When the merging of the code was done, we needed to concentrate on writing in the GDD. We had already a lot written, but there was still a lot more to write, and it was hard to get across to the whole team, that we needed to write about parts that we hadn't specifically worked with during the project.

In the end it was Alexander and I who made the bulk of the GDD, however the others wrote about the specific parts where they had done most of their project work.

But that might have been for the best because I think we had the same vision for the GDD, and we worked well together.

I went through the GDD several times fixing the formatting, reworking parts, and adding pictures and footnotes for the references.

I also shared the almost final versions with the group to get help with proofreading and catching inconsistencies.

For the coding and the demo, there were one particular thing left to code, the saws. However we had a discussion Wednesday evening if we should change the menu or not, so that the unlocking of clones was gradual. I thought we should not add functionality so late in the project, however it turned out it was a small fix and it worked well. Daniel also fixed the gradient colors of the background, which made a big difference to the look of the game. I tweeked the colors of the objects and the background for it to look like the concept art. However, I realized after the demo, that I had reversed the colors… It would have been a quick fix if I had caught it earlier. However, that is a minor detail, the gradient was still far better than the black background.

As seen below, its the same colors mostly, but reversed. The first picture is the concept art, the second is the final Demo look.





During the end of the week I tried to keep the group updated on what was left, and tried delegating a lot of it, such as the video. However the GDD was still the biggest part where I couldn't really delegate because it just needed to be done and it would take longer to convince someone else to write something where I already had an idea of what to write.

Eleventh meeting, 4th Dec, week 6


For this meeting I had a few thoughts from last week, about how I would like to go forward.
We had divided up the coding stuff between us, and I had taken my part as well. However, this week I'd like to concentrate on getting the GDD finished.
So, even if I'd like to code and debug the game, I feel that it makes more sense for those who've written most of the game to do that, because it will take me some time to really get into it. And at this point we don't have time which we don't have.
Anyways, my time and resources are better spent on the GDD, and making sure we get everything that we need done.

I shared these thoughts with those of the group who could make the meeting, and they were fine with it.

We talked about the fixture problems that I had,  and I asked questions about how they and the code worked. I had made a few of the objects into 3D objects, but a few of them seemed to use coordinates when being created as 2D objects, which didn't translate into the way the 3D objects worked, so they seemed to disappear. I also wasn't sure about the disposal of the 3D objects. Daniel looked at it, and said he could fix it. And I could finally focus on the GDD and rest of the planning.

We also talked about the camera and decided to have fixed camera to see whole level, to see the whole craziness of the raggdoll and physics, and be able to plan you're next move.

Finally we decided to have a meeting over voice chat on Tuesday night to make a final merging of the code, during which all those who had coded should preferably be present.

With Daniel's fixes, the game now looks like this:


The remaining work

For the rest we divided up the remaining work like this:

Emmeli
  • write in GDD,
  • fix with presentation
  • make sure we get everything done in time
Alexander
  • Finish Explosive clone,
  • write in GDD
Conrad
  • Website,
  • write in GDD
Daniel
  • fix LevelElement (so that 3D works as it should),
  • fix camera angle (wide, see whole level)
  • Colours
  • Write about Tech in GDD
Benjamin
  • Debug code?
Antonio
  • Debug code?

The demo presentation


We also prepared the last presentation, what was in it, how long each part shouls take and who should talk about what.

20 min
  • 30 sec intro video of game
  • 30 sec presentation slide (name of game etc)
  • 1. Target Group (~2min) Emmeli
  • 2. Technical reqs/platform (~2min30sec) Daniel
    • Physics
    • Graphics
    • Hardware
  • 3. Game Concept (~3min30sec) Conrad
    • Explain what the game is
    • Explain clones
    • Story (SHORT) Alex
    • USPs
    • Screenshots of relevant parts of the game
  • 4. Businessplan (~3min) Emmeli
    • Workshop Alex
  • 5. Questions + gameplay by other students (~8min)

I made the presentation and then we each wrote the text on the slides that we would talk about.

Thursday 7 December 2017

End of week 5


I was sick this week, so I did not do as much as I would have liked before the weekend.
However I got help from a friend, Albin Remnestål, with drawing the logo in Adobe Illustrator and Photoshop. I had drawn a few ideas on paper but had a hard time figuring out how to digitalise it so that it would look as simple as possible.
Conrad wanted a logo to use for the website, if that was something we wanted.


logo creation: Albin Remnestål


I was to change all the Fixtures into 3DFixtures. However, I had not coded much of this project so I needed to put myself into the code to understand how the different parts were connected and where the things I needed to change were. I was to change all the Fixtures, which were in 2D, into 3D fixtures. The blue dots in the pictures below marks the classes that used Fixtures, and the pictures below is the mapping a made of all the classes.










I ran into some problems, because the fixtures are 3D in some places but not all, and the way to create them seem a bit different, so I need to figure out the easiest way to do that so that it works for all the relevant classes.

The game is also quite buggy right now, crashing for seemingly no reason at random places…


Things I thought about while wrestling with the code was that the last week we needed:
  • to make sure we get the camera as we want it
  • the colors right, 
  • and someone(s) needs to debug the game and fix so that it at least doesn't crash.


Tenth Meeting, Nov 29th, week 5


The final deadline is looming closer, and we still have some stuff to fix with the code.

Made a list of what needed to be done related to the code, what was realistic to do and distributed those things between us.

Decided to focus on code to get a playable demo finished at the end of this week hopefully, so that we could fix bugs and test the game the last week, as well as focus on writing the GDD.

If people had the time would be great if they wrote some in the GDD, too, but we should try to get the game finished as early as possible.

The list we got can be seen below. In it I tried to emphasis what things could wait, and what things were urgent. Since it's nearing the end, we all pitched in to take some responsibility for the code.

The Code:
  • Go through all fixtures and convert them to the 3D version EMMELI
  • Fix crashes (C problems in Java because, box2D runs native, with C)
    • Disposals has to be done together with the body
    • Debug the whole game
  • Fixing Graphics DANIEL
    • Spikes are cones
    • Make a good example of raggdoll class DANIEL
    • boxFicture class is good
  • UI, to switch clone types during gameplay, when respawn ANTONIO
    • (secondary menu for switching levels, next week)
  • Freezing clone and level 3 and 4 by friday, BENJAMIN
  • Encrease height of breakable wall BENJAMIN
  • Last harder level and website CONRAD
  • Clones we have = normal, bouncing, freezing
  • Exploding clone? WHO (“just” apply a force away from explosion 
point to everything in the world) ALEXANDER
    • Clone will explode when it dies
  • Explodable walls thinner
  • Fix the jump, so that you can’t jump of off wall ANTONIO
    • One wall jump
  • Bouncing clone changing how it works, advanced contact listener, 
apply force upwards, we would need to mark raggdoll : hard! Skipp this.
    The GDD:
    If time, it’s great if you go in and write stuff!


    Ninth Meeting, Nov 27th, week 5


    For this meeting I had made a todo list with things I wanted to talk about.

    We talked about my proposed deadlines/last weeks timeplan.

    Alex had talked to Björn, we discussed what had come up then, which were:
    • Do we need to have a level editor for the Demo?
      • Maybe not.
      • Idea: We probably won’t have the time to implement it.
      • BUT, we could maybe have a proposal of how it would look graphically?
    • We need to get the USPs through loud and clear, and the game concept
      • These things are: the level editors worth
      • The raggdoll physics
      • The clone killing puzzles + different clones   


    We made a technichal status list, with priority listing and questions about what the status was now.
    This meeting was only Alex, Conrad and I, and the three that couldn't make it because of collidig classes had done most of the coding at that point. So we three couldn't answer those questions.

    We also looked through the GDD and made a status list of that as well (a GDD progress document), to see what parts of the GDD were still empty and see what parts we maybe needed to focus a little more on.

    I then shared the technical list on slack and asked for an update.

    The technical status list looked like this:

    What is the technical status?
    • Graphics, status?
      • We need to focus on this!
    • How’s it going with the menu?
      • Might not be important, especially not for the demo. Only thing that’s really important 
    is being able to change clones.
      • If there is time, make a screen/menu between levels, where the player can see how 
    many stars he gets for the level, based on how many clones he’s used. [ ONLY if time ]
    • Levels, what is the status?
      • How many levels do we have?
      • How many more do we have time to make. 3 easy levels max + 1 hard.
      • Do we want a last hard level? (where you need to use all clones)
    • Clone types?
      • How many do we have right now?
      • How many more can we make, do we have the time to make, what type. 
      • Max 4 type of clones.

      Additional stuff:
      • Music?
        • Background music
        • Or sound effects (death, jump)
      → not this week, if there is time only, next week.