Overall, dipping my toe into the Android waters has been a unique experience in comparison to anything I have ever done on the PC. Considering that I favor C++, and to that effect have been coding for microchips as of late. It took no time to get back into a JAVA frame of mind.
For what it is worth, I actually like the paradigm shift. The challenges as far as user interaction, and screen real estate make for some interesting solutions and compromises; never had to worry about that on the PC. This leads into what I find both fascinating and beneficial about mobile development. Literal instant feedback.
The wife and I spent sometime dropping of gifts and visiting family. This gave me the chance to show of my progress and get some feedback in the process. The experience was kinda surreal, considering I never really had anyone test my games on the PC of whom I can actually sit and watch. It was kinda gratifying to hear both the positive and negative feedback. I instantly saw what worked, what did not work, what should be added, and what should be taken out.
As far as drawbacks. First off, I'm thankful that I save all my old phones and never sell or trade them. I just throw them in the "bottomless box-of-tech-junk". Testing via the emulator blows because it so slow. Hardware is the way to go, its faster and plus it is just so cool to see your work on the phone right away.
At the moment, I am testing on a Galaxy 4 and HTC EVO 3D. The game runs super fast on the EVO and seemingly "normal" on the Galaxy 4. That at least for me is frustrating because at the end of the day you can't control "hardware". More than likely the only doable solution would be to lock the frame rate during the game loop and hope that would make the game device agnostic.
At this point, I'm pretty much happy with my progress learning wise. Although, I still consider myself a beginner on Android and I have miles to go before I sleep. Which rules out any truly ambitious projects that are worthy of annoying ads or even a price tag. For now I want to create some non-gaming applications and really dig deep into what Android can do and then come back around with better chops and do something interesting game wise.
However....before I go down that path. I still have that Photoshop itch, so I'm leaning towards two more small simple games. A game for my daughter that will teach her colors and shapes. A a game for my 9yr old son, to help him with his math (multiplication and division).
Tomorrow I am going to run the game through its paces some more on a couple of different devices and test it with a few more people. If all I goes well. Critter Smash should be in the Google Play store before the end of the weekend.
I'll try to post a video of the game play tomorrow....
Two posts in a day? Wow... I can't even remember when I posted twice in a day ....
Anyway, I spent the majority of the day trying to finish up all of the graphics for Critter Smash. Usually, I'll code up to a certain point, then take a break and create whatever graphics are necessary. At least for me it breaks up the monotony. However, this time around I just want to focus on the code and not slow down any momentum that I may develop.
Now that I have all of my assets collected and completed, i.e., Art, Music, and Sound FXs. It should be an interesting couple of days
It's been a about a week and a few days since I've started learning my way around the Android SDK. Early on,it is somewhat obvious that if you truly want to be able to troubleshoot your game, a solid foundation of the Android platform (non gaming code) is essential.
From what I've seen in the way of user complaints on the PlayStore.[size=2] If you are developing with an engine (commercial or free) that deploys to multiple platforms, i.e. IPhone, Android, BlackBerry, etc. Those developers who lack a certain level of general platform knowledge are at a disadvantage . However, there may be no recourse to fixing issues, of which may be related to crashes, memory leaks, etc. That is, if those issues are related to source that is out of your control. Therefore leaving you [the developer] at the mercy of the quality of your engine of choice.[size=2]
It should be noted that I am not attempting to bash any engine in particular or even discourage their use. Personally, I'd love to try one eventually. My comments are truly nothing more than an observation, coupled with a more than likely weakly founded conclusion, based on, i.e., limited knowledge of the Android Platform, X Development Engines, and common complaints that appear to go unanswered in the PlayStore
On another note. I have been on Christmas break since 12/16. I have just about completed my first book on Android Programming; I bought five in total. In addition to reading countless Android related dev articles and posts on StackOverFlow late into the night. My wife is kinda pissed that I've been coming to bed after 3am every night .
So far I have been able to hack together a card game "Crazy 8's". It's more or less finished, but there are some extras that I'd like to add to it, to truly make it my own. I spent about two days, working on graphics for the game. Oddly enough, the time I spend in Photoshop definitely recharges me and keeps me going. Thank God for my somewhat artistic side.
Last night, I started working on another game "Critter Smash". I just finished the list of what I want in the game and hope to have it knocked out it in short order.
What I am beginning to like about small "simple" games is that you can implement just one level and call it "done". Where the goal is basically besting your previous high score. The benefit of this model is that I can complete a game fairly quickly and just move on while continuing to learn the platform.
At this stage, I am not interested in a fully fleshed out, multi-level rich and fulling experience for the end user. I am no where near that point.......yet.
So how did I go from IOS to Android in less than two weeks? Well, I could really go on a rant about how the Cocos2dx documentation is limiting, and by attempting to circumvent Objective-C, I would be limited (knowledge-wise) to mainly programming games only. However, that is not the real reason why I have decided against learning anything related to Apple development. The truth is, I paid $100 for the developer's license, therefore the commitment was there. Unfortunately, I was looking at another $500 plus dollars in hardware upgrades due to my mac mini's hardware not being eligible for the OS version needed - currency issue. The hardware barrier was more of a turn off than the lacking documentation of Cocos2dx.
Now I have turned my attention to Android and I honestly can't say why I did not choose this platform to begin with. In comparison to Apple development, right off the back there are a few pluses; for me at least.
1. I can use whatever PC I want 2. Familiarity with Eclipse 3. More than comfortable with JAVA 4. Excellent documentation (Note) I am not comparing to Cocos2dx since that is not an Apple offering 5. Developer license for Android is $25 dollars a year versus $100 for Apple
It's been about five days since I've started teaching myself the Android sdk platform. Fortunately, I write code for a living and I am no stranger to complex architectures. Even so, I would venture to say that for a true beginner attempting to write non-gaming apps for Android, it is a really deep dive. However, the gaming side of things seems to hide a lot of the complexity needed to create actual applications and is a softer entry point.
That said, I've decided to learn the Android platform for both gaming and regular application development. I have also decided to code strictly in JAVA for Android. I've read enough articles to realize that although you can attempt C++, it would be too much of a headache.
As much money as I've spent on education, books, and software. Now you tell me that for[font=calibri] $99[/font] I can be considered a [font=calibri]"Developer"[/font]? .... I have to wait 24 hrs. But hey...money well spent right?
LOL...If it were only that simple
So yesterday, I spent a lot of time scrolling through Netflix trying to find something of value to watch...ended up half watching Red Dawn. While wrestling the remote from my daughter off and on, surfing the web and pretending that I was listening to my wife in the background. I was trying to figure out what I wanted to do this time around game dev wise. It's been years since I have done anything outside the realm of DirectX (still stuck on ver 9). Although, there was a brief stint with XNA of which died a fiery death due to the uncertainty of the Metro Architecture - spooked me because I hate to waste time.
Anyway, I'm the type of individual whose needs to be fully engaged with my interest beyond piqued if I am going to devote some time to anything new. After countless Google searches (basically catching up on two years lost) on the latest and greatest in the dev communities - looking at what's hot, what failed, and "[font=calibri]why would you waste your time with x technology"[/font]. I just happened to come across Cocos2d-x.
What's funny about Cocos2d for me is that back when I was a huge IPHONE fan boy, I wanted to dip my toe in the waters and see what developing for IOS was like. The biggest turnoff however was Objective-C. I bought a book on it, coded in it for a while and just did not like it. Don't get me wrong, I'm all for learning new technology and new languages. However, I just felt boxed in with OBJ-C. Considering the paradigm shift language wise (at least for me) I knew I was not about to become a full fledge card carrying member "Apple Development Only".
That said, It's amazing how if you go dormant for a couple of years how much things change ....like becoming an Android fan boy LOL.
Anyway...so you're saying I can stick with C++, and develop cross platform using Cocos2d-x? Ok, I'm listening...
This morning I went in the closet, dusted off my old Mac Mini that is currently running Snow Leopard 10.6.8. The hardware will not allow for anything above that build...10.7 is Lion. Why is this significant? Well, the latest version of XCode is 5 and of course my hardware is too old. Ok fine, I shoot out to the Apple site looking for the latest version of XCode that I could install. Sweet! 4.2 for "Snow Leopard" is available. So far so good.
Ah, the caveat....Xcode was/is free up to 3.x. Therefore, in order to gain access to the version I need. What? Huh? Yep, you guessed it. "[font=calibri]Gimmie [/font][font=calibri]$99 dollars[/font][font=calibri] and we will call you a developer and grant joo access sir![/font]" Sigh, I'm such a sucker....Oh well, guess I'm not a real developer yet (24 hr. wait). For now, I'm just some dude with a couple of computers and a credit card.
Anyway. Cocos2d-x seems interesting enough. However, I'm not going to commit to a game yet. I'm just going to have a little fun seeing what this API can do (or what I can do with it) and blog about my experiences for a while.
See you guys when I become a developer ......unless my card was declined
So let's see, I've been busy with school full time - two semesters away from senior status. The current day job (full time) is constantly brutal as always. Hmmmm what else .... let's see....my 3rd daughter Savannah was born to me back in July of this year. I guess I can say that I've been pretty friggin busy
However, I've been a member of the Gamedev Community since 2000 so it did not bother to keep my GDNet+ membership going even though I had not be utlizing the account. Anything to do my part I guess....
Alright, so what brings me back? The "itch" of course, I'm always wanting to develop something, write code for something outside of work. Not to mention that I've been knee deep in eletrical engineering classes and I miss writing graphics code
So there I was staring at my old posts about Project 60 .... what was that project about again? The last update to my files (amazed me that I could still find them) was July of 2011
Anyway, its been like forever since I've done anything DirectX related let alone game development related. So let's see how far I get ... I gotta at least see Project 60 through to its completion....I think...
Well sort of...I've really been thinking about not limiting myself to just Windows and keeping my options open for developing towards multiple platforms such a Linux and Mac OS. Tonight I spent sometime actually trying to setup a development environment using Cygwin & TextPad Pro. It is just amazing how much your realize what Visual Studios does for when you are not using it.
What I really want to do is just compile and run a simple DirectX app and a OpenGL app using this pipeline to qualify it (need to figure out how to point to the lib & include directories for 3rd party SDK's). I figure building and compiling an OpenGL sample app should be pretty straight forward since the gcc build is supposed to come with the OpenGl libs.
Anyway, I'm open to any tips, caveats or even a better approach to develop outside of Visual Studio with the main goal of targeting multiple systems. Thanks in advance!
Thinking ahead, it looks like I'll need to at least become some what proficient with GDB as well...
I look at this way, my programming skills should increase a bit considering there will be no intellisense and I will "seriously" have to pay attention to the compiler messages.
*Knock on wood* I may be finally adjusted to working fulltime and taking classes...the last month plus has been a a$ kicker... Not in regards to subject matter but time management and a increased pace... I think I'm adjusted *lies*
Anyway, I will pick up my 2D sidescroller project P60 from where I left off and keep hacking at it.
One thing I've learned in the past, it's not just how much time you put into something but the fact that you have to put some "time" into whatever you are doing. Eventually, chipping away here and there it gets done....5 minutes,10 minutes, 30 minutes a day here and there adds up versus nothing at all.
Looking forward to posting again and seeing what everyone else has been up to...I'll be stopping by for sure.
If you came here looking for an educated breakdown of how to create a 2D platform level then let me apologize now because you wont find it here. Yet this is where I find myself. How could something that looks so easy be so complex?
I have to admit that I figured creating one platform level Ala Mario/EWJ would be fairly easy but truthful it has been a task. After studying some levels it appears to me that you have to design your levels around already predefined goals and objectives thus flying by the seat of your pants (kamikaze style development) does not work.
So what lessons have I learned? The easiest thing in Game Development is coming up with a company name (inside joke) lol.... Seriously, even a simple tech demo can end up kicking you in the a$$ on what one might consider the most trivial of things.
Now my dilemma was how did I want to go about rendering the map, tile engine or scrolling bitmaps? Considering how I designed my map and trying to keep the memory footprint low I'm definitely going with the tile engine.
Below is a screen shot of level one for this project.
Level 1 Details:
Map size 2560 x 960 Game Window (Green Square) 640 x 480| *Red arrows are not a part of the level they just indicate game flow
( Based on the map size the player should go through a total of 8 screens )
All that is left is to strategically place some game items, baddies and moving obstacles on the map. Yep, lots left to do....
My main goal for the weekend is to get the only level for P60 in the can by at least 90%. The toughest part thus far has been coming up with the artwork for the game. In any other situation I would have made everything in 3D instead of drawing, scanning, pixeling etc...why? Well because I suck so bad a pixel art it's not even funny and animating in 3D is soooo much easier.
BTW, if there are any pixel artist purist out here, please hide your eyes and keep moving...nothing to see but jaggies and any other no no's done be neophyte pixelers aka me
Piggy backing on my post from yesterday, I am now starting to get the fever and all I want to do is code; feels good when there is a visual glimpse of what you are working towards. By the time I mock up the levels, hud and some other miscellaneous pieces, I'll code straight to the finish line. (Well it least it sounds good).
Below are a few of the characters and some game blocks I came up with for P60 yesterday while watching SHAQ's retirement announcement. I just sat on the couch with a sketch pad and scribbled until something decent appeared. Still outstanding is the fact I have failed to sack even an inkling of an idea as to what the main character will be; this is truly vexing my spirit.
**The smaller of the three variations will be the actual in game size. (sorry for being captain obvious)
I always seem to spot a few post on motivation and enjoy reading what other developers attempt to do in order to rekindle that fire that got them started in the first place. Well I'll share with you what I do during those moments when motivation seems 100 miles away.
Over the years of hacking away at tech demos, half completed games and retread projects, I have come to learn something about myself. I discovered that my motivation is born out of hyper artistic visualization (I just made that up to sound cool). Now of course without a vision, how are most of us even attempting to pull of the projects we set out to tackle? Without some sort of visual impact on the conscious part of the brain that influences creativity, we would just end up pulling something out of our fifth contact point.
So, when things get tough and you find your self fading or you have been starring at compiler errors for days, it is easy to miss the forest for the trees with your own project. The remedy? .....OPEN PHOTOSHOP! (or something similar)
Now I get it, most programmers are not artistic (programmers art) I know this....but come on now. don't sit there and tell me you cannot mock up a menu screen, start up screen, some power ups, game levels etc. Even if its just preliminary, seeing a realized version of your own thoughts or ideas in living pixels during a lull in development could be that spark you need.
I find that I when I start "putting the vision together artistically" and have those images called from code..it's like hey "I have one-quarter of a game here" lol..trust me it works. Sometimes we need more than just debug message boxes or log files to validate progress where motivation is concerned. And if you are like me (who would not want to be) you will fall in love with the stuff you do in Photoshop to the point you gotta see it fully developed.
Anyway...that is just a rant...not sure if its applicable to anyone but if you are struggling with motivation...start painting pixels..can't hurt!
[size="4"](P60) Update - I just started to develop some screens for the game and will work on the first level today as well. My biggest hold up is the main character and minions. I seriously have a mind block here (DAMN'T). I have to remember that I'm not developing Sonic or Earthworm Jim obviously....yeesh.
Over the weekend I was thinking about including joystiq support for Project 60. Considering that the universe of NYKO Air~Flo EX controller owners, of which I own is most likely very small, I figured why not at least support an XBOX 360 controller?...even though I dont own an XBOX
Anyway there I was today standing in Target after work looking for a wired XBOX 360 controller...of course they did not have any and I needed (wanted) one right now. With gas prices the way they are I decided to risk it and go with an Aftermaket (Microsoft Licensed) XBOX 360 controller. It's an "Afterglow AX.1 (Glowing Orange) 360 knockoff"
Truth be told, when I got it home needless to say I was a little nervous because the instructions said nothing about support for Windows PC. Being ever so brave and one step on the cutting edge, I unwrapped that bad lad and plugged it into the USB port...a few seconds later (an enternity really especially because I am risking making a mistake on a tight budget) I saw, "your device is now configured for your PC"...Suuuweeet!?!?
Ummm, Well...not so fast...now I need to write some code to make sure I can actually interface with it or I'll be ordering an OEM from Amazon like I should have to begin with.
So here I am picking up the proverbial pieces after my devastating data loss . No success after switching out the enclosure, now I am left with the option of paying north of $130 to attempt the use of a data recovery service (To be continued...)
More importantly, here is an update to [size="3"]Project 60:
It is apparent that I would be lying if I suggested no real time has been lost. The biggest factor in not really getting anything accomplished for the last week and a half is simple...DEEEMOTIVATED & PISSED!! I finally just had to tell myself to get over it and that there is no such thing as the "Binary Fairy oh restorer of all things good" who reanimates dead hard drives for good little developers all around the world.
So there you have it, I am over it...a little bit. The reality is that my classes are still going to start in July and I also made a commitment to completing this project. Realistically, trying to get back that week and half is going to be tough as hell no doubt but I refuse to move that July 4th date. I believe in maintaining a level of consistency both with personal projects as well as with my professional ones. Whatever I gotta do to get caught up and make it work will just have to get figured out as I go...most of us usually grow a little more under stress so maybe this was a good thing (...um not really).
Anyway, I hope to be able to post some kind of concept art by end of weekend related to the project. As far as coding goes, the code base "was" coming along nicely until that "issue" happened" but I'm back grinding again...no excuses!
Going forward, I should/will be posting more on a regular basis;still trying to jump start my mojo...regardless..a commitment is a commitment
[font="arial"][size="2"]So there I was, at home, sitting at my desk after work and then it happened. My main [/font]Western Digital HDD My Book[font="arial"][size="2"] was no longer blinking...just a solid green and not showing up in Windows. "Oh No![size="2"]" I declared...."You have got to be kidding me![size="2"]". Seriously folks, I cannot make this crap up. Like most of us that work full time, Friday night is that kickoff to the weekend when one attempts to get a nice coding groove going. But noooo, on this particular day, it was not to be for me. [/font]
[font="arial"][size="2"]I spent several hours researching the web on what the HELL could be at odds with this frigging (hotter than hell to the touch) HDD. Please understand my frustration... this particular drive houses my entire digital life ....it has "EVERYTHING ON IT![size="2"]"....my God.
[size="2"]Truth be told, I have a redundant back up HDD and I use Memeo Backup software to maintain the two but ummm....yeah, not since 2008..subscription to keep buying the software didn't seem feasible at the time. (Stupid me I know) ....but everything I need is on this master drive. (I'm sick right now).[/font]
[font="arial"][size="2"]Anyway, to make what could be a long story from hell a short story from hell. I ended up taking apart the physical enclosure and removing the HDD. From what I found out (during a nerd battle at a local store last night), these older ones overheat and just fail. What? really?....
[size="2"]I'm heading to Micro Center later today to test out the HDD and hopefully buy a new enclosure. God willing....my data is safe.[/font]
[font="arial"][size="2"]Last night obviously was a wash...best case scenario today would be to salvage my weekend with a "win" by restoring this frigging drive and getting back to coding....I'll continue "Hard Drive Gate" later today for sure. [/font]
[font="Calibri"][size="3"]The nice thing about a hard and fast date is that it cannot be moved, no matter what, the date is coming so deal with it. [size="3"]Midway into week one I find myself still tweaking my attack plan here and there but the end date remains the same. [/font] [font="Calibri"]
[size="3"]At the moment, of course I find out that I am my biggest obstacle and the cause of my slow start as week one is quickly wrapping up. [size="3"]When it comes to anything art related I am the consummate perfectionist but honestly, I need to get over myself and let go most of the time. [size="3"]For example, no matter what I'm creating, be it a drawing, 3d model, graphic image, etc, it has to be perfect.
[size="3"]This "condition" my own personal dilemma of perfection has caused me to lose three days already. [size="3"]I am going to have to do something I have not done before and that is actually use place holder art and or fully fleshed out concept art. [size="3"]If I don't, I will fall too far behind and end up with a comic book instead of an actual game .
[size="3"]Not having a code base is really tying my hands behind my back due to the time constraints I'm placing on myself to get this project done.[/font]
[font="Calibri"][size="3"]As far as coding, I discovered VisualSVN last night which is actually very very cool. [size="3"]I was dreading having to go through that process of setting up a Subversion server, configuring all of those files etc. [size="3"]Got to love "Next,Next, Next, Finish" software. [size="3"]After about 5 minutes I had a full blown Visual Studio integrated solution up and running with a server.[size="3"] Awesome? ... heck yes. [size="3"]That is just one less headache out of the way as I come close to closing out week one.[/font]
[font="Calibri"][size="3"]Overall I'm still pretty pumped about this project minus the personal art setbacks of which I will overcome trust me, I know I will blog more about it later. Yet I am still unsure of [size="3"]how I am going to actually pull this off because I've never coded an action/platformer type game before. [size="3"]Honestly I really believe that not knowing how to code it is adding to the excitement and driving my motivation at this point; so far being clueless is the best part.[/font]
[size="4"]Project 60 (Conceptual idea phase) ~ A one level 2D platformer with possible End Boss (time permitting).
I've decided to push myself a little further than I have in the past, this will be my first attempt at a 2D platformer. With only 8 weeks to pull this off from scratch, no source code, no art, no music, and only half an idea...why not...should be fun!
As of right now, every moment counts and everyday is a day towards July 4th so organization and a plan is key but the end result is two fold. Have fun, and just get my coding swag back before school starts. Here is a 50,000 ft view of what I'm up against and how I just might attempt to pull this off (subject to changes, additions or deletions).
1. May 12th
Coding (Windows base code, DX drawing routines)2. May 19th
Menus & screens 50% complete (full CG) Main, Game Over, Credits, Character info, Splash Screen
Game music and snd fx ( 50% complete )
Coding (DX drawing routines, Input routines)3. May 26th
Character Designs w/animations completed (full CG)
Menus & screens complete (full CG) Main, Game Over, Credits, Character info, Splash Screen
Power ups, bullets, and explosions (full CG)
Coding (Collision detection, animation & transformation routines)4. June 2nd
Font templates completed (full CG)
Game music and snd fx completed
Coding (Parallax implementation, Font engine, Audio engine)5. June 9thCoding (Start game code implementation)6. June 16th ( TBA ) 7. June 23rd ( TBA ) 8. June 30th ( TBA )
Based on the above schedule ( milestones completed ), the project is broken in half. The first four weeks consist of design, base code and in game assets. Last 4 weeks leaves time to implement the game itself.
The most important thing is to have a "concrete" plan and minimize any fluidity. I'll more than likely have everything fleshed and locked down by the middle of next week. More updates to come...
[font=Verdana]It's been a year since I've seriously kept a journal here. Life get's in the way sometimes and no matter how hard you try, you can't stop it. [/font]
[font=Verdana]Anyway, after letting my webhosting go, and some other valuable resources fall to the wayside, I'm back trying to put all that stuff together again. This is the first time I've ever had to rely on free resources to host images, videos etc...not sure if I'm going to like it. [/font]
[font=Verdana]That aside, before uni[/font][font=Verdana] classes commence, I want to create some kind of small game, not sure what yet but something. This should be a really good challenge for me as it would allow me to get my swag back. Life of course will still consist of full time work, real life drama, marriage, etc...so getting back into the swing prior to school should serve me well.[/font]
[font=Verdana]So here we go, the birth of "Project 60" . [/font]
[font=Verdana]Hmmm...how ironic , 60 days until classes, 60 seconds in a minute, 60 minutes in a hour. It appears my project already has a theme, time. [/font]
[font=Verdana]First goal is to have an idea and timeline fleshed out by end of weekend. Should be interesting...[/font]