Posted on

Review: jQuery Game Development

Ok Book review time.

I generally read a ton of tech books, and decided to post some thoughts on this one.

jQuery Game Development


If you’ve got a desire to write games using the DOM and already familiar with basic javascript and at least some experience with jQuery then you’re the target audience of this book. If that sentence contains words you don’t comprehend then I’d do some additional reading first.  Decent understanding of html, OOP  and maybe having a smidge of PHP knowledge definitely won’t hurt either.  If you’ve done some basic selecting with jQuery and maybe implemented a plugin you found on the web or two you’ll be set.  But you’re gonna want to be not afraid of code you’ll be fine.  So it’s not exactly for everyone.. but if you are you’ll find a wealth of information inside.

Basically the book is a crash course in building a game framework from scratch.  The book , including animation, motion, building a game loop, loading levels and much more.  The examples are broken up into a series of short games. Each of the games explaining building up on a basic concept and explaining why it does what it does, and sometimes going back and improving on a concept from an earlier chapter.  It starts with frogger and winds up with multiplayer online rpg thing.  Chapters 1-6 are a great resource covering everything from basic sprites all the way up to isometric tilemaps and occlusion but then …

Chapters 7-9, however, go a bit off kilter.. 7 is a half-hearted summary of building a php database backend,  8 is for integrating with twitter and facebook and finally 9 mobile development.  All of which are simply too big and complicated topics to get a single chapter in a book and/or have nothing to do with jQuery.  And you’ll be repeated warned to never use the examples in chapter 7 in a real game.. which seems to pretty much defeat the purpose of the book.

Chapter 10, however is a great resource for all the headaches and pitfalls that are involved in implementing HTML sound.  In fact it’s probably one of the nicest summaries of the mess that is HTML sound that I’ve read, and how to implement it in the framework we’ve been building.

++ Overall, a lot of tech books seem to go into obsolescence fairly quickly, but the core knowledge in chapters 1-6 is going to be pretty rock solid for a long while and worth the price of admission.

++ Grammatically and logically the book is presented well with concepts that build upon each other.

+- Code samples for the most part make sense, however the author has a tendency to as he puts it ‘avoid typing’  so he abbreviates lots of function names which gets a little confusing

TLDR;

Good book, lots of useful jQuery implementation tips

 

Posted on

Musings on Business Models

Where we are:

So, the industry has been in a massive race to the bottom.

Congratulations… here we are… Free is the new zeitgeist.

Now we’ve ground that to ground and the top titles are ‘pay to not play’,  ie buy shortcuts to unlock things that you can normally get to by playing, but game-play is made to be so repetitive and grindy that people would rather pay money than play more.   So the lifetime play of those looks something like this:

  • Play something fun and exciting
  • Play it a bit more master it’s nuance and learn about upcoming unlocks and what new exiting element will be unlocked.
  • Grind some more.. slowly getting bored but the lure of the new upcoming unlock promises to be as much fun as the first 15 min when the game was fresh.
  • grind some more.
  • grind some more..  that unlock is looking fun by now
  • at this point the user either, a) keeps grinding,  b) pays to skip the remaining grind, or c) quits.
  • Go back to step 1.

Now the trick is to space the first few unlocks close enough where the player can get them all in a session or two, probably without paying, then the player is already invested heavily and has had several endorphin rushes of  ‘winning’. (no really, go research slot machines and emotional feedback mechanics, systems for building compulsive behavior etc… it will creep you out when you play a facebook game again)

Now you can start to increase the grind amount between major unlocks.  The goal is to gradually increase the required tedium to the point where the user starts investing real money.  And once they start investing money, the difficulty in getting them to spend again decreases dramatically.  Once the user is all worn out and spent, you’ll hopefully have their email address / fb profile etc… so you can cross promote your next game with the ‘From the makers of….’  which will hopefully immediately spark the flashback to the original 15 min.

I think that sucks.

So….Where can we go?

Well.. that’s a tough question.  Because games are everywhere, in greater supply than any user could possibly ever play.  Add in the long tail, and that’s only going to make things harder and harder in the years to come.

For example:

Why play a $15 indie title when it’ll be on a Steam sale  for $3.74 soon.  (Today, it’s the wonderful Orcs Must Die 2) .. but wait why play that at all.. when you can play last year’s AAA title that you missed for $14.99 (today it’s the Complete Prince of Persia pack (5 AAA titles))

The answer, I think, lies in :    investment, involvement, community and marketing.

Investment

Go play the first chapter or 2 of  Telltale’s awesome and gripping Walking Dead.  We need narratives that players can get themselves lost in.  Even better than telling gripping narratives are narratives that they make themselves.  Ask someone about their favorite Minecraft experience.  Everyone has one,  Minecraft is NOTHING but a player investing themselves completely in a world that’s receptive to it.   We’re lucky that Mojang has been great and not added mini expansions/addons/IAP because you know that it’s got to be tempting and would have been wildly successful… The days of running down a hallway and shooting things with little to no narrative for the user to invest in,  well.. you’ll be competing against every game that’s come before you and they can come in at a lower price point than you, because they’ve already made their money back.   Make the player feel like they’re in charge of something they care about and they will stick around.

Involvement

Alpha sale, Kickstarter, Pre-orders with Beta access.  Here’s a not-so-secret, Everyone wants to be a game designer.  (That’s because they don’t know what it really entails) Involve players in your process,  anyone remember alpha release Fridays from Notch?  How about hanging out in the Elemental alpha access forums?  Everquest beta?  Engage your customers..   Now the hard part is getting them in the door in the first place.. but it’s not that bad…because when you empower a user, they feel special and unique and THAT is how things go viral,  when a person can show their friends that they have something cool, unique and special  you just can’t get them to stop talking about it.   It takes time, (ask Notch about how hard it is to keep up with community expectations) and you have to be out there available for critique and since it’s the Internet, it comes with some serious bile.

Community

World War II Online has members who keep their subscription active, entirely because they love the community they have built.  Second Life would have sputtered out years ago if it hadn’t been because of the ability of users to create sub-communities in the game. Natural Selection2 would never have been released without their community coming together.   League of Legends, Dota2, StarCraft  all have strong user<–>user community interactions.  However, building a community is usually the RESULT of having a great game,  so it’s the best way to sustain a title.

Marketing

With every game ever made having the exact same priority in the marke place compared to your title what’s the easy way to stand out?  That’s right, throw money at it.  It works,  ask Cliffski at Positech..  The above methods only work if you have eyeballs on your game.  Now, marketing isn’t a bad word.. really.  And it comes in all shapes and sizes.  From Blog posts, to banner ads, to asking for feedback from Gamedev.net  it’s ALL marketing.. Every Tweet you ever do .. that’s marketing.. Even if you’re not selling a specific title, you’re generating interest in you.  And then, when you have something REALLY important to say, you want to be able to focus as many eyeballs as possible on it as fast as possible.    Think of Marketing as being the Shock Paddles and your game is your Frankenstein..  The above elements will let it grow strong and tall, but without an initial shock, chances are you won’t even get a toe to twitch.

 

 

Posted on

RELEASE!

War Mages is out on the Play Store!

Get It HERE

SummonIcon256

It’s been one hell of a month. Since starting over in the 18th it’s been non-stop go go go to get this thing up and running.

Overall I’m really pleased with how well it turned out. I have a lot of little secondary features I want to add to it, but I think I need a week to recover.

It will be an interesting thing to see if the game finds any kind of an audience, I’m not aware of there being a whole lot of multi-player games on a single tablet yet.  However I think that it will be one of those kinds of genres where people can pop down for 5 – 10 min with a friend while waiting for the bus and play a game.

Time will tell.

Posted on

Feb 18 – week 3

10 days left.  Basic features are complete.
War mages is a 2 player game played on an Android tablet (7in or greater) where each player enters orders/commands for monsters they then summon onto the gameboard.
The goal is to have a fire elemental make an explosion on the enemy’s summoning circle.

Lots of little UI things left to do along with victory conditions but I’m in good shape

Posted on

Reboot

Tough decision made.  The original planned February game isn’t going to happen.

The Bad News

As I rapidly approached the mid-month mark I realized that I had actually made Anti-progress… I had started out with working off of the base Jan game  and broken it to the point where  it no longer had sound, and was actually unbeatable as that would crash it.  And I hadn’t even finished adding a single new feature (other than preparing to get the Spine actors put into place)

Then to add insult to injury I found out about Impire, which comes out tomorrow.  It looks an awful lot like what I want my game to be, except with a helluva larger budget, and that was pretty damn demotivating.

So I moped, and pondered and had a couple beers.

The Good News

At this point I started going back through my mental pile of old abandoned games to see if there was something that I can make work and turn into a game in 2 weeks.  And by golly I didn’t have to go far. My original blog post, in fact.  It’s time to do BombBots over again.. except in a fantasy theme this time, on a tablet, in 2d.  Oh and finished, seeing as I never finished the Second Life version (LUA server implementation problems), or the Torque Version (TGB never solidified into what I needed).  So the goal, is to turn it into a 2 player on 1 tablet/mobile device game.  Who knows.. maybe it’ll work out and be fun.

So the awesome thing is that just being ok with trashing the original idea really got me re-invigorated again.  So perhaps the Drakkheim games this year will just be all little experiments and then I’ll see what sticks before committing to some grand master plan and in the meanwhile I’ll have a chance to build up a good re-usable codebase and master all the tools I want to.

 

Posted on

January Postmortem

Going to keep this short and sweet, can’t stop and reflect too much.

What went right:

  • Web editor –  having a web editor where I can make changes and just re-launch a level for testing was incredibly useful
  • Music – the non repeating drumtrack for in game music works really well wit the musical queues
  • Title screen fire – Damnit particles just make me happy.
  • Pathfinding and combat –  while it’s not the most dynamic combat (see what went wrong) it’s fairly well balanced.
  • Flexibilty of code – adding new UI elements and restructuring how combat works 4 days from launch and not a glitch.
  • Game website – Im really happy with the new https://drakkheim.com website.

What went wrong:

  • World rendering – having to re-write the world map rendering took a whole weekend of progress and as such required that things like traps, and ranged combat got cut. no Elves or Kobold archers.
  • Fun – the last minute changes to combat really improved the moment to moment gameplay elements, but really it’s not something you’ll be playing over and over.
  • lack of animation – lack of variety – essentially more time to create art assets would have been really nice.   I have a feeling this will be a recurring theme.
  • Broken analytics –  I totally messed up and forgot to install analytics on the website until 4 days after launch.. so I have no idea if anyone has even played it.

That’s it for now.

 

Posted on

Day 27 – Weekly Update

Another long week.  I’m finding as the game gets tighter and tighter I’m spending more and more time re-doing things that don’t work.  While they make the game better, it’s not ‘fun’.  Mainly it’s actually pretty depressing to throw away hours and hours of work.   This is the part of the project where I guess  I usually get bored/frustrated and stop.  But Not this time.. This time I’m too damn close!  New Playable builds available here:  https://drakkheim.com/january/play

So what did get accomplished?

Bug Fixes

Lots and lots of bugs  and glitches. Revisions to prevent button click through and proper input handling seem to have been the biggest culprit.  The most common rendering bug / crash bugs centered around parts of the rendering loop continuing even if the monsters, enemies or any of the other arrays change size to 0 or trying to access things after starting to switch to the victory / loss screens.

Game Balance

So as of last week.. it wasn’t any fun.  Because once you discovered you can stack units and stack 3 or so units they’d instakill anything they encounter.  So the player winds up making a stack and then just sitting back and not doing anything.  This was because monster combat is resolved first.  So I changed that.  Even though stacks can still instakill most things, the attacks are calculated simultaneously.  This  suddenly meant that you have to constantly manage your monsters.  Which lead to a HUGE Problem.  How do you select a monster in the middle in a stack.    That leads us to ……

InGame UI Changes

Drakkheim-Jan27

A major revision to the in-game UI made it much easier to keep track of your monsters.   The only downside is that you now are limited to 20 monsters.  (I’ve never even come close to that, so this shouldn’t be a problem.   I also was able to tack on simple little health indicators beneath then portraits.  All of a sudden things were a million times more fun. Then a quick tweak to the map renderer means that I can now reserve the bottom part of the screen to prevent sending creatures to whatever is beneath the UI.   This alternate method of selecting units has a second unexpected benefit,  It’s playable on Android again!!!!  ok so no android build today, due to a some more event click through issues… but that should be fixable.

Tack on some interface sounds and things feel much more crunchy.

Base Levels

The base levels are in place.  Still need to tweak the hell out of them

 

Particle Friday

so over at http://www.reddit.com/r/onegameamonth someone started a particle Friday event.  The intent being, blow off development and put in place some gratuitous particles.  So I did, on the home screen, there’s now Fire.

Whats Left

Ok.. seriously.. with 4 days left..  too much.   So the real question  What Essential things are you missing?

That list, luckily, is much shorter.

  • Combat Sounds
  • Level tweaks and balance
  • Right Click / Drag issue that can cause monsters to go to unintended places.
Posted on

Day 24 – Mid Week update

Today is officially the 7 day mark.

Holy hell, that’s not a lot of time to get the last stuff done.

BUT, the last few days have been pretty productive, I must say.

  • Music is in, particularly proud of the main level background music manager that has a pool of music tracks and randomly assembles them together on the fly.
  • Removed a bunch of the debugging information and such making things run a bit smoother
  • The final (for jan) menus are in,  Figures that I finally grasp how Scene2d.ui and its components work..just as I get to the point where I don’t have time to do anything with it.
  • I got it so you can now enter your own Code to play your own custom levels.
  • Rounds of enemies are now defined by the editor and passed to the game.  This means that playtesting a level is as simple as hitting save in the editor and then hop over to the window with the game in it and playing it in the game…
  • And the BIG HUGE brand new website look for the main https://drakkheim.com/  site that will hold this and future releases. WITH video! 🙂

And here’s the remaining to-do list:

  • Final Levels
  • Sound Effect – Combat
  • Sound Effect – UI
  • Main Game – escape = pause and show back to menu button and quit to desktop button.
  • Gameplay – Balance
  • Optional Goals
    • Title Screen Image
    • Revise in game UI Look and feel
    • Make Android Playable

So that’s not so bad.

3 of 5 levels are pretty much ready. And with the ease of starting and stopping rounds now, balancing is easier.

 

 

Posted on

Day 20 – Update

Whoa… so very very very close to being a real game.

This week I got, victory and failure implemented.

Graphics, monsters, particles, a revised UI backend and fun stuff

here’s a video from a couple days ago:

and Since then there’s been particles added, healing aura around the dragon egg and the beginning of playbalancing implemented.

Windows EXE:  https://drakkheim.com/files/Drakkheim-jan-20-alpha.exe

Mac / Linux Java Jar : https://drakkheim.com/files/drakkheim_jan_20.jar

if you want to try em.

Here’s the victory and defeat screens if  you don’t want to find em yourself..

defeat victory

Other than that This is my remaining to-do list for the Jan release:

  • Final Levels
  • Sounde Effect – UI
  • Website
  • Web to Game – Round Methods implemnted
  • Win Screen
  • Title Screen Image
  • Allow to play custom level
  • Optional Goals
    • Sound Effect – monsters
    • Revise in game UI Look and feel
    • Make Android Playable
    • Implement Music

Yeah.. that’s totally doable!

Ok Very very tired now and not very coherent.

 

 

Posted on

Day 12 – Update

LittleButton

 Time for the weekly update!

Pathfinding!

Lots of new functionality got put in this week. The biggest of which is clearly the pathfinding which.. in all honestly was a pain in the butt but has been rock steady since I got it working.  The map on the other hand..  I must have re-re-rewritten chunks of the rendering for it so many times these last few days.  That and tile picking (still  a wip) have both turned out to be deceptively huge pains in the ass.  The primary cause is that the world coordinate system and visible coordinate system and the map tile grid are all different and finding out what correlates to everything else is a pain.

Luckily I seem to have it mostly sorted out for now.  Well except the map renderer… that’s currently working on a sheer brute force approach, so I’ll have to limit the map sizes in the Jan build.

Other notable features

  • Select creatures (indicated by yellow glow)
  • Buy new creatures by clicking gold wolf button in the lower left.
  • Track, gold, stage and Dragon Egg’s health
  • 2 Monsters (goblin and Orc) and they can move about.
  • Monsters can be equipped with better weapons and armor.

er they say a picture is worth a thousand words so here’s an annotated screenshot.

Jan13

Oh and here’s a couple of runnable Builds:

Windows Pc EXE > Here

Everyone  Runnable Jar > Here

Android…er.. it runs on my devices… however Im having issues getting the deployed APK file to work :-/

{Basic Instructions}

Click on stuff.  There’s no real gameplay yet.

Right Click and Drag to pull the map around.

Let me know if  it works

Next:

The rest of the weekend will probably not be nearly as productive :-/

However next up.   Invaders!  Collisions!  Combat!  Death!

But it’s gonna be close to see if I can get a functional game done by the end of the month.

Can’t say how much fun it will be.

 

Posted on

Quick Sprites

 

More goodness to come later this weekend,  pathfinding, creatures.. and hopefully a UI..

But the hosting company had issues for a while so I took the downtime (no website -> no map server -> no debugging) to knock out the basic goblin an orc creatures and an upgraded version of each.

basicGoblinupgradedGoblin

basicOrc

upgradedOrc

Stay tuned 🙂

 

Posted on

Dangit.. noted for prosperity.

So a quick twiddle with the new goblin sprite for January

basicGoblin

Gave me a neat mockup of what the January game will look like 🙂

And I was happy.

janScreenshot

Then I added a shadow behind the goblin.

And that looked funny.

So I moved it up 1/8 of a tile and drew a flat plane below it to give a little bit of an isometric feel.

mock1

Well… THAT looked pretty neat.  But now the difference between the floor and the wall looks odd.  How about a little gradient to imply depth and ambient occlusion.

mock2

NOW we’re talking!   But now I’ve got to run those shadows all around.  And Indicate Terrain types.. and calculate all the possible corner scenarios.   (Which I know EXACTLY how complicated it was for ONE terrain type,  Here I’ll be having inside & outside (and possibly other) types as well.

febMockup

But man..  It really gives everything the look and feel of what I want.   Kind of an ‘anthill’ meets Dungeon Keeper feel.  

So here’s the part where I make myself sad.

 It’s not gonna be January.  Absolutely no way.

.. Maybe February (depending on the release of Spine) or March.  April at the latest, because I intend to be adding digging at that point and the map rendering needs to be pretty gelled by then.