Tuesday, May 31, 2016

Ports and new devices!

Hiya bloger bros. Long time no speak. Maybe not as long as usual, but still. Anyway without mincing words, I'll just jump in as usual with general updateyness.

JumpBurger Android - as anyone who has been following this blog has noticed, I've been working steadily on rebuilding the port of the game. It's been slow going but I've been developing a good framework of tools in so doing, and learning lots of techniques (hint - this is my secret goal!) I had planned to try and wrap the entire thing up by late March or so - as it's obviously June in a couple of days, the deadline is obviously missed but that's fine with me. I've been busy with other projects and life in general, and that all means that overall other things have taken priority. But rest assured I will take the project as far as I can (planning to release it obviously!). I've been testing it pretty stringently all the while and it must have the smooth stability of it's predecessor, and on that front it is feeling quite successful. It's still lacking many key elements (no real graphics in there yet, other than placeholders!) but what I had anticipated to be some of the stickier points of the development have been handled, so I am very satisfied with all of that.

Blast Rover iOS - I was hoping to see this get ported to the iOS platform this year, but it looks like that is not going to happen. It's possible that I could do that myself. down the road, but probably a rather huge task and I'd prefer to spend such an effort on a different production instead. I've been looking into repurposing assets for other projects which, while sounding like a lame thing to do, is probably one of the better ideas I have had in recent memory and 99.9% of people would ever actually know or care anyway. So long as I turn it into something else that still looks cool and is fun to play, I am cool with that.

Hololens - I have recently acquired a Developer Edition and have been making some small projects for this new-fangled Microsoft device. For those under a rock, it's an augmented-reality visor that one wears, which effectively scans one's physical location and uses the data to overlay "hologram" 3D imagery into the space via the heads-up display. The effect is quite convincing, if still quite early and fraught with issues - main sticking point being that it is nowhere near as immersive as current virtual reality technology, which limits the effectiveness of the illusions. There are naysayers about these issues, but personally as it is still considered development hardware I consider it a reasonable state (and quite useful) as I'd prefer to have access to such hardware and begin figuring out development strategies and techniques NOW rather than wait for many of those issues to be sorted out down the road when there are a lot of other players in the field. Despite my tone, the takeaway should be that the hardware and overall experience is nothing short of miraculous and it's quite exciting in consideration of what is to come.

On that note I am working on a couple of small projects for the device, I'm intending to get something up on the UWP Hololens store during the short term. I've no experience with their market so a great many questions will need to be answered before I can figure out how legitimate a plan that actually is, but so far, so good. I've been successfully building to the device in a test environment so far, and looking forward to some bigger steps soon. Excited to get more material to share, if you would like to follow along than keep an eye on my twitter and facebook feeds.

Plenty of other things to say, on topic and otherwise -but it's late and would like to get a bit more work in, before calling it a night. Thanks again for reading, and check back soon!

Tuesday, April 19, 2016

Android game development updates - Jumpburger WIP

I'll just post a bunch of updates, as usual. Still moving steady, if slowly!

SUN MAR 6 - SESSION 6, 6-9pm - spawning platforms when they are distant from top of page

TUES MAR 8 - SESSION 7, 12:19am -2am - trying to get "area collision by tagged object" (to sense when objects marked "platform" are hit)

WED MAR 9 - SESSION 8, 6-9pm - area collision by tag list, WIP. All tagged items (in this case "platforms" are put into a list which is then checked

WED MAR 23 - SESSION 9, 1:45a-3 - proximity tag check script mostly there

FRI MAR 25 - SESSION 10, 8pm-9:30 - fixing proximity tag check

SUN MAR 27 -  SESSION 11, 4-7pm
"floating-up platform" bug investigated and fixed, now it will stop "looking" for overlaps after it's timer runs out
snapped a bunch of screens from iOS and collaged together to help for reference

-snapped iOS pics to get sizes of platforms, burger, burger jump height, screen proportions. compared to Unity scene.
-added "offset" to platform re-placement, testing many times to make sure there are not distant gaps (which can't be jumped). It's not perfect, but more than satisfactory. Right now platforms spawn too low into the screen and you can see them move when they overlap, this has to happen higher up. Also jumping and landing on a platform needs to be finessed.

refining platform spawning (very close)

1am-3:15 ditto

spawn looks good, no more jumping and falling short of consecutive platforms. spawning and disappearing platforms are set to occur offscreen properly (as much as I have tested)

fixed box colliding & launching from the proper part of a platform - it was using "moveTo" and just needed to reassign to platform position + offset, because it was getting stuck in the middle of a platform sometimes.
Trying to make platforms bounce when hit. Can't use Animator for various reasons so trying to use coroutine to move them. I can get them to bounce down but not back up, yet.

working on bounciness of platforms.
Bounce is working, but not properly. The guts are there just need to be implemented better.
Made "don't bounce by object" and "mute all bounces" options
Animation needs to start more immediately when it launches off a new platform, also platforms will (sometimes) need to play animations when they are jumped off of. Maybe each will hold sub-gameObjects and toggle them quickly?

got the bounce working, but in a way I really don't like. It still double-bounces on some objects, needs to get fixed.

Tried to fix double-bounce by changing anim cube collider from "discrete" to "continuous" - this was not a good fix as it introduced different problems, reverted.

Still hitting some occasions where the platforms will eventually be too far apart, but it takes several minutes of play so not gonna sweat it for now, there's many ways I might be able to tweak it. I'll test some more after getting the bounce better.

It was "landing" too long and I was going nuts trying to find how to address this. Eventually I needed to enable "spam" on my playAnimator script, that fixed the bounce and made it immediate. The jump speed looks good, although the fall might be a little too fast, hard to tell since there's no upper bun to more slowly float down. The entire jump might be too quick, but it feels quite close to iOS.
(after some futzing) Jump feels pretty dialed in right now, between speed and height. side-by-side monitor w iOS, feels just about close enough so I will call it good for now (wait till it has ingredients!). The camera scrolling feels jerkier now, but I can look at that later.

Will have to test for bounciness (will run a few times before session ends - edit, bounciness is still there) and out-of-reach platforms.

Started making horiz sliding platform code. Early test makes funky things happen, I'll need to temp disable platform's collision when it touches JB maybe, but they were moving back and forth (no ease in/out yet) so that is a start.

JB can now "power" thru platforms when they are too close together, which looks bad. Maybe tweak the spam, or jump height.

Tuesday, February 16, 2016

Android game development updates

Continuing to document the port of my iOS game JumpBurger to Android. Rebuilding the game from scratch (code-wise) essentially, within the Unity engine.

- modify collision logic to check/act upon "above or below"
- put jumper under a new origin point; on collide, new origin can be relocated (to a specific platform)

- tell jumper's origin to relocate to last selected platform, put "move to" segment into actual collision script
-set up constraints so it can only lock to a platforms x, y, or z instead of only locking to it's full position (center point)
- fixed jumper rigid body so it won't rotate
- changed animation so jumper will fall farther than it will ascend
- changed collision script to look for object tags rather than specific named objects
- threw a bunch of dummy platforms into the scene to test consecutive jumping, it works!
- camera follow script - checks that camera is out of a specified range of jumper sprite, and
will move up a certain threshold to reach it. A little funky but 1st pass looks decent.
- 1st video test on device. Super simple but looks and feels right so far. Obvious debugs to look into: --make sure jumper is landing on platform properly ("thuds" a bit right now), also
--make sure it is on TOP of platform rather than in the middle, etc

yes it is officially technically "fun!"



- bugfixes as mentioned
- testing on weaker device
- random platform placement (instead of me manually throwing a bunch into a scene)
- simple scoring
- death conditions (at least falling) & game over


- different platform properties
- bad guys
- shell
- leaderboards
- graphics and sound FX
- item pickup

- - - - - - - - - - - - - - - - - -

Yes it looks very rudimentary but I am excited as this is my first solo port job. I am not just straight ripping off other people's code to build this, it's my own C# toolset (running from within the Unity engine). Making the tools as I go along, which will eventually give me a much better framework to build other, more complicated projects with as well.

Tuesday, February 2, 2016

2016 is a go

Happy new year everyone!

Lots to say but it is really late and I have just wrapped up a session. I am beginning to port JumpBurger to Android using the Unity Engine. The original iOS game was a collaboration between myself and My friend Dan at Billy Hugs, with me doing overall design/direction and asset creation. He did 100% of the coding within his own framework, and we worked together to iron out and iterate the game design.

This is my first attempt to build an app completely from scratch (not completely first, but for all intents and purposes) and I thought it would be meaningful to document the process here in my blog. As one would. I'll do my best to update in here every few days, as the project progresses.

I am going to use all of the original assets that I built for the iOS game,  and I have some simple notes that he has provided from his coding on that version - but for the most part I will just be eyeballing things to try to match the experience as close as possible, and hopefully to add a couple of features as well (leaderboards and such).

FRI JAN 29 2016 - SESSION 01
-1st session
-figured out portrait mode export
-found an acceleration sensor can that can detect motion, 1st export to device successful
-trying to get devices working

@2 hrs

-label printing to screen (XY numbers etc)
-clamp accel sensor to X, define warping bounds
-"reset XY to 0" touch sensor

-get warping bounds implemented properly
-simple jumping anim
-modify "mousepan" code to clamp (so I can drag in editor, to simulate device tilt)
-begin 2D collision & collision by name code between jumping cube & platform prop.

Wednesday, November 11, 2015

Turkeys of Thanksgivings Past

I am trying, really I am, to be more prolific on my blogging this year. To be frank, 2015 is probably the most verbose I have been in some years. Lots going on as usual, I will just jump in.

Development-wise, things have been super-silent. I have done a little research into porting JumpBurger to Unity (for Android release) and was semi-considering putting it out before the year's end. I'll be surprised if that happens, but it's not impossible that I might do at least a little work on it. Free time has been scarce, and I have a few other things that I'd prefer to wet my beak with; however it is appealing for a number of reasons. If it happens by next Spring I'll feel satisfied.

No movement on Trapdoor, and that's a shame because it's been frozen in development for like a year and several months by now. It's hard to feel terrible about it for many reasons, but I do like the game and would just like to wrap it up and see a release. The onus for that is really on me however. I will be honest I just miss working on games and it is rather tempting to throw back into that one and finish it up, it is a fun game and I would quite like to balance it into something I'd be proud of. I think of it rather often.

I peered through some old assets for GunHead recently - it feels shameful to think how many YEARS it's been since that game has had earnest development! I put in a lot of hearty work into asset and design work on that project, and still refer to it as "my dream project..."  For the mobile version at least, I am enchanted with the idea of handling the coding duties myself. Kind of a monumental task but I just think it would be extremely fun. I don't wanna go there until other things happen of course, but it is exciting to think about.

Anyway here we are closing in on the end of 2015, I feel very proud to consider that after so much time I have launched 2 separate titles in the past twelve months (and really, just about a month in between them). I am still quite proud of both projects, I think they look great and are just superior gameplay experiences. As usual I'll note that they made next to no money at all, this is a symptom of the marketplace and related factors, but I am not really concerned with that at this moment; I just like putting out great games and if people find and enjoy them, then all the better.  That makes me happy.

Work-wise, my day job is going along fairly steadily. As usual I could fill volumes with my thoughts about this subject, all things considered it's full speed ahead and I am pleased to still be working there. It's very twisty-turny for countless reasons (always has been), but constantly engaging and challenging me. I am always learning lots of new tech and concepts and processes and able to grow from them and use them and it  just always makes me thirsty for more. My favorite element these days is just getting steeped in C#, I am still quite new with it but it is very enjoyable and I just want to get some YEARS of experience with it behind me.

Something I may have alluded to a bit in this blog - as usual I am too lazy to check so I may repeat myself a bit here - getting to the other end of my 40th year now. It is always so sobering to type things like that. Especially now, I just weigh so many things in my life relative to where my mind was on such things before. Career - money - relationship - family - friends - personal projects - health - growth - the future, mortality, and so on and so forth. 15 years behind me in Southern California now.  I don't like to linger on much of it as it is just very exhausting to consider, I've been a very busy guy in my adult life and seen and done so much. At the same time I spend so many of my waking hours planted in front of a machine; I am starting to feel the wear and tear, and I don't just mean physically (although that's dramatically affected as well!) Am I happy? (Have I ever been?) I mean, in many ways I have definitely lived this privileged life, in others I feel like I have missed the boat on some key things and it maybe kinda late to play catch-up. I sorta wish I could just set the clock back 10 years ago, but then - I think of all that has happened in my life from 30-40 (in my little microcosm, as well as the larger world around me).  It is a little stupefying - I could NOT go through it all again. Couldn't I though? Would I just end up back right here where I am now anyway? Do I regret what I have become?

I guess no person is perfect - you try to do the best you can, we all do really. Some things are just easy and come naturally, the timing works out, the Universe (or someone in your life) throws you a bone and you get to level up a  bit, occasionally. And some other things, well the tend to beat you super-mercilessly at times, sometimes you get numb to it and don't even really notice or feel like you know how to react or fix it. Or you see it but as you get older - you just feel aggravated and drained, so you just let it kinda wash over you. You compromise.

I feel like this is sort of where I got with some of my personal projects at times, you realize that "ohh this game just HAS to get finished at some point" (notice how some of my projects, simple as can be still manage to take years to be completed!) For a time I honestly wanted to "change the world" with these games and just do that for a living. I mean I STILL do but in a very different capacity now.  It becomes the difference between "being driven to make sure everything is done just so" and "actually getting the thing polished up and release-worthy, and THEN putting it out into the world. The Cold, Dark, Unsuspecting, Careless and Largely Ignorant World, but whoever said I was bitter!!!! But yes. the show must go on.

Alright. Falling asleep. Some upsetting dreams flashing through my brain (I'm a bit anxious these days). Thanks for tuning in!

Thursday, October 1, 2015

Fall 2015 Update

Greetings heathens, it's been some time. As usual I regret not entering in here more often, but I am just not too much of a journaly guy these days. Too busy. Ideally I'd still like to hit it like once a month but... ah well.. if anyone out there does read this stuff and wishes there were more frequent entries, pipe up and I will respond in kind. i mean, i see that I am still getting hits...! Someone out there looks at this site..

Well , first let's get the numbers out of the way. I've released 2 different apps this year, Jumpburger on iOS and Blast Rover on Android. Bother were in July I believe. Both were free, no IAP, ad-supported, and sporting little to no promotion on launch. Let's see how many lifetime downloads we've got for each.. in real-time..

Jump Burger (iOS) - 251 downloads worldwide (102 in America, 30 China, 12 Canada)

Blast Rover (Android - Google Play) - 112 (60 in America, 11 in Brazil, 5 in Russia)

According to admob (the only platform I use for ad revenue), I've earned $36.33 between all apps (including 180) since July 2014.

So there are some nice hard numbers for you, potential would-be fellow indie developers. Clearly I am not quitting my day job to do this stuff any time soon - but I have accepted my fate (for now) and happy, as a hobbyist anyway, to have some very fun games on the market. As for getting some more downloads? Well I would love that, and I am still sitting on some plans to enable that. To wit:

Blast Rover iOS will (possibly?) launch Q1 2016 or thereabouts. I've been sitting on my promotion of the game, in spite of the Android version being available for some time now, until that version is ready - however given circumstances, I might jump the gun and switch things up one way or another. I might do that before the year's end, but we will see. Also, I'd like to get this game released on the Nook, and I keep neglecting to discuss with the programmer, I should hit him up after I finish typing this. Nook actually generates more sales than anything else, at least in my previous experience.

Jump Burger - the iOS programmer gave a DL goal of 1,000 before agreeing to work on a patch (leaderboard support, at least) so I am expecting not to hit this goal for a very long time, if ever. However I am strongly considering to produce an Android port myself in the meantime. Hopefully by the end of the year, but I can't say how likely that is. But, I'd really like to.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Well there's the state of things as far as post-release and immediate plans to pursue in the coming months. Nothing super-terribly exciting, I agree, but considering it's been years since I've launched ANYthing and now I have 2 new (good) games out there, and looking into porting them both in the short term, I'd say that's not too shabby - development-wise, if not business-wise.

I've been awfully busy with my day job, and finally I have spent a lot of time tooling around in C# on a somewhat normal basis. I really wish I had started with that stuff years ago, it's not my favorite thing ever but I DO enjoy it and the feeling of building my own tools and seeing how to construct, fully, my own applications is a wonderful one. I'm a pretty heavy Unity head these days - in some form or other, I would very much like to release another app under the Headcase Games label that was put together by your truly. It makes me pretty psyched to say that. I think of my other unfinished projects out there and actually having the ability to build them as I see fit. That's pretty exciting to me, and I have a ton of ideas which are still waiting to be let out into the world. I have a long, lonnnnng way to go as a coder, but even at this early state I have the ability to make something half-decent (if laboriously and inefficiently constructed). So we will see. Like I said, porting JumpBurger by the year's end would seem a pretty solid goal for a first time project, so stay tuned.

I guess that's it for now, I have a billion other things to discuss (on-topic and off) but it's late and I have a lot of work due tomorrow, so off I go! Thanks for reading-

Sunday, July 12, 2015

End of the Road

Hello Headcasers! What brings you by this way?

Lots going on lately as life has been extremely busy for me. It seems nearly ridiculous to consider the fact that I am submitting 2 blog entries within a single month's span of time, right? (This, from a guy who used to write daily updates.. sort of).

Anyway, we finally released our second game this year (again, inside of a month!) as JumpBurger has been approved for sale on the Apple App Store. You can get it here - it is free, if you like it please rate and review, and tell you friends even. I'll be straight, the launch of a game is hardly ever easy  especially a game like this one. We got a good 170 downloads after three days (peaked on day 2, dropped off considerably on day 3) with shy of 200 clicks on the link provided above (not all DLs are through that link, of course). For a free game, with adMob monetization, that nabs me less than $3 in profit for a game that took a year and change to make. Worth it? Business-wise, not very much, but I have never really thought of this as a moneymaking proposition. The majority of referred clicks were through a Facebook promotion that I ran - I paid @ $27/day for 2 days. Now with all of that gone, it will be interesting to see if there is any leftover energy or if it completely dries up..

I have yet to finish my campaign (still building it) and if things were different, that would have been done by now, as well as a trip to Comic Con in SD (event took place during this weekend) to distribute, schmooze, and promote. That didn't happen for a bunch of reasons, mostly time and money. While I regret that, I also stress that I am just a guy with a job and some semblance of a life still. In all honesty if I did push to the 9s and try to accomplish all of that as well - WITHOUT cocaine, I don't know if I'd even have doubled my download numbers.

So what, then, to take away from all of this? It's a good time to be analytical. The takeaway is that the mobile arena is as harsh as it's ever been, if not substantially gnarlier than it was a few years ago (already a minefield, then). There's something to the tune of 500 apps released a week, or so, and trying to envision a real-world counterpart to that is like a Walmart the size of Downtown LA, and it's something like 300 stories high. Also, each app is the size of a deck of cards. And the lights are dim. You get the picture.

Other than that, I've had some reliance on social media to bolster my chances. Between twitter and facebook - I've spent countless hours building up & maintaining both - I see that they are mostly useless, as far as my utilization of them. Unless you have something particularly captivating to showcase, and do it properly in advance and with some kind of appropriate production budget, even the well-est of wishers will not be there to electronically high-five you on a low-profile product launch. "Why should they?" Well, there's the perception that the social networks are more than the merest of echo-chambers for ADD memes and hype-train and such - but unless you live and die by it, and produce constant product for consumption (of a considerable quality), then it's just almost like a big waste of time to expect anything from it. If one tries to do things surgically, of course more prper use can be made of such resources.

Where does this leave me? I've got 2 apps freshly out with not much revenue to show for it, and likely that's how it will stay for some time. I've got another app that I'd like to release in the coming months as well, with little expectation for a different result. I'm also considering to release some other smaller things before the year is up, if possible - and hopefully get back on track with "my dream project" as well at some point that is not too far off.

But WHY?

Because I love to do this. I love making games, good ones. The mobile and (some of the) indie markets are harsh environments, but there is still something very special about this place and what it affords a creator. Even with the crazy launch conditions, it is such a charge to see your own little project go out there into the world, see that some strangers are enjoying it, getting that feedback. Even if it is small, even if it nets you no $$ - and not even any goodwill - it feels good to put positive things out there in the world which might make people happy.

Would I love to strike it rich with this, get better feedback, get some bonafide support from the community beyond a couple of kind-hearted souls and close friends? Of course I would. Furthermore, is that reality even a possibility? Well, sure - we will find out, won't we?