Studio_3[week_six]; Weekly Roundup — November 4, 2016

Studio_3[week_six]; Weekly Roundup


Weekly Roundup –

First off, I would like to apologize for the VERY late blog post. I ended up writing this blog post on Tuesday morning before Uni, but I forgot to finish it off before class and post it. So Now it is the Friday of Week 7 and I will be posting Week 7’s Weekly Roundup in two days. Alright, now on to what happened during Week 6…

Anthony wasn’t there on Tuesday, I think because of sickness, so we had Greg for the lesson. Greg was unfortunately starting to get sick as well, luckily us Programmers had a lot to do still, so Greg didn’t have to talk much. I spent the whole lesson bug-fixing for the SpaceRace game. There was a bit to do, so it filled the whole lesson.

On Thursday, Anthony wasn’t in once again, Adrian told us that Anthony wouldn’t be taking us anymore and that Greg would take us instead. I really like Greg, so I don’t mind at all, but I was just starting to get on the good side of Anthony and was wanting to see where it would go, I was hoping maybe an internship at his company ;). I really enjoy Greg’s teaching style though, I had a lot of fun last trimester. Greg hardly had a voice, but he was a trooper and took us to another room and we told him all that we have done this trimester so far in hope that we could get some LOs ticked off on his newly-created LO sheet. It was nice to look back and re-remember everything we had learnt so far, it is amazingly a lot! When we got back, our Designers had more questions for us about the Alphas we had made for them. The SpaceRace Designers wanted nothing else from me apart from integration of the ad, social media and IAP systems, and the Splop! Designers had a whole list for me which I got to doing straight away.

From Saturday-Monday I worked on more of the Splop! feature / bug-fix list that I was given. I still have a little bit to do but hopefully in class today, I can get it done. Yes, I have left this blog post till Tuesday, but I didn’t want to be distracted, I project that this won’t happen again, but I can’t predict the future, who do you think I am?

This is Daniel Jochem, signing out.

Studio_3[week_five]; Weekly Roundup — October 23, 2016

Studio_3[week_five]; Weekly Roundup


Weekly Roundup –

On Tuesday in class, we showcased our Alpha games to our Designer groups and also to our facilitators. We were instructed that by the end of the lesson we should have playable versions of our games working on the campus tablets. I had not tested if any of my games worked on a tablet and had never before created a game and put it on a mobile/tablet so I was quite worried that it would take a while to get things situated so that inputs were working on the tablet and that the game was not running in some weird camera position or skewed or anything. Luckily we were told that if we scripted mouse inputs, that using touch inputs should in theory work straight away, and it turns out they do! The problem I did have with both my games, however, was that the games were zoomed in about 20% so you could not see UI that was placed in the outside 20% of the scene in Unity.

It didn’t take that long to fix the camera/UI situation, so for the rest of the lesson I went through with my Designers a few gameplays of their game and asked them what they think I still need to do for them to be satisfied with my contribution to their project. For Splop!, the Designers were over-the-moon with what I had achieved and said my work was satisfactory. For SpaceRace, they had a whole list of things I still needed to do for them for the game, which I expected, and I had a list of my own for things I still needed to do to their game from over the weekend so we compared notes and found that all but one thing was exactly the same, so I knew exactly what I needed to do still and had already planned how to achieve them over the weekend, so that team was quite happy for me to slightly-faster-than-potter along until I got it all done.

On Thursday, the Programmers spent the whole lesson working on the games. It was good to get live support from each other, someone to talk to if we encountered a problem and we ended up working reasonably quickly though each of our problems because of this. Anthony was away for some reason, so Greg was there to help us if we needed it, oh how I miss Greg, he is so great! Anthony is alright I guess… 😛 Haha, but yeah I really enjoyed my time last trimester and it was good to catch up with Greg again. By the end of the lesson, we were to have complete Alpha builds so that Adrian could put them onto his phone and show them off on the weekend. I didn’t get my whole second game done, but Splop! was functionally complete even before the lesson.

This weekend I have been working on SpaceRace and have only just finished with all the systems before I started writing these blogs tonight. Tomorrow is going to be spent porting the 5.5 version of Splop!’s level builder over to 5.4, and then I am going to implement loading levels back into the builder so that you can edit them again, as well.

