Thursday, 25 December 2014

Shaders

     At the end of the term there was a very short introduction to writing shaders. Since Christmas break started I have decided to start following couple shader tutorials so that I can understand how these work and hopefully be able to implement at least one shader into my current project.

I used the tutorial from here. When the next term starts there will be more shader workshops at university and I hope to attend all of them so that hopefully I will soon be able to write a shader of my own.

   I have also started writing a simple pooling system, but because I do not need to use it for anything in my current project I may not finish it at this point yet.

Tuesday, 23 December 2014

Static classes and XML

     During the last lecture of the second term we learned about static classes and XML. Static classes seem to be useful for storing all global data used in one place. Those can also be used as Singletons as there is only one instance of them created. I may think if I need to use those in my current project to wrap up some repeating functionality if I will be able to find some. I may also use XML files to reduce the loading time of the level.

Monday, 22 December 2014

Delegates and Coroutines

     The next lecture was about delegates and coroutines. In C# delegates are used in the same way function pointers are used in C++. Having used pointers itself in C++ a little beforehand should make it easier for me to get the same concept in C#. The only thing I need to figure out now is how to use those in my current project.
     On the other hand I haven't used coroutines at all yet. Therefore I will look into how I could try them out and use those in my current game. They seem to be useful and even if I won't manage to incorporate them in this project i will definitely look into this topic further afterwards.

Game Entities and Singleton Pattern..

     Singleton pattern is not commonly used when utilizing OOP principles in  regular applications, as its not thread safe. Making something work is more important than good design principles sometimes and then Singletons are used. Those are used to make sure only one instance of the class is created. After the lecture I am not sure where I could implement this in my current project, and therefore i will research more on this subject.

C# and other programming languages..

     Second lecture we had was an introduction to C# programming but not only. We have learnt the theory behind how programming languages are working behind the scenes including how it works with the compiler and CPU itself.

     Main differences between C# and C++ were also highlighted, and therefore I have expanded my understanding of memory management and basic ideas behind it. It was also about memory allocations and how both C# and C++ handles it. This lecture included the introduction to object pooling lists, which I have started writing in separate project, as I can't see any way I could use it for my existing project(I am not using any spawning scripts and everything have a fixed size), I may try to implement it later. This was also the first time I saw XML code, which is not difficult to understand but may be very useful for fast loading big levels in a game.

Sunday, 21 December 2014

Leap Motion lecture

     During the second part of the first term we have  started a series of lectures and workshops led by Richard Weeks.
     First lecture was about Leap Motion technology. We were told what it is and how it works. We were also given a sample project to experiment with and see how it works in general. This was a major opportunity to find out more information about this type of software. I may think of implementing Leap Motion into my current project for this module but this would depend whether I will have a good idea what I could use it for.