About paperweight

Entries

 
Ludum Dare 31

paperweight's Trophies

paperweight's Archive

Post-mortem on Vanishing Point (1st entry)

Posted by
Wednesday, December 10th, 2014 5:39 pm

Vanishing Point

So this is the first time I’ve entered a solo game jam or participated in a ‘real’ jam. I started far too late but still managed to produce a game and most importantly it was fun and I learned some things. I’ll just say now that although I didn’t like the theme I did try and stick with it and still have fun but I think I ended up a little further off than I intended. My initial thoughts were that I wanted to go 3D – I had Unity doing 99% of the hard work so it’d be simple enough. This also meant simpler art as I could do it all with primitives within Unity. Then I thought about the images of the vanishing point image you often see in drawing or at in early 3D maths classes and how this might help be keep everything on the screen. Although this is not a game idea I immediately started coding to get the 3×3 movement working on WASD and Arrow keys as I figured I should enforce a restricted movement space and concentrate on simple mechanics to build the game. At the same time I wanted the movement to feel immediate without feeling “jerky” which I’d say is almost true in the final game. I also wanted the game to feel fast but not run into technical restrictions down the line due to high velocities and object spawning etc etc. So I started cranking up the FOV on the camera and ended with something quite high. Normally I would have interpolated this with the velocity but in the end I didn’t feel the need to since  half the time there’s nothing around you other than stars, blackness and the bright orange collectables.

1_controls

The grid was primarily used to show the controls to the player although I believe this needed more work.

Next I threw in a quad with a grid PNG texture I created in a few seconds with GIMP (border select and fill yey!) and positioned it somewhere which looked correct in the game view. That is to say it didn’t eat up too much visual real estate and yet it showed the position of objects in enough time for the player to react. I felt this was important reinforcement for the player and a great place to throw in the controls which as it turned out could have done with a little more explaining.

2_spaciallyaware

Grid was used as an attempt to reinforce your position relative to other objects in space.

3_spaciallyaware

Again the grid was intended to help further when flying through the “stations” highlighting the relative change in position.

The controls seemed to feel good to me as hold to stay and lift to return but I did consider changing them early on to the more normal move into position on key up. However, the way it was was making me think a little before moving rather than simply and idly pressing keys was intriguing. Some might call this artificial difficulty and I’d agree it is in some sense but people I’ve spoken too, once they understand the mechanic appear to be rather goaded by the idea that their brain can’t process the movement. Still I would have rather the difficulty be in a another area of the game too rather simply than this sort of control as interesting as it is.

 

4_lettinggo

So here the player is holding down ‘S’ and in the middle lower portion of the grid. To go back to the centre and not die they must lift their finger off the ‘S’. People got this easily.

 

5_lettinggo

So this is where it got ‘funky’. Here you’re in the bottom left of the grid holding ‘A’ & ‘S’ and must return to the centre which is simply ‘S’. People found this somewhat unfathomable initially even when telling themselves what to do.

So these “stations” which fly towards you had to keep coming and they had to be different and challenging and contain these bright orange things as long as you could stay alive. It was simple enough to build an algorithm which “burrowed” a path through the stations and to stack them in sections end to end which sort of ‘spooled’ in as it where. However, the time I lost starting some 11 hours late (okay less if I didn’t wait up for the theme and start) meant I didn’t get much time on this mechanic and a dastardly “I’m too tired for this s**t” bug lost me an hour during implementation. Had this not been the case the stations may have been a lot more interesting.

5-5_proceed

“Stations” were made up of cloned sections of a double-depth 3×3 cube grid with alternating shades of grey. They each had a script which controlled their appearance when spawned by disabling one or more of the 9 ‘cells’ of the grid.

5-51_proceed

1. The first missing block is selected randomly from all nine

5-52_proceed

2. Next we consider the potential next blocks for the ‘tunnel’ to move into. So we take the four in direct contact with the block and pick a random one.

5-53_proceed

3. Awesome so this is our next block we stick them back to back and the player dies, so there’s one more small step.

5-54_proceed

4. There must be a block between the two inorder for the player to transition between the positions. This is simply both the missing blocks from the two – in the code this is simply an “or” operation on the booleans for each cell.

The distance allowed for the player to transition was initially hardcoded but eventually the speed became too much and I scaled it. Another thing which I’d have done with more time would be to tweek these values fully.

The next thing I wanted to focus on was music and I wasted a little time here as I had never attempted any sort of music what so ever. Except playing the drums – I can play the drums. But ask any musician (especially guitarists for some reason) and that counts against me more than anything. Anyway, after some stumbling around prodding at various tools I found something which was easy to edit the drums and the rhythm and so I ended up with a short but slightly interesting loop. For sure next time, I’ll have to do better.

Towards the end of the game I realised there was no humor what so ever. I had an intro story (which is too long) but that was quite straight and typical. By this time I had also realised the restart time was quite high (time from death to respawn and moving again) so I thought I’d add a little marque with some short retorts from some sort of commanding officer or supervisor who was making sure you did your job. Whilst I liked some of them a lot of them were last minute and forced so they didn’t quite sit correctly but if you’re interested and die enough times you will see all 8 or so of them.

6_finalhours

Sargent threatens to send his monkey along in one message and then later asks his wife to get the monkey cage, yeah it was almost 1am at this point and I was very tired! This can also happen out of order since it’s just Rand.Range(…).

7_endinsight

Fastest speed I can survive at, taking a screenshot at least!

Quite apart from the lack of gameplay tweaking I got to do was the fact that by the end of the 48 hours my Unity was very upset with how I was generating the world. This is because I’d simply been spawning new objects for every new block I wanted (whether it was space or a station). This was a bad idea but the game ran okay and so I never fixed it – it did however cause Unity to crash on one occasion. Suffice to say next time I’ll create my objects upfront from the start!

I feel this could have been a good ‘best score’ or ‘leaderboards’ game but I had not considered it until I was well into the 48 hours by which point I had no idea how to implement it. In hindsight however even a locally cached ‘personal best’ leaderboard would have been enough, atleast better than it being cleared each time. I’m still unsure as to whether I progress with the game beyond the jam but I did have many other ideas for it I wish to try out.

Good luck with the vote everyone and enjoy the games everyone else!

Started Late With a Hangover, 4 hours in…

Posted by
Saturday, December 6th, 2014 4:46 pm

So I started at about 2pm UK time and I’m still pushing on with this hangover most of my last 4 hours has been spent building the procedural generation of the world ahead of the player and this will probably continue to be true until hopefully earlyish tomorrow when I need to finish up the gameplay elements. Provisional name is Vanishing Point (nothing to do with the movie) and it’s a space exploration game of sorts I guess. Stretching the theme to it’s limits to be honest but we’ll see how it goes.

[cache: storing page]