Friday, January 31, 2014

Why not add another dimension?

    I must confess that for the last two days I have been playing with an excellent 3D design program, Blender.  It is open source and very powerful, but complex to an aspiring 3D artist.  Aspiring, may be a bit too strong a word.  I am just jealous of some of the game images that I see in other games.  Most of the interesting strategy/tower defense/war games have nice 3D looking pieces and elements.  If you have the right 'models' with various screen-shots of movement, you can make a pretty sophisticated 3D looking game using 2D game methods.  Using Sprite Kit over the past few days has increased my desire for some good images to go with the gravity and particle effects.     During one of my weak moments I wondered if any good 3D programs were out there that I could tinker with to create some images.  My current drawing program, Art Text, is good for simple buttons, text art, and signs and symbol creation.  I love the program, but for 3D modeling I needed a whole other animal.  Blender is that beast and I have loving playing with it.
    I have tinkered with 3D drawing in the past.  Most notably, a few years ago I picked up Hash Animation:Master and built some fun 3D models and walked them through doors and such.   I learned a lot about 3D modeling from working with that program.  Where the camera, light sources, and mesh shapes are in 3D space, etc...   It has been a few years now since I played with 3D modeling, but occasionally you wonder how the industry is progressing.  Once a programmer dips his toe in the water of a technology, it is hard to keep him out of the pool.  And who doesn't want to model objects in 3D?  They are the coolest things you can show off, especially when you spin around the model or make it move around.  Throw in 3D printers and you can see why my interest in this technology just will not die.  It is the future in a lot of ways.
    For now it is a diversion from the game I am putting together.  I am trying to get the next game done by the end of February.  That does not leave a lot of time for fancy graphics, so I will be using the computer to draw most simple elements.  It is just not the right time to build a game with a 3D model look, but some day...  Until that day, I will occasionally steal some time from work to play with Blender and build cool little models of flying scooters or space ships or whatever the heck that thing is turning into...

Monday, January 27, 2014

Rebecca: Revenge of the nerds

Over the past few weeks, Ben has been learning how to throw objects in iOS (I think that is the program language for his app development).  My understanding is the development environment has some basic physics, like gravity, already incorporated.   Ben, however, has spent the last few weeks muttering about vectors, angles, velocity, mass, and a lot of physics terms that make my tummy cramp.  Physics was NOT my favorite subject in college.  As Ben learns how to use physics to successfully throw objects, bounce dots, and manipulate velocity, he excitedly shows me.  To me, honestly, it looks like the old hand-held football game...the one with the red dashes.

In the last 2-3 days, he has been working on moving objects from point A to point B.  That requires Trigonometry.  Today, he was muttering about the tangent and the hypotenuse.  I reflexively yelled "SOHCAHTOA, some old horse caught another horse taking oats away."  I showed my brilliance by giving the formulas for sin, cos, and tan.  Thank you Mrs. Agnew.  Be proud...I remembered something from high school trig.  Looking back, I am certain that I sat in Trig wondering if I would ever use these very hard math formulas.  Who knew?  You do need them.  All those years of math agony make practical sense now.  It was fun to watch Ben move a "person" around the screen.

So finally, nerdom has some benefits, AND today's tweens think nerds are cool.  My tween child thinks cool nerds include peers that love Rick Riordan books, kids that watch Hobbit movies, even adults that follow Star Wars or Star Trek, and definitely, adults that have made mega riches on some really cool computer game.  Not adults that remember SOHCAHTOA from high school math.

It's Alive!!!

    Well the prototype app is now throwing disks all around a screen and hitting targets with a nice splashy effect.  Even better, the physics models are working great at the moment.    See what a week of studying past physics lessons and experimenting will accomplish for you?  Sometimes you have to just bite the bullet and soldier through the effort to build something that matches your idea.   Essentially, the same look and feel of this game could be simulated using simple pointA to pointB movements with some algorithms to handle collision.  This I have used in the past, and it is not that difficult to get the system up and running.  Letter Rain is a good example of this type of code.  The problem is introducing a new object to the 'world'.  If the design is right, the new object will be adjusted to pretty easily with minor updates to the system.  On the other hand, what is more simple than to add another barrier, rock, or missile with it's own physic properties?  Then the things bounce around as you designed it and you don't have to worry about those custom algorithms.  This is what I did most of last week.  I introduced new game objects to the physics world and really like how the whole thing behaves.   Very nice.
   This brings me to this week.  I have designed the transition screens for each level to show a simple instruction and graphic to complete that level.  I like it so far, but do need to create more images for the future levels/instructions.  My graphic skills are pretty limited, but so far the pictures are looking pretty good.  If I need to up the ante on the illustrations, I can always find someone more talented in the future.   For now, it is best to put the framework in place with 'placeholder' images that can be swapped out later.  So I have a few illustrations more to do this week for the future levels.
   I decided to make this a level type game.  You know, do this simple task, get a pellet, and move on to a more complicated level.   (Good job!  Now hit two targets!)  Story of my life.  I love pellets!  