This is Daniel Jochem, signing out.

Studio_3[week_five]; A Busy, Busy, Busy Weekend —

Studio_3[week_five]; A Busy, Busy, Busy Weekend


A Busy, Busy, Busy Weekend –

As promised, you will be provided with an update of my progress over the weekend. I can tell you now, it was a VERY busy weekend. It quite possibly was the most intense weekend work-wise that I have ever done. I spent on average 18.75 hours a day working on these two games I was assigned.

The first day was purely assigned to creating a level builder tool for the first game, “Splop!”. The level builder is awesome, if I must say so myself, but I made the mistake of building it in Unity 5.5, not 5.4 like the computers at Uni, so I will need to transfer the scripts over to a 5.4 project and rebuild the scene again. I will probably be rebuilding it tomorrow, it shouldn’t take more than 6 hours to do it, and 6 hours is REALLY giving myself time, it most probably could be done in 2 or 3.

The second day of this insane weekend was meant to be assigned to make the whole of the first game, Splop!, but I ended up having a few issues with certain aspects of the UI, mainly the scrollbar for selecting which level you want to play. So instead of making the whole game, I spent the whole day finishing up and “perfecting” (making it as clean as possible within reason) the UI instead and leaving the creation of the main gameplay till Sunday. I also built a way to import CSV levels created by the level builder I built on Friday.

On Sunday, instead of doing the planned starting and finishing the whole creation of the second game I was assigned, “SpaceRace”, I spent the day creating the main gameplay and completing the game loop for Splop!. I apologises to the SpaceRace Designers for not getting their game done today, but luckily they had faith in me that I could still do it and trust in me that I wouldn’t do a half-assed job of it and instructed me to not worry if I don’t get everything done that was discussed between us for the Alpha as they didn’t want me overworking myself (haha, like that wasn’t going to happen), but to do the best job at completing the most that I could possible achieve. I was feeling fine about it as my plan was to spend a day doing each game as said earlier, but since it was on Monday that I would be creating their game, there would be no time to work on single bugs for too long.

On Monday, I woke up two hours earlier and spent till 5am creating what was essentially 80-85% of the Alpha for SpaceRace. I therefore got 3 hours sleep before class on Tuesday, but I had a good game loop and reasonably balanced gameplay so that you wouldn’t die within a few seconds but also wouldn’t spend too long alive. There were a few minor things I did not have time to implement in the day spent making the game, and one whole system as well, but I was very happy with how much I had achieved over the day and the whole weekend combined! I do feel bad about spending essentially 3 days on the first game and 1 day on this one, but it was good that I completed the first game to the level that it was, as I could spend this current weekend polishing up and implementing the final things into SpaceRace.

This is Daniel Jochem, signing out.

Studio_3[week_four]; Weekly Roundup —

Studio_3[week_four]; Weekly Roundup


Weekly Roundup –

On Tuesday in class, we were told by Anthony, that as Programmers, we are in charge of releasing the Designer’s apps on the Google Play store, we are in charge of handling the Designer’s repos for their games throughout the project, and also that the Programmers will be making Alpha games for the teams over the weekend. A question popped into my head as Anthony said this, and I asked, “Well, if there are three Programmers and 4 Designer teams, won’t one team not have a Programmer, that isn’t very fair!” and to my amazement, Anthony’s response was that yes, I am correct in saying that, and that I have been assigned two projects to manage. At first I was a little worried that handling two teams was going to be an overload, but I was them humbled by the fact that Anthony had that much faith in my ability to handle such a workload.

The Designers pitched their game ideas to other teams and to us Programmers. Anthony told us to make sure to write down a lot of notes and Designer’s pitches and asked Designer’s of the groups we were handling specific questions to do with the project as we were to make the whole of the Alpha for their games over the weekend.

