Wohooooo. Not long after UE4 blew my mind with its massive patch notes, Unity has been upgraded to 5.6! While I still somewhat lament the inclusion of a more elegant way to update Unity, I am very much pleased with the potential of the update. It focuses on numerous things like better lighting, improved Vulcan support, mobile performance and the video player getting a significant boost (it can now play 4k!).
However, my main area of excitement is with the 2D pipeline. There seem to have been numerous improvements to 2D games, including a more advanced collision system and the ability for particle systems to interact with 2D objects. There have also been improvements to tessellation, sprite outlines and newly introduced sorting groups for sprite clipping!
No Sorting Layer
With Sorting Layer
This is great news and both will be something I will make sure to utilize in my university project and beyond! In particular, particle systems will be a ton of fun to play around with!
It has been a while since my last post but I am proud to announce that I have finally finished the roguelike2D tutorial! Unfortunately, after a lot of consideration, I decided not to make a game in that style and instead make a bullet-hell shooter style game. There are still some tips I learned from this tutorial that will be invaluable to me when making my submission and beyond.
Vlambeer’s logo – A flaming bear JW drew on a whim in MSPaint
My aim with this project is to emulate the kind of raw satisfaction hat come from playing Vlambeer games. Vlambeer is an odd studio for me. I find them arrogant and self-conceited and I honestly don’t like a lot of their games. Then you might be thinking – why would you even pick them as an inspiration if that is the case? The answer is simple, much like companies such as Nintendo, I don’t need to like them in order to respect them and acknowledge their strengths.
The duo behind Vlambeer. On the Left Rami Ismail, handling marketing, production and management. On the Righ – JW, the creative force behind the studio’s wacky games.
In the case of Vlambeer, it is what JW (Designer) calls “game feel”. He even has an amazing talk, where he showcases a prototype where he goes through steps of adding small touches to a game that make it “feel” that much more satisfying and visceral. While I believe he goes entirely too far, there is still a lot to be learnt here. Small touches like bullet spread, randomness, knock back and screen shake can entirely transform a game. That is why I have done a lot of research into the studio and have even gone as far as to requesting the library to get a copy of their book, which is already a fascinating insight into their design process, which I will reference and draw upon for my submission.
In my next post, I will show the progress I have made on my prototype and how far it has gotten. I won’t dwell too much on the design intricacies of it, as that is not only a WIP but also will be part of my submission.
This weeks tutorial was intense. It made me remember a lot of the more intermediate programming practices I knew back in high school as well as teach me a lot of new concepts.
The goal was simple – to create a moving object script, that would serve as a foundation for all moving units in the game. Taking advantage of inheritance, the core pathfinding would be the same and each different kind of character would have their own implementation of movement. This makes the code much more scalable and cleaner.
What was interesting was some optimizations in pace, for example have an inverse of the movetime so that we multiply instead of divide, which is more efficient in terms of computing power. I also had to refresh my knowledge on inheritance, singletons, layer masks and such. It also introduced a bunch of brand new concepts, such as protected virtual functions, which can be overridden by the inheriting classes. Another useful thing was passing in generic parameters, that can be defined and flexible. This was something that I had always wondered about but never quite knew how to implement.
No images this week, because I am kicking it into high gear and focusing on getting this tutorial done so I can begin work on my own game.
As any gamer over the years i have amassed a troubling amount of games in my backlog. As of this article the unplayed/unfinished games in my Steam library alone sit at a delightfully unnerving ~459. To solve this I have decided to combine two productive activities and I will seek to give my thoughts on and post about each game, in this way both generating regular content for the website and burning through my backlog. What could possibly go wrong.
Important to note is how I have avoided the dreaded word “review”. This is because I have yet to see a format for game scoring/reviewing that I like. Until I come up with something I will just give my overall thoughts on a product, trying not to follow the typical pattern of “classic game reviews” that is often too narrow-minded, categorized and dull to be of any use to a wildly varied interactive medium. It also fuels my false superiority complex. Woohoo. And don’t fret, the Arbitrary Game Score™ will still make an appearance.
Here are some numbers to illustrate just how bad the situation is. See that pretty banner on top of the article? Those are 56 games from my Steam library. Looks like a lot, doesn’t it? Well, with my current library size (which seems to grow every week), there are 8 more pages. Yeah… That’s not counting the 15 NDS roms, 8 Wii, 28 PS3 ,19 PS4, 13 PSP, 11 PSVita and god knows how many Android/iOS games in queue. It’s bad. it’s real bad.
Keeping the number-based reality check going, here are some images from two delightful websites.The first one being Steam Left – a service that gives you an approximate number of hours to beat all games in your library. In my case it was this:
Lovely. That’s for the bare bones main campaign completion btw.
The second website offers a more in-depth insight into how stupendously impulsive of a buyer your are. It’s called How Long To Beat Steam – and is linked to the How Long To Beat website, which offers pretty accurate community sourced playtimes – including completionist runs. The added details and accuracy make this one even scarier.
Right, then. Seems like this’ll be a fun ride. On a positive note, at least I won’t run out of content anytime soon. Without further ado – my first ever “review” Just Cause 3
Today I finished the second part of the Level Generation in the Unity 2D Roguelike tutorial. The system works now and doesn’t look half bad! Using the algorithm from the previous post, it generates levels of increasing difficulty with progressively more and more enemies. It’ll definitely be a consideration for my own project, as a system like this could give a lot of replay value, without the need for actually designing the individual levels.
I also got a refresher on what Singletons are – and used it for the GameManager, as it is a persistent element that will be in each and every scene. I also saw how to elegantly assign all of the different sprite variations to an array – integral for rapidly working on a level generation system.
The GameManager script that utilizes the BoardManager and is persistent throughout every level of the game. It’s initialized by the Loader script, which is part of the Main Camera.
Above: some of the generated levels with a marked difficulty 3.
Overall, a very productive tutorial and I am happy with the quick pace of it. Eager to learn more!
PS: I also upgraded to Visual Studio 2017, which for now has no discernible benefit apart from slightly better UI and build times.