Now I have to design each level and try to ramp up the complexity to make the game more challenging.  My only problem is that I am not 100% sure what the game action will be in the end.  This will take some more trial testing on the family/friends, but for now I can work on creating level designs and the background structures to hold the level information.  Once the levels can be poured into some simple data structures, I can adjust and create more levels more easily.  At least, that is the plan.  One step at a time. 
    Where is that pellet?

Monday, January 20, 2014

Rebecca: Sleeping in

With the MLK holiday, I had a three day weekend.  I love that my corporate job has declared Martin Luther King Day and President's Day as holidays.  With the extra day, I got some extra sleep.  

As our kids have gotten older, they sleep-in.  No more waking up mommy and daddy at 6am, even on the weekends.  The late weekend mornings are a recent trend, and I love it.  This morning, I slept until 8am...yes, that is sleeping in.  In the last decade, our mornings have started between 4:30 and 6:00am.  During his corporate years, Ben often went to work at 5:00am.  Juggling kids and the morning routine, I often started the day at 5am.  On weekends, we wanted to sleep late, but the whole family was usually wide awake by 7am (I admit it. I was not wide awake, but I was up - changing a diaper, cooking breakfast, downing a cup of coffee).  

This morning, I looked at the clock at 6:30am.  I decided, "just a few more minutes."  I finally rolled out of bed at 8am.  I wish I could write that I jumped out of bed, ready to tackle the day.  But it was more of a roll out of bed. 

While it was a late start for our family, we did take full advantage of the extra day off.  Ben and I did some much needed exercise, I almost finished the laundry (laundry is never completely done), and the family completed some errands.

The "early bird may get the worm," but some days a little extra sleep goes a long way.  I think we are ready to conquer the world...or at least, start on the taxes, figure out the formula for an object in motion, explain pythagorean theorem to our daughter, and another load of laundry.  

Friday, January 17, 2014

The problem with physics

    I admit that I have a love/hate relationship with physics in general.  It was always one of the most challenging subjects for me in school and software development.  Like math, physics is a subject that you forget if you don't use the equations or logical thinking on a regular basis.  This makes it challenging to just throw together an idea in your head into a program without pulling out the old books again.  On the other hand, I like that given the right equation, you can define an environment.  This is especially cool if you want to create a game that looks realistic to the eye.  If the software environment can continue to handle a games objects in a realistic manner without me having to duplicate nature, is even better.  The need for a decent physics engine really increases when you are building most kinds of games.  Of course, it also helps to understand the underlying physical laws that the engine is duplicating.   This leads me back to the old books and physic tutorial sites on the web.   Ugh.
    Some people I know are fantastic at physics and/or math.  It does seem to be easy for people with good memories, but especially if they are passionate about the subject.  Neither of these characteristics apply to me.  Like math, once I figured out there was a formula that could be looked up and applied to a computer program, I promptly forgot the formula.  Just knowing that it could be found is usually enough for me.  I like to think of this process as just keeping the index file on the book in my head instead of the whole book.  More likely, it is just that I am too lazy to devote a lot of time memorizing all the formulas and principles unless they are currently necessary.  I know, lazy.  But selective laziness is my family motto.  I love programming so it must offset my natural laziness, but I also appreciate the fact that once I develop something, it works without my help after that.
   (We will just ignore the fact that programmers do a lot of fixing existing products)
    Did I mention that I have started work on another game for Zenerdgy?  Its pretty sketchy at this point, but I am pretty sure it will use simple graphics and work on both iPad and iPhone.   I am looking at a few ideas using the new SKSprite Kit from Apple.  It has a physics engine baked in and although it is still missing some features, it seems to do a pretty good job of supplying the tools to build a game.
    Physics.  Ugh.  Well time to look up that vector and radian formulas again.

Tuesday, January 14, 2014

New Year Resolutions

    Well 2013 ended with a whimper and so did my blog writing.  The holiday season was a busy one and I did not give Zenerdgy the time it deserved.   I worked on the apps and even pushed out updates to Letter Rain and Family Bank, but also could have put more time into the design of our future products.  I could find lots of reasons, but I simply feel that the holiday season, especially the last 2 weeks of December, are not working days.   Heck, even the Boeing company pretty much shuts down for the last 2 weeks of the year.  Granted, that was a union contract negotiation point, but I have to imagine that the management was not too upset about those days off either.


    So, we are now in 2014 and we are motivated to keep growing our fledgling company into a bigger presence in the app development world.  Rebecca and I have gone over our company goals and set new ones for the new year.  One of those resolutions was to blog more.  It is funny that when I first floated the blog idea, Rebecca was not really paying attention.  During the 30 day challenge she was already very busy, but took time out to add blog entries.  Now she is blogging on a weekly basis and I think she is enjoying the experience.  She even made a resolution to blog more this year.  I was glad to hear that.  I admit that her entries are my favorite part of this blog.

    I am also going to increase my blogging, but am struggling on what to write about.  I am normally pretty reserved and not real thrilled to put all the current project ideas out on the internet before the product is created.  In my mind, as soon the idea or project name is published it will be snatched up and produced before I can get our product delivered.   In reality, this is pretty silly.  First, you would need a lot of interested people reading your blog with the intent to steal ideas and commit resources to creating those ideas.   Yeah, that is could happen...
    If you ever have sat in a room with some people and tell them you build programs for a living, you will find that everyone has a few ideas that could be the next big thing.  The only thing stopping them from becoming the next Bill Gates, is that they are missing some programming skills and a good artist or two.   The truth is, that there are lots of ideas out there, but turning the idea into an actual working application takes a lot of time and dedication.  The programming and design skills also are useful.  (I am still struggling with the artistic requirements of our company.)
    So my paranoia about losing a product to some competitor is pretty ridiculous, but as the old saying goes, "It doesn't mean that no one is watching me."  Especially when it comes to naming the product or describing the design in detail.  I am lucky to have Rebecca to point out the many things that I bounce off her during the day as blogging subjects.   So that is where I will concentrate my blog entries.  Rebecca will blog about life and I will continue blog about turning ideas into products.

Once again, Rebecca is right.  It has become a disturbing trend....

Sunday, January 12, 2014

Rebecca: Living Frugally, Unexpected Benefits

When we decided to start Zenerdgy, we knew we needed to live on one income.  Although we have always lived as a 2 income household, we had decided Ben would leave his corporate job and salary to work full time on Zenerdgy.

Honestly, there have been unexpected benefits to living frugally.  Before the "belt tightening," I very rarely took my lunch to work.  This means I bought my lunch almost every day.  The major downside of never planning lunch is waiting to eat until one is starving.  Inevitably, this resulted in me eating a lot of fast food. A habit that is terrible for the budget, the waist line, and overall health.  At times, I ate lunch with a colleague - a much more enjoyable, but expensive and still unhealthy option.  With living frugally, I often "brown bag."  Since I have food with me, I rarely wait until I am starving to eat.  If I have meeting, I am able to grab a quick snack before the meeting or during a break.  My packed lunches are also healthier.  I usually pack fresh fruits/vegetables in my lunch, and I try to have a quick healthy snack, like almonds or yogurt, available.  I am definitely eating healthier and feel better, and I am saving about $200/month.  Once or twice/month, I still splurge and eat with a colleague.  This is even more enjoyable.  Since I am eating well most other days, I do not feel guilty having a meal and great conversation with a friend.

The other quick fix for "belt tightening" is controlling the Starbucks habit.  Although I am not native to the Northwest, we have lived in the Seattle area for over 15 years.  I have become a coffee fanatic/addict. Yes, I order drinks like "Grande Mocha, no whip, 1/2 the syrup, non-fat, extra hot."  Yummy and 5 dollars. (In fairness to Starbucks, the Grande Mocha is less than $5.  But once you break a $5 or larger bill, the change gets lost in the strange money black hole full of ones and loose coins.) I was not confident that I would be able to give up my Starbucks.  I love it.  But I had to try.

Breaking the Starbucks habit has not hurt...much.  I have started brewing a pot of coffee (Starbucks) as part of my morning routine.  Now, I usually enjoy a cup or 2 of joe before waking up the kids.  This gives me a few minutes to collect my thoughts and prepare for the day.  Our mornings are still hectic, but I am caffeinated and ready for the chaos.  Beyond saving money, drinking brewed coffee also saves a ton of calories.  Just recently, Ben and I have switched from flavored Coffee-Mate to just half and half.  We appreciate the flavor of the coffee, and we have not missed the extra sweetness.  Going from one Starbucks Mocha/day to 2-3 cups of home brew...$3 saved and 200 calories avoided.

Monday, January 6, 2014

Rebecca: Longer than you think and faster than you think

When Ben began the discussion of starting his own app development company, he confidently stated that he thought he could have an app published in 3 months and that he could turn a profit in a year.  He had researched the market potential of mobile applications, and he was very confident of his programming abilities.  He had some experience in mobile application development (Apple).  He offered me statistics about the number of iPhone and iPad users, the number of downloaded applications per month, and the projected growth of the mobile application market.  It sounded like "money growing on trees."

As a child, my parents often reminded me that "money does not grow on trees."  It is still true.  When you talk to any small business person, they will often say "it will take longer than you think to turn a profit, and you will burn through your savings/reserves faster than you think." This is not advice to prevent one from following his/her dream.  It is advice to prepare yourself.  It is possible to build a profitable business, but it is not easy.

Thousands of entrepreneurial individuals have built amazing businesses, from the founders of Hewlett-Packard to the cousin who sells hand-made leather goods.  When I think of the business owners I know, they worked hard to get the business going and to keep it going.  Many share stories of burning through their initial cash reserves and taking personal loans to finance their dream of building a business.  Some even decided that "working for the man" has its own rewards.

Ben and I accomplished our 2013 goals. Thankfully, we did not have a high revenue goal for 2013.  We are happy with the applications that Ben produced in 2013.  For 2014, we have decided to focus our goals on increasing demand, increasing the number of downloads.  Maybe, we will set a "dream" revenue goal in 2015...because it takes longer than you think and you spend the reserves faster than you think.