On Thursday, we were told that the modularised systems that we were to be creating would need to be distributed to all four groups very easily and make it so that the Designers can not push any changes they make by mistake or customisations to the systems to be more useful for their games. After about ten minutes discussing between the programmers, we didn’t come up with a good solution to this problem and were informed that there was such a thing called nested repositories. You can put repositories inside other repositories and the ‘child’ repo would not be committed by the ‘parent’ repo, so that we can put our programmer-y additions into this ‘child’ repo and the Designer’s wouldn’t accidentally push their changes to everyone else via the shared ‘child’ repo (as nested repos don’t detect each other).

We spent the first 3-hour period making these repos on Bitbucket, sorting out how to manage them and how to get the Designer’s to update their projects with the new content we push in this nested repo.

The second 3-hour period was dedicated to getting to know the Designer’s projects, we had an interview-type meeting between Programmers and their groups in front of the whole class, where in us Programmers asked questions to our Designers about details that we were not clear on or that were missing from the project GDDs, as again, the Programmers were making Alpha games for their assigned projects over the weekend. I started to feel a lot more worried about the workload that I was going to complete over the weekend as making two feature-complete games in four days was going to be a challenge, but a challenge I was willing to succeed at. I will update you on my progress in next week’s blog.

This is Daniel Jochem, signing out.

Studio_3[week_three]; Weekly Roundup — October 10, 2016

Studio_3[week_three]; Weekly Roundup


Weekly Roundup –

In class on Tuesday, we were informed that we would not be learning anything new today and that we should focus on finishing up everything we have done over the past two weeks – which was surprisingly a lot – but luckily I kept up with most of it. I only had a few bugs to fix in my Breakout game and I also ported over the Object Pooling system over to the game, integrating the bricks into it. I also needed to add support for multiple levels, but did not have enough time in class to start this.

For the first half of Wednesday, we listened to the Designer’s pitches for their games and asked all the technical questions we had about systems in their games and how they work etc. After our dinner break, the Programmers reformed at the back of the room and Anthony went through with us a method of giving the Designer groups each a repo but for the Programmers to control a part of their repo so that we can push system scripts that we make for their games, to them without them being able to push their changes back to us. It sounded complicated at first, but after a while we figured out that we are able to nest repos inside each other so we created a way to do such things as explained. Anthony also went through with us explaining what we are expected to handle as Programmers in this project. We are in-charge of releasing the Designer games to the Google Play Store as well as managing their repos as previously stated, and creating some of their systems which can be modularised so we create it once and give it to all groups and it should in theory just work, if not, only needing minor changes to specify it to each game.

Over the weekend I implemented another two levels into my Breakout clone. I also spent an hour and a half trying to break all the things I could and discovered another few bugs that were hiding in the shadows some of which were slightly game-breaking, most bugs came from stuff related to the integration of the Object Pool system. I fixed about a third of these bugs but I had to move onto other things I needed to do this weekend that were not related to Studio 3, so I will fix them up during the week, hopefully finishing bug fixing at the very latest by Tuesday, 9 days from now as we need to focus on the Designer’s games starting this week.

I would assume we are going to start making these modularised systems in class this week, I hope we didn’t need to start them over the weekend because I have checked with the other Programmers and none of us have started on any systems.

This is Daniel Jochem, signing out.

Studio_3[week_two]; Weekly Roundup — October 2, 2016

Studio_3[week_two]; Weekly Roundup


Weekly Roundup –

Another week, another topic, we are moving through reasonably fast, there is a lot to learn still before we focus more on the Designer’s games which they will present to us on Tuesday this week coming.

Tuesday’s lesson we were reminded of an optimisation method called Object Pooling. I didn’t recognise the name at first, but then as soon as Anthony (oh yeah, Anthony is our Programming Facilitator this trimester) started talking about a way of not having to instantiate a new object every time we need it and then delete it when it is not used anymore, everything came back to me. I remembered all of it from back in Scripting 1 with James Bowling. Again, we were given a UML Class diagram which would lead us in the right direction when implementing an Object Pool, but we were also instructed to first write a ‘story’ of what an object pool would do and what would happen for it to be called etc, basically a game loop for a system, then we were to create our own Class diagrams to implement this based on the story we wrote, picking out possible fields and methods that may exist based on our story.

