Got a job at TT games working on the Lego world, should be cool to study and work on, since i like worlds that work in weird ways. Got graduation coming up, and the Imagine cup in a few weeks, shit is getting busy. My contract is likely going to keep me from working on my own stuff, so dead air until then.
Some early stages of procedural generation in Hex world. I’m using Manhattan distance with voronoi to define biome borders. At the moment I have fields, deserts, and swamps in the world being generated with different terrain. This is still early stages, but an interesting test. The recording software im using is still a piece of crap, so expect stuttering.
Ultimately the procedural gen is looking cool, but is bogged down by that whole entropy thing that follows it like a curse, 100 million ways to make the same bloody thing.
Some progress on the new world manager for Hex World. Allowing me to dynamically load in world chunks to allow for the support of significantly larger levels. Hopefully this can be done in time for the imagine cup world finals. The recording software is twitchy as all hell and slow as shit, so it is all better than it appears, still not where it needs to be though. Refactor, rework, refactor etc etc.
Here is a video of the chunk loader set to load a tile per frame, slowing it down and visualising what it is doing. In the above video the chunk loader was set to create half a chunks tiles per frame. This whole thing may need some threading at some point, but getting threading to work with unity requires a certain level of self hatred to put your self through that hell. In other words expect that soon.
Image below of a 128 x 128 chunk world (16384 total chunks) in reference to the player and his total loaded space,which is a 4 x 5 chunk space. So yeah, way more space.
It is official me and my team are through to the world finals for the Imagine cup. Going through the UK semi finals, to the UK finals, to the World semi-finals, and now to the final. It is all just insane, but been fun as hell.
I still can’t believe something I started designing in July last year has made it this far. Weird has thing work out.
Me and my team just won the UK Imagine Cup Games competition down at Reading yesterday with Hex World. We were up again 2 other teams who had also made it through to the UK finals. The day was very tiring, and very unnerving as we had to make a 10 minute presentation in front of judges that included the head of id@xbox for Europe. I’ve been working on this game since August last year while getting my masters at university and it has been incredibly satisfying to see all the work done paying off.
Below is a pic of all the teams that made it to the imagine cup UK finals, me and my team are on the far right (i’m the one in the gray shirt in the top right corner).
I’ve needed to create some better systems to manage world shifting in the game. And have managed to do so with a system that buries all the back ground code made to communicate with the world manager in an abstract world shifter class object.
Here is a video showing 3 kinds of world shifters I have made with this system. The first is a sphere shifter, second a volume shifter, and the third is a pulse shifter.
I’ve gotten a little tired of how uniform the whole world looks with these perfect tiles. I want to create a tile system that will better reflect the environment you are in. If you are in a grassy field then you should not be getting tiles that are perfect in shape, but a little jagged. But if you are inside of a house you may want perfectly shaped tiles.
So I need to create a procedural system that can create tiles as jagged as I want them for a scene, while still keeping all the tiles perfectly interlocked. In order for me to do this I shift each vertex within a certain sized circle based on how jagged I want the hexagon. Then make sure that any other hexagons who share vertex positions apply the exact same offset.
The application of this new procedural approach worked really well, letting me have complete control over how the tiles are formed and creating a nicer aesthetic for more natural environments. Below are some tile generations at no offset, some offset, and max offset.
I’ve been sorting out some texturing for the tiles in the game so that the world is not so plain to work with. I’ve gone with a very vibrant style to the colour planet, and have laid out the textures to define a texture for the top of the tile, the edge of the tile, and the body of the tile. Some nice images below show off some of the texturing the world.
I needed an enemy for hex world, and being a big fan of terry Pratchett’s disc world I made some sentient books. I have never animated something before, so for a reference I watched some videos of the flying book Cheato from Banjo Kazooie.
Using this as a reference I made some key frames for the floating animation for the book. Though the attacking and charging animations I had to make without a reference.
Hex World has been a lot of fun to develop, and have decided that I am going to enter it into the imagine cup. This is my last year in Uni so it will be my last chance to be eligible to enter, I’ve also brought on 3 other programmers to help with the development during the competition. The imagine cup is a Microsoft hosted global competition, if we are able to win the UK nationals then we can enter into the global finals.
Our team page for the Imagine Cup is linked below.