Monday, November 24, 2014

Edgar's Adventure Immediate Post-mortem

I don't even know where to start.

As usual, I was rushing to make the submission deadline, and I had to cut most of the juiciness-features that I needed to really make this game feel great.

Failings:

  • Dragged my feet when starting, losing a ton of time.
  • Spent time making barrel rolling animation, that isn't even visible because of the lack of color contrast.
  • Music is hard.
  • Creature animations are REALLY hard.
  • Bugs, bugs everywhere...
  • I really wanted to add barrel explosions, score multiplier, Edgar's rotation, and maybe shadows.
  • The GUI is ridiculously plain.
  • Starting to submit 4 minutes before the jam closes is a really bad idea, especially when you have to turn your account into a developer account, add screen shots and a thumbnail, and a few other shenanigans before the game can be made active for the jam.

Successes:
  • The game is technically finished and playable. My third public game.
  • It was successfully submitted for the Indies VS PewDiePie game jam in time.
  • It has animations! I haven't made pixel animations since... college?
  • The art isn't too bad. Some of the best I've made, and certainly the fastest I've made.
  • The music is pretty good, and not just the usual wholesale borrowing from incompetech.
  • The game is surprisingly fun.

Lessons learned:
  • Music and sound continue to amaze me on how vital they are for a holistic experience.
  • Sound effects can be skipped if absolutely necessary, but music cannot.
  • Smaller and simple pixel graphics are better than more complex ones, it just doesn't look like it when making the graphics, because I have the image blown up to the size of my monitor. Everything looks weird when magnified by 2000%.
  • Stub out the game submission page first. You never know what surprises you might find.
  • Take more development screenshots. It's fun to see the evolution of the game.
  • Youtube is my greatest weakness.
  • Game mechanics are generally the easiest thing for me to make, so front-loading my work with them is a good way to get myself invested in the project.
  • I always feel great when finishing a game.
  • I need to do more game jams.
  • And take them seriously.

Overall it was a positive experience, albeit painful. Now it's time to find out what other people think about my game.

Tuesday, November 11, 2014

My Basic new Unity Project Setup

I wanted to make a little how-to guide for how I get a new Unity project up and running, mostly as a reference for my future self.

Unity3D Project

  • Open up Unity and create a new project. 
    • Project Location needs to be an empty folder, which is why we create the project first.
    • I generally ignore the starting packages, because I make everything I need on my own.
  • Save the scene as gameplay.unity into the assets folder.
  • Create Resources folder and Scripts folder under Assets.
  • Create Art folder in the root project directory (now know as projectDir) for all of the art project files.
  • Click Assets > Sync Monodevelop Project to create the c-sharp project. 
    • Use the projectname-csharp.sln when opening Visual Studio 2010 Express.

Git

  • "git init" in the projectDir.
  • Add .gitignore to projectDir. This tells git to ignore certain files and folders in the project. It contains the following values, each on a new line.
    • Library
    • Temp
    • obj
    • dump (something I use internally, as a place to store temp art files )

Bitbucket

  • Create a new repo by clicking the create button.
    • Take note of the command line directions to be able to add the remote later.

Initial Commit

  • git add everything and commit.
    • I use TortoiseGit as a nice and quick QUI for all my git needs.
    • The .gitignore file should have removed quite a few files.
    • You should be committing pretty much everything remaining in your projectDir.
  • Push to Bitbucket
    • Bitbucket actually gives you the git commands to add the remove origin and do the first push.
    • I prefer to set up the remote in TortoiseGit.
      • Remote: The name of the remote
      • URL: The url to the repo (https://[user]@bitbucket.org/[user]/[project].git
    • Click "add new/save"


And that's the basics of my setup when I make a new Unity project. Nothing particularly special here, just setting up Unity, C-sharp proj, .gitignore, git, and Bitbucket.