Unity5 Development Diary
Thursday Dec 21
I’ve been investigating lots of level design tools and I found one that seems to work really well. its got subtractive features as well as additive and is pretty mature. I made a few videos about how to use it although they aren’t edited yet and aren’t uploaded. Its called SabreCSG. These should let me make larger levels for Super BelDevere which is what I’ll be working on today: making a large level for that game.
I’ve been having a problem for a while where the ball sticks to the wall no matter how I adjust the bounciness in the physics materials. I found out that in the physics engine there is a bounciness threshold and below that threshold of speed in the same linear direction as the wall then those things don’t bounce. I changed that bounciness threshold to be 0 so lets see how it works … Yup that worked great. I tested it with a higher number (20) just so I could understand what was going on and it made the game unplayable (just as I suspected).
Monday Dec 11
I have been working a lot on my pong style game called Co-Parenting Beldevere. In this game Beldevere feels unloved by his deadbeat father so as his mother you have to play both roles (control both paddles) to help BelDevere feel loved.
I spent a lot of time over the last few days working on a simple cut-scene. When I think about how apparently complicated the cut-scene is I feel like it took me way to long to figure out how to do this part. Thats just me getting judgmental towards myself but there it is!?! The more cut-scenes and similar animations I make the better I will get at it. Also I feel like it will be valuable having done it this more difficult way because when I see tools or scripts that make this process easier I will have a point of reference and I will be able to understand the problems they are trying to solve and the advantages to the way they chose to solve them.
I have had a lot of trouble with the physics in this game. I’m beating myself up about this a bit too because it seems like they should be so simple, and it was simple to get it working somewhat, but to add convincing English to the ball and to make it feel good was anything but. The problems were manifold. Sometimes the ball would get stuck. Sometimes the English wouldn’t work at all. My solution as of today feels fantastic and involves adding a shallow sphere collider to the paddles.
Saturday December 2
I went to see my friend Chad Carrie yesterday and he showed me some great ways to use Sketch-Up to make 3D models and import them in. Here is some of what I learned:
Tuesday November 28
Today I made a 3 part tutorial (Part 1, Part 2, Part 3) about converting your game into stereoscopic for iOS. There is a lot of important information in these videos about how I pulled this off, but keep in mind that there have been quirky problems (which have apparently nothing to do with the stereoscopic display and work perfect testing on PC before I move it over to iOS) each time I’ve done it.
Monday November 27
Beldevere in Stereoscopic 3D on Sunday November 28!
Marshall and me worked on getting an in game stereoscopic display working for like 4 hours on Saturday night. We actually got that part working ok pretty quick but then (and I saw this coming) needed to get some form of external control (you can’t touch the screen when the phone is in the VR Goggles. We eventually gave up at like midnight, but I obsessed about it and found something that night and implemented it the next morning that *mostly* worked. I was able to tighten it up over the course of the day and show Marshall and his friend and my beautiful encouraging wife Cristi Level 3 of Beldevere in 3D later that night!
Later on that evening I was able to get controls working for all levels as well as the title screen and high score screen and while there are two outstanding bugs it does work and I genericized the stereoscopic camera and UI canvases such that all of my levels benefitted automatically and now you just click a button in the inspector and that level is Stereoscopic 3D! Its funny how time flies because its just Monday right now but it feels like its been an eternity since that happened.
I also ordered a nice gaming PC on Black Friday which will be here perhaps later tonight and I just picked up a nice monitor from Best Buy (Cyber Monday Sale).
Monday November 20
Yesterday I tightened up some of the code for expanding and shrinking objects. Today I totally re-worked level 2 scaling it to 1.5x its previous size (x and z) and adding bounding volumes so you can kind of ride the walls a bit.
Yesterday I also experimented with using the terrain features of Unity to make a level 1. I liked it a lot, however it totally “showed up” the rest of the levels. At some point I will need to draw the line and say its good enough to ship and if that level looks way smoother than the rest I will feel like I need to make similar changes to all of the rest of the levels to make them catch up to that one. I’m struggling with where to draw that line.
Saturday November 18
Today I’ve been working with lighting, adjusting it, balancing it, getting all the levels balanced, trying to not wash things out, etc. I noticed that on mobile especially some things looked weird, even dark. I started by re-baking all of the lighting for all of the levels, then I worked with the skybox and the default ambient light color making it a light grey. Then I made the directional light a darker gray and adjusted its intensity until it looked about right and that seemed to work out pretty well for all of the levels.
I found a problem with shadows and spent most of the day finding a workaround. (details in my article on iOS)
Tuesday November 14
Yesterday was really monumental but today I got the controls working on the iPhone! Just one more thing to do and it will be fully functional on iPhone. I feel like parts are still “clunky” but it will be a minimum viable product as the saying goes.
Monday November 13
I got my game building and running on iPhone today! *Huge Milestone!!!*
Sunday October 29
Wow so much progress! I got sound throughout and really … its a REAL GAME as of just now! 5:00pm sharp.
It starts with a musically backed title screen, moves into a musically backed level with lots of fun sound effects, and when you are done with that it moves into a musically backed high score screen and then back to the level select screen! I’m so proud!
Thursday October 26
I travelled to see my dad last week and got some good feedback and ideas from him and my mom. Thanks guys! I got the skeleton of my new much more interesting scoring system working as well as having fixed a problem I made with the gravity collector. I got it working on one level but it broke the rest. It wasn’t a difficult fix. This week I’ve been working on sounds and music.
Saturday October 14
Got the Gravity Collector working much better. Occasionally it used to leave dots stranded on accident but it doesn’t do that anymore. A fun side effect is it ends up swirling the dots around the player and sometimes getting pretty close to a perfect zero gravity orbit (illustrated in the video below) a situation which I’ve cleaned up now but which was cool enough to make a video out of..
Friday October 13
I found out about NavMeshAgents priority field and how it would help me. Its technically called “Obstacle Avoidance Priority” and although it makes sense in hindsight at first glance I didn’t imagine that other AI NavMeshAgents would be considered “obstacles”. In fact there is something else in the engine specifically called a NavMeshObstacle which I was just fiddling with yesterday.
Wednesday October 11
I haven’t done much in the last week but today I got some good info from this video which showed me how to make my game look better reasonably quickly. I can see how this will help but at the same time I did some of the steps and my game didn’t instantly look better but I think with some tweaking it will.
Wednesday October 4
Just got back from Pennsylvania where I went to visit my sister, brother-in-law and niece and I made some progress while I was there specifically making the title screen level select much scroll much smoother. I also re-did the making of video that I did a few weeks ago shortening it from 6 minutes to 2 minutes.
For my scorch game while I was in Pennsylvania I made it work with two players with shooting on different sides of one controller and balanced out the explosions. Yesterday I made it keep track of scores for each player
Also I created a video about the simplest way to add a HUD and set the values from anywhere in your game:
And on top of all that I made my first full tutorial series in its entirety today!
Monday Sep 25
Got a Level Select screen working that lets you clumsily scroll through the levels and select one. it definitely works but the clumsy parts are the scrolling is abrupt and not smooth, the images in the rear are confusing, button presses get confused when you press too quickly, behind the scenes the image is not the same object as the scene number (they are aligned so it works atm but …) and the the whole look and feel of the screen is inconsistent.
I’m still proud that it works because now you can fire up the game, select a level, then go play that level and get a high score on that level. Thats a complete one way game!
Sunday Sep 24
Worked on some side projects today mostly getting the Survival Shooter meta-tutorial done, but also figuring out how to launch projectiles and making a tutorial about that.
Also made some cool little glitches:
Saturday Sep 23
Got a pong game working. Started today. Finished today.
Friday Sep 22
Last night a friend (Gary) came over and spent some time with my game. He said that I had made a lot of progress and I appreciated that he came by. In order to show him the progress I had made I tagged some commits in my git repository and then went through them in stages and today I went back through the same commits in this video.
It shows ho I started this project on August 13 and the progress I made every week or two since then (and there has been a LOT). Its pretty cool to see the contrast between the first few versions and the latest and it makes me proud of what I have done. More details are in the ~6min video.
In addition today I got independent high score tables working for each level. And I figured out a pretty good method for accessing non static singletons statically.
Thursday Sep 21
Fixed fonts and got bouncing off the walls working better
Monday Sep 18
Got the High Score system working pretty well yesterday! I animated the score popup so it spins around gracefully and I also went through every level and changed all the prefabs to match my latest configurations so they all play about the same with the only difference being the landscapes of the levels themselves. D’oh! I just realized that I forgot to add power pellets … oh well thats probably a 10-15min total task.
Friday Sep 15
Added a title screen and got the HUD text looking way better and more consistent
And I figured out how to really use TextMesh Pro (at least for in game text meshes, using it like this for UI text meshes is still a bit of a puzzle)
Got the trick with using 3d in the UI mostly figured out
Wednesday Sep 13
Ive been thinking a lot about scoring but as a result didn’t make a ton of progress in the last few days … until today!
Got a score plugin working (so it tracks your high score persistently) and a score UI setup. and fixed some problems and made graphical improvements (for example the warp tunnels are cool spirals now).
Added hula hoops to indicate lives, and made the game reset when all of your lives are used up.
Also I got Super Beldevere to shrink when he is losing his powers after he has eaten a power pellet (and added a grace period so you don’t get too caught off guard when he’s just barely done shrinking).
Friday Sep 8
Got scoring popups working.
Thursday Sep 7
Tons of progress today. I added scoring, multipliers, Simple GUIs for both, got the basic mechanics of powering up with a power pellet and eating ghosts figured out, refined the ghostie radar, refined the wall bounciness (so its not *quite* so crazy launching the player – see video). All that happened really in 3 hours in the evening after having thought about it all day (tbh I also binge watched Voltron and played Shantae on 3DS which made room for the creativity to blossom!).
Wednesday Sep 6
In the last few days I’ve made some nice progress. Made an 8th and 9th level, balanced the gameplay, added zen mode (so it doesn’t start you over if you get hit), and I came up with ideas for how to best do scoring (which is the next thing I’m working on).
Today I got a ghostie radar working so they don’t blindside you when you’re flying around the level.
Tuesday August 29
Worked with vectors to get a cannon onto Beldevere’s head for the scorch game. Made a really cool level 7 for Beldevere: Interstellar Hero
Also Added a tail (or hat or nose) and a tail attack to kill the ghosties and a gravity collector.
Monday August 28
Autogeneration works although I had some quirky behavior for a while (see Popcorn Bricks). I’m proud that I got a basic implementation of the launching of a physics projectile working from a primitive gun without any help from the first person shooter starter kit pro. Probably going to use my PacMan game as a starting point for this one.
Sunday August 27
Began a Scorched Earth/Tanks style game. Autogenerating a stack of bricks to play around in.
Saturday August 26
Quakecon was awesome. The competition was intense. Doom VFR blew my mind.
Friday August 25
Created several more levels of Beldevere. Each level is more refined than the last so I will probably have to go back and refine / re create the first few levels. Got AI working smoothly late last night.
Thursday August 24
Tentacles to see what PacMans Ghosts are targeting
Wednesday August 23
Today I cancelled the project I was calling Gauntlet. I trashed the project files and data, but I did keep the prefabs and scripts. Update: in the intervening week I have found it difficult to re-use those prefabs (dependency hell). Lesson learned: theres probably a way to standardize this somewhat … OTOH some of those dependencies are due to the FPS Starter Kit Pro.
This includes some Building Geyser