We were asked to create a Breakout clone on Wednesday for Thursday’s class, and were also asked to integrate the Object Pool we wrote into our little game we had been creating last week. The Breakout clone went wonderful, I couldn’t have asked for it to go any better, except in class 3 bugs appeared whilst I was showing it off, which I never saw, but they weren’t game-breaking bugs, so over the weekend I fixed them.

Thursday’s class was focussed on building a level from a CSV file. I have messed with CSV stuff previously, the most I did would have been last trimester when helping Gareth and Toby in their second game brief when importing musical notes. That was reasonably simplistic, it used Unity’s simplified methods of importing and splitting a CSV. The way we did it on Thursday was way harder, but it made a lot of sense how it was done, not like the way I implemented it last trimester. We worked on importing bricks into our Breakout clones instead of manually placing them ourselves. I had two problems by the end of the lessons still though, where the bricks would spawn on the same X location but the Y-axis was fine, and the other problem was the bricks wanted to start spawning from 0,0, not the spawn location I wanted them to start from. Both issues were fixed on Friday, reasonably easily, I think it was just getting too late on Thursday, as it was at the end of our 6-hour day, which starts at 3pm and ends at 9pm.

We were instructed to improve our Object Pools over the weekend, as at it’s current state, it only supports one type of object, and it needs to support holding multiple objects in the pool. I haven’t done this yet, but I plan to do it tomorrow.

This is Daniel Jochem, signing out.

Studio_3[week_one]; Weekly Roundup —

Studio_3[week_one]; Weekly Roundup


Weekly Roundup –

Well, it is officially the last Studio Unit this trimester, and the second-last trimester of this course. The end is coming up really fast, with just over 7 months to go, just 25 more uni weeks. We started off Tuesday’s lesson going over what is going to happen and what is to be accomplished by the end of the trimester. We are going to be working in C# for the whole trimester, learning many C# concepts that we have either not touched on before, or only slightly touched on back in Scripting 1. We are going to be using Unity, but the type of scripts we will be writing will be more pure C# based, and not so much Unity C# based. I really do like this method, as Unity simplifies a lot of the logic by providing you with built-in methods and classes so that making Unity games can be much simpler and be done much faster.

Tuesday’s lesson involved a lot of remembering the C# environment, including how inheritance and polymorphism works in an Object Oriented language. I did a bit of C++ over the holidays, but no Unity / C#. We haven’t touched the purer form of C# since Scripting 1, so there was also a bit more complex C# concepts covered on Tuesday.

We set out to create simple movement scripts that use inheritance based on a description of scripts (not class diagrams) on a brief that was provided to us. It took us a little while to get the hang of things again in C#, but once we practised a bit, we were on a roll!

Thursday’s class was spent creating an Event System which would detect keypresses and if the key pressed was in a list of keys preset, a message would display on the screen saying you pressed the key. Now that sounds reasonably simplistic, but the only way I have done such a thing before was through Unity’s C# syntax, very easy compared to the purer C# way we did it. I had never used a C# dictionary before and had never ever heard of a delegate before Thursday’s lesson, so that was very interesting to play with.

We were given UML Class Diagrams to go by creating the scripts needed for the Event System. We had all created Class Diagrams in the past, but I can’t remember creating scripts based off one before, maybe in Programming 1, but that was too long ago to be 100% sure.

For homework over the weekend, we were given the task of adding a shooting system to our moveable players, also adding a point-and-click movement option, and then use this generic event system to display on screen when the player’s character is at the clicked location.

I am going to be trying to achieve blog sizes of around 500 words instead of 1000 words as I heavily stated in my final presentation last trimester, I should improve on this, I would spend too much time writing blogs, therefore having to schedule less time to do other work in the Studio module. It basically took 3/4 of a day to write a blog, leaving a 1/4 of a day to do other Studio work, not very good for the amount of work increase I expect will come this trimester as more will be expected of us as this is our last Studio unit.

This is Daniel Jochem, signing out.

Studio_2[week_thirteen]; Effective Reflection on My Skills as a Programmer — August 24, 2016
Studio_2[week_thirteen]; Critical Reflection on Teamwork — August 23, 2016
Studio_2[week_twelve]; Weekly Roundup —