Monday, May 8, 2017

A silly mistake I made today, and why you should always think through your code.

That moment when you thought something would be easy to implement and then it broke all the old code. :(

This is a great example of a "simple to think about, hard to implement" game mechanic.  It sounds great on paper but has a very fatal flaw when implemented that I didn't catch.

The short version of the mechanic is that

1- The level has torches around it that can be lit up by the player.
2 - The objects loaded in when the level is built are hidden at first, and when a torch is lit, it enables a list of objects to show themselves.  (Each torch has previously scanned to build this list at the start of the level).
3 - The player can light their own "torch" to reveal objects nearby as they wander the level, and use this torch to light the unlit ones.

The system worked great but it had a major flaw.  I recently introduced the player being able to carry a dynamic light source around, and that broke everything.

The player controlled object has to erase it's own trail, because if the player moves away from something dark it should hide itself again.  Otherwise the player's light source just becomes a fancy paintbrush that reveals everything in the level.

But in adding that bit, the player is now overwriting the previously lit objects.

The result is that lighting a torch and then moving away will hide the objects again even though the torch right next to them is still lit.  Doh! x_x

I got a few ideas how to go about fixing it.  The tricky part is to do it without needing to always re-find the objects they lit up, as that's the main memory hog of the system.  But I need a break for now.  My current fix idea is to have the torches "tag" objects as "skip hiding this one", since in this system (for now) the torches never turn off again.

In the end, it will probably cost me an extra few minutes tomorrow to fix.  However, it's a great example of why planning is very important.

Anyway, I just thought it might be fun to share this little game mechanic planning mishap.  This is why testing your ideas out on paper is so important, as well as running over all combinations of game elements during the design.

Remember to check out Drake at https://darkgriffin.itch.io/drake if you haven't played it yet!  It's the latest game I've made and I'd love some help sharing it around to new players!

Tuesday, April 4, 2017

Drake is out!

Playable in web flash, and if you donate 5.00 or more you get downloads of both flash and windows executable form that you can keep forever and play offline.

https://darkgriffin.itch.io/drake


I really could use some help spreading this game around.  In order to be a success I need as many people as possible to see it, play it, and share it.  Your donations will go directly to me and supporting my game development in the future, I promise!

I also greatly need some feedback on the price.  This is my first game launch, and while I think the current donation download price is fair for the amount of content given, it may very well not be.  I'm operating in the dark and within the very narrow amount of games I have been able to afford myself on the lower end of the market.  While I would feel 5 is a fair price were I to buy the game for offline play, I don't know how others feel about that.

Anyway, enough about me!  Go play the game!  And please share the link with your friends!

Tuesday, July 12, 2016

Why Pokemon Go has my highest recommendations.

So...Pokemon Go.

Team Instinct here, for those players who might ask.

I could go on about the missing game mechanics like trading or battling other trainers directly.  I could write whole rambles about how this game is basically a fancy GPS with Geocache points on the map and a spreadsheet that currently only has the first gen pokemon critters.  Or how the ball throwing mechanic is basically a copy of those "put the paper in the trash can" apps combined with the catching luck of pokemon.

But over my first weekend playing it, I have realized that to boil Pokemon Go into such mechanics would be to completely discredit the real power of what Pokemon Go has done, seemingly overnight, nationwide.

This game, and it's positive effect on people as a whole, is simply put, amazing.

Last evening me and a couple siblings walked downtown.  It's got a lot of historical buildings, which become "loot" points in the game.  They refresh and players can also use items to make a beacon call that causes more pokemon to show up around that point.

The  main block downtown had players on nearly every street corner.  A few "hey you are on the other teams, we'll get you someday" rivalry comments was about as far as the supposed rival bashing went, despite a major take over of all the control points by a team during the evening.

Mostly people were passing on game tips and pointing out cool pokemon.  There were families there, kids and parents passing phones to play and take turns catching pokemon.  There were the 40-50 year olds, who grew up with Pokemon Yellow/Red/Blue back in their high school or grade school years.  There were teens, from the Black and White gen of games.  Fans of the anime, who've never played any of the video games.  And lots of players who didn't know what a Pokemon was till their friend roped them into this latest "free app for their phone".  Many were local, a few had driven to the block after discovering it through playing and meeting people there before.

Regardless of where they came from, the in game team color, genders, ages, race, or religions, everyone was polite and generally helpful to each other.  Everyone would look out for each other, keeping over eager players on the sidewalk or calling out when a rare pokemon showed up at a certain corner.  There was a spontaneous togetherness about the whole downtown, and even the random strangers walking by without the game were pleasantly surprised how polite and kind everyone was.

It was very wonderful to see everyone not only outside, but together, eager to greet new strangers, and just having a good time.  For the whole evening, and well into the night, everyone in the city finally had a common goal.

For once, we all put aside our differences and talked.  I had many conversations last night.  All started with "What team you on?" or "What pokemon are around here?" or "What's your strongest?".

But while they all started with the game, many drifted off elsewhere, such as the cool hidden historical monuments even locals had forgotten existed.  And a few touched on even harder subjects, like shootings, or race, or even a light conversation on religion.  No one was insulted or told their view was stupid.  We all had a glue, a common goal, a common thing that we could fall back onto if the conversations steered into strange or uncomfortable directions.  Everyone was here to have a good time playing Pokemon after all, first and foremost.

I, and probably the rest of the world, are still processing what has just happened overnight with the release of this game.  Suddenly everyone actually wants to go outside.  They want to see new places, to fully explore the parks and trails in their local area.  They are using maps and going to places they always drove by on the way to work, and taking the time to explore that area.  And in doing so, they find others, and connect with them.  Their first motivation may be just to catch that pokemon, but now that they are at that location, suddenly exploring the rest of the park doesn't feel so far away from home.  They end up stumbling on new hangouts they didn't know before, or meeting new people they never would have talked to otherwise.  Things outside the little game universe in their cell phone, that will last much longer then the little digital critters in their hand, and are just as precious.

People are outside, united with a common goal, and a little touch of friendly rivalry to keep each other motivated.  And the Pokemon game's brand and virtual world has reminded them all to value being civil, kind, and understanding of each other, while also giving them a common ice breaker subject to strike up conversations with.  One that doesn't involve a sensitive topic or a negative toned jab at anyone or anything.  Except maybe the virtual critters that have evaded their pokeballs.

I have no idea how this Pokemon Go thing will turn out in the future.  And I'm not saying it's all roses and sunshine.  There will always be those idiots who use it wrong or cause accidents because of the app.  And of course the entire USA's data plans have been slammed through the floor with it.

But I also see a lot of good coming from these little critters, and it reaches far more then the little phone screen.  People who normally would not talk to each other are instead sharing all the cool spots they've been to.  People are taking the whole family for an "evening walk", meeting other players and learning more about the neighbors around them, instead of sitting down to watch a movie or the news channels alone.

Best of all, the entire game is free to play, free to download, and doesn't suffer the geocache syndrome of having real life boxes that can be trolled by players/weather/nature/ect.  It's like Geocache 2.0, with so much more to it.

(Parents may want to take note of or disable the In App Purchases, the items sold can also be gotten/earned for free.  They are mostly boosting items that can be dropped rarely off collection points as well, and the currency can be earned by helping your team with control point battles.)

And so, I can only heartily recommend this game, to parents and kids alike.

Play responsibly, always be aware of your surroundings, and find some other family members to play with.  Enjoy your own pokemon adventures, and strive to catch em all, together, in the most world wide definition of the word.

Sunday, June 5, 2016

Small Status Update

For those following me, not too much has changed this past week in my game projects.  I got sick with something big on Monday and it took me out till around Friday evening to get well enough to work on anything that would take more then a few minutes time again.  I've spent most of the remaining week and weekend just trying to recover myself or catch up with things I've fallen behind on.

I know this isn't the most exciting update.  I wanted to post something so those that follow me know I haven't vanished.  I'm still here, Drake is still a thing, my other projects are still happening as well.  It's just been a bit of a "forced vacation" from game design this week.

I did manage to snag RPG Maker MV during the free weekend discount.  I'm a bit too tired right now to write up a proper review.  So far I've liked what they did to improve it, even if most of the improvements are just super tiny things.

Most of my up time from my sickness was spent pouring over it's engine/tools/plugin system and learning how it ticks, since I could do that in very small bursts when my eyes would let me.  I have a little wip dungeon generator plugin that's not quite ready for alpha release yet.  I have been able to dive right into the code running this time since the language is Javascript instead of ruby.

Anyway, signing off for now.  I intend to hit the ground running tomorrow.  Next week should be a bit more productive.

Monday, May 9, 2016

Drake Work In Progress Report

I just want to say I am still chugging along on both Drake and a top secret project.  Top secret is not ready for revealing, and has hit quite a few bugs along the way.

Level 2's layout is almost finished for Drake, and in polishing stage.  The level introduces a few new game mechanics that were not implemented in the itch.io jam version.  Namely boss fights, and a system for "level tasks" that open special "doors".  Since these were not in place for the contest version but are needed for the final version, I have done a lot more behind the scenes work then level design the last few weeks.  Moving forwards, these new systems will let me fill out the rest of the levels faster now.

They say a picture is worth a thousand words, so here's a gif of Drake helping out a cute little phoenix friend who had an unfortunate encounter with the invaders.


I will keep working, and will try to regularly post updates to this blog as I get the remaining levels in place.

Friday, April 29, 2016

Drake - A 64x64 jam entry

I recently made this little game called Drake, it's on my game page now under flash games.  Or you can just click here:

https://darkgriffin.itch.io/drake

It's a single level of what was meant to be 6 levels around that size, so it's not complete.  But it's fully playable and should entertain for a little while.

I'm now working on the rest of the levels.  Those will be coming in an update as well, but very slowly.

Mostly this post is about showing you Drake, and letting you all know I'm still working on stuff.
---

Friday, April 1, 2016

Playhack winners announced! Robo Racer got Special Mention!

http://blog.playcanvas.com/playhack-with-playjam-winners/

My game #roboracer got a Special Mention, just below the contest winners!

No prize money for me, but it's really great to see it get recognized! "Good solid entry" is about the best praise I could have asked for from the judges. :)

A big accomplishment for me considering I had not touched Playcanvas engine till I started the contest, and am a single developer. :)

Go play all the entries, and enjoy! The blog has a link to a special "play games" page that has nothing but the contest entries. Some of them are really good, most are worth checking out. I won't link directly here, so you have to view the playcanvas article to find it.

Congrats to all who managed to make a game in time! It was a blast!