Where we’re going, we don’t need UV maps!

So, after getting a decent level generator working, I shifted my attention back to modelling. I need to populate my levels with 3D stuff, and that stuff doesn’t just come from nowhere.

I spent a good chunk of time over the past week learning about UV mapping in Blender. I learned how to mark seams and unwrap that way, I learned about the smart unwrapping feature, and I learned about the various projection methods as well.

I have a decent understanding of the very basics. I am the farthest thing from a professional aside from people who have never used Blender before, but I get the general idea.

Case in point, something extremely simple:

column

So this column has some very basic geometry, making it pretty easy to unwrap and texture. Even still, I spent a ton of time on it. Granted, the majority of that time was spent learning and playing around with things until I understood how it worked, but a ton of time none the less.

Even if I got my skills up to a reasonably skilled point, UV mapping and texturing are no joke. They take a ton of work, and I have serious respect for people who can do it well.

So… I don’t want to spend all of my time texturing, so I’m going to sidestep the issue as much as humanly possible using vertex color shaders!

Vertex color shaders are often used in games that use simple “flat” looking 3D art. It basically looks like very early 3D models looked before computers had tons of memory for textures. Vertex color shaders have other uses, but I’ll be using them to drive the overall style of my game.

This will enable me to create simple models, do almost no UV mapping. It’ll also keep my game from looking like total garbage due to limited artistic talent.

So, with all of that out of the way. I’ve started creating some simple assets I can start building the game with, this includes our first enemy type!

imps

 

These enemies are tentatively called “Rainbow Imps”. They spawn in with random colors, and will charge at the player in massive hordes. They’ll be easy to kill, and will explode in a gush of goo that matches their skin color. The goo will leave colored chunks and splat decals all over the place. Basically once you’ve wiped out a horde of these guys, it’ll look like the most intense game of Splatoon ever just took place.

They’re obviously pretty basic looking (just a sphere that has extrusions), but they should be pretty cool looking in motion, and when huge swaths of them get destroyed. Once I get further along, I’ll have to go back and alter their design, but what I have now is usable.

Now that I have the models, I need to create some basic animations, and then work on getting their AI working as intended.

(Also worth noting: I have some basic level geometry in the shot, but expect it to get brighter and more lively once I start doing music visualization.)

Staying motivated or: How I learned to stop procrastinating and love the chain

I love game design and development. It’s easily my favorite hobby, and I’m a game developer in my day job, so I get twice the fun. So I must be super eager to work on my personal games when I get home, right?

Wrong. It’s so much easier to just turn into a lazy lump and watch YouTube or read Reddit. It’s something that I struggle with on a constant basis, and have been recently overcoming. So, I decided to lay out what I do to keep going and fight that urge to just become a lump in a chair.

Schedule, schedule, schedule!

Setting a schedule and sticking to it is super important unless you’re already an organized, motivated sort of person. There are lots of ways to do this, here’s a couple suggestions:

  • Use a ticketing system. There are a number out there that are free and can be set up on a small webserver. Mantis and Redmine are two good examples. Bitbucket and Github both have ticket systems too if you’re already using them.
  • Use a task manager or todo list system. Trello is a good example.

What I’m currently using Habit Streak Pro, it’s an app based on Jerry Seinfeld’s “Don’t break the chain” methodology. It’s a simple thing where you set a small list of things to do each day, and you track how many days in a row you do them. Think of your chain as a sick combo you don’t want to stop.

Even if you do a tiny little bit every day, you will get shit done. Moreso, the idea of breaking the chain will feel worse and worse over time.

Once that happens, congratulations! You’ve just formed a good habit.

It’s all about the music, man.

I have a super active inner monologue going on in my head. It tends to make me switch gears rapidly. I find listening to music gives me an instant laser focus when working on code, drawing a game character, or writing blog entries.

There are definitely a lot of studies out there that state how music improves concentration, especially in the workplace.

Aside from concentration, I’ve found that music has given me ideas on things I could implement in my games, or at the very given me cool gameplay concepts that I jot down. This seems to happen the most often when I listen to soundtracks to movies and games. I think it has to do more with non-vocal music letting my imagination fill in the context for the music.

Seriously, try it. Listen to this song from the movie ‘Gladiator’:

Think of an epic strategy game, or a game where you’re battling a giant like in Shadow of the Colossus. A ton of neat scenes will come to mind.

Do a game jam for a kick in the pants.

Game Jams are my way of getting out of a slump. If I find something I’m working on just isn’t working out, then I’ll join a game jam. Jams encourage you to work very creatively, you don’t have time to think, you just sit down and make whatever comes to mind.

Not only will you make a game that you didn’t have a few days ago, people will be playing it and giving you feedback. You’ll also have learned new skills that you can use on your longer term work.

Share every tiny little bit of progress.

Although I’m pretty bad for posting on this blog, I actually do try to post about what I’m doing on a regular basis to Facebook. Just putting screenshots and text updates up for my friends and family is a solid motivator.

Putting updates online where other people will read it helps to set a mental set of obligations. It’s very easy to rationalize being lazy to myself, but I find it WAY harder to do that with other people. Even though I know they aren’t judging me, I still want to avoid being judged, and so I keep posting updates to let the world know I have stopped. It’s weird, but it works.

If you don’t want to post updates on Facebook, you can post on /r/GameDev’s Screenshot Saturday, or start a devlog on the TIGSource forums.

I also post to Twitter, but I usually only get really active during game jams.

Caffeine in the day, exercise in the evening.

I love coffee, it’s a hot bitter drink that slaps me in the face each morning. Caffeine (in moderation) increases focus and keeps you awake through the day. It’s a real struggle to get going without it… Maybe that’s the addiction talking.

Of course, when I come home from work, I don’t chug coffee to keep going in the evening. That’s just asking for a sleepless night and a crappy next day. Instead, I’ll hop on my exercise bike for short burst to bring up my heart rate for a while.

It’s a great pick-me-up, and switching focus to the bike for a short time is a great way to tackle a tough problem. Walking away for a problem for a short time can help you regroup and come up with a solution you wouldn’t find by staring at your screen.

I actually find exercise is a much better way to bring up my energy level and to focus, but I’m also very out of shape, so I’ll take the daytime coffee so I don’t have to be covered in sweat while I work.

When all else fails, a quick blast of cold will wake you up. During our Canadian winters, I turn down the heat a little beyond comfortable to stay alert. In warmer weather a splash of cold water or a cold shower will work almost as well.

Conclusion

So, hopefully by sharing the little things I do to keep going, you’ll have picked something up that will do the same for you. That being said, nothing here will help you if you don’t really want to work on your side projects. If you find that’s the case, drop it and pick something new. There’s no shame in starting fresh.

Anyway, thanks for reading, and stop procrastinating!

Jerk Driver day 1 Progress!

tempThumb

 

I have:

  • A terrible looking car with great driving controls (thanks to Edy’s Vehicle Physics: http://www.edy.es/dev/vehicle-physics/)
  • An NPC car that will move between waypoints and stop to honk at you if you’re in the way
  • A rad half-pipe between a couple skyscrapers(and a ramp to get up)
  • One track of bad music
  • Really crappy roads

Here’s a playable link:

http://gamejolt.com/games/arcade/jerk-driver/38919/

Controls are WASD, and R to flip back up if you flip over. The build may only run with beta versions of the Unity web player (I’m using 4.6)

progress1 progress2

 

Indies Vs Pewdiepie – I’m in.

Game jam time! This is the first proper post on my site since I blew it away over a year ago. LET’S GET THIS SHIT STARTED THEN!

Game working title: Jerk Driver

Synopsis: 
You are the coolest bad driver on the planet! Rack up sick combos by cutting people off, parking between spaces, and causing traffic jams!

Tech:

  • Unity
  • A shitton of asset store libraries
  • Blocky everything!

Target feature list:

  • Basic traffic simulation
  • Basic pedestrian simulation
  • Decent car controls (leveraging the asset store on this one)
  • Ridiculous car add-ons for bonuses
  • Flipping the bird at people
  • Combos for bad driving, examples:
    • Long traffic chains
    • Crashes
    • Scaring pedestrians into traffic
    • SICK JUMPS AND TRICKS
    • Doing all of the above in reverse

 

Expect a mere fraction of these to actually make it into the end result, or expect the end result to not work at all. It is a game jam after all.