Thursday, March 29, 2012

Change log for Pirates Treasure 3/19 to 3/29

EDIT**** UPDATE **** I just finished my work for tonight and I was able to get the CHECK_FOR_MOVES_** code finished. It tested out successfully! I've been working on this code for a couple of weeks ; this is a major break through for me!

Here's the change's since 3/19/2012

While I am working plenty on the check moves routines -- I should note I have been house hunting so while I work on it *every* day .. some days I have had as little as 15 minutes available to work on it. So its not as much moving forward as I might like.


Read more after the break ..

Tuesday, March 27, 2012

Mind boggling over complexity induced over complexity

So yeah remember how I was talking about keeping my code simple? Well it turns out it was overtly complex by probably a factor of 4 or more.

What happened was my very first attempt did not work and I assumed it was due to it being a technically incorrect way of doing it rather than I just did a bad job and it didn't work!

Because of this I ended up trying three different ways until the third way actually worked.

I guess I have to chalk this up to lack of experience because I was sharing my story with a coworker who is also learning programming and when I explained that the first method had not worked he responded with a confused "Why not?! That totally sounds like it should work?

This made me go back and retry it..

And indeed it does work.

So lessons learned:

1: Making something that works is better than something that doesn't work.
2: The simple solution may be the right solution.
3: If something doesn't work it might be "my error" rather than "this idea doesn't work".
4: Bouncing ideas, problems, and issues around with people who understand your topic are is very useful.

I think I skip the last one too often - I'm learning to program "self taught" not "in a void" where there is no help or community to bounce things off of!


- Posted using BlogPress from my iPad

Monday, March 26, 2012

Latest Game Play Video Pirates Treasure

So as you know I've been showing some nice screenshots off lately of Pirates Treasure but finally I thought it was nice enough to go ahead and get another game play video in.  For whatever reason it looks darker on Youtube so be aware it is not this dark when you are playing it on your desktop.

I've made a lot of really nice progress using mainly Adobe Photoshop , but a little bit of Adobe Illustrator (on the main menu) which really looks nice.


I have begun to integrate some sounds into the game but they should be considered temporary at this point.

Enjoy!

Sunday, March 25, 2012

Mind Boggling Conundrum's

So I have not been programming long and I'm sure I get stuck easier than the next guy.

But I find that if I can articulate things .. that is say them out loud in a plain and simple way - then programming it is much easier.

So I've been trying to program in a subroutine/function to determine the following

  • Are there any moves left on the board?
  • If so where is it?
  • Can we give the player a hint about it?

And honestly for two weeks this has been defeating me. I've deferred that process to work on graphics as you can see almost all my updates recently have been due to graphics.

But finally this weekend I drew the line ..

Read more after the break...


Tuesday, March 20, 2012

Change log for last 4 days

I got more done than expected the last few days , I had my 15 year wedding anniversary and we weren't out and did a few things for that although the rainy weather cut quite a bit of our plans out unfortunately. 

Hopefully next weekend there will be better weather and well do a couple of  the left out items!

So my work list for the last few days is as follows:

3/19/2012
+ CHANGE: Improved code to remove possibility of a 3+ match on game start - no matches found on 30 tests
+ BUG BG4.0 : Score is artificially bumping itself up by checking for additional matches and increments the score even when no additional matches are found
+ RESOLVED + BUG BG4.0




More after the break...

Sunday, March 18, 2012

More Updated Graphics

So I've been pretty excited that the graphics for my game have been coming along so well I went ahead and spent additional time upgrading them this past week.

I was also able to knock out my first bug that I had to leave.  Normally when I'm programming if I notice a bug I fix it at that moment; there's no time like when your head is 100% in the code you just wrote to understand what it is doing and fix it.

So anyways here's my graphical update:








More after the break ...


Monday, March 12, 2012

The biggest problem with SWTOR to date.

I have mentioned Star Wars The Old Republic a few times here as it's my 'current, MMO that I'm playing. Today I want to go over what I now see is the games biggest problem to date which is the incredibly painfull group composition of 4 player parties. In this situation at level 50 when trying to run a Flashpoint you need a tank and a healer and two DPS characters. That means 50% of every party has to be tank/healer! If you've played many MMO's you know that those two classes are he hardest ones to find and get into your group! The small party size is an incredibly punishing factor in this situation. In games where they permit party sizes of 5 or 6 the tank and the healer can carry more players through the dungeon/Flashpoint. This means every time a valid healer tank combo is found more players get to play. But no in SWTOR the two hardest to find class roles must compose 50% of the group and it shows. I play a healer and in the last week I logged on twice and could not get a tank to join our group for over an hour until I logged off the game frustrated about wasting an hour of my life doing literally nothing. SWTOR can be fun but waiting to be allowed to play is nothing close to fun.

New graphics for my game!

Sunday was a very productive day.

I was in the shower and figured out in my head how to check if a move was a valid move or not!

When I sat down to code it  - it took me 5 minutes and worked the first time?  That does not happen often let me tell you.

The biggest change Sunday was  a complete graphical over haul using Adobe Photoshop to create these graphics:




Saturday, March 10, 2012

Game Changelog for 3/10/2012

3/10/2012
+ EASTER EGG: Changed "0" Gem to friends face as a joke for when he tests it for me.
+ CHANGE: Changed backdrop to line based instead of grid based - shows off transparency better
+ CHANGE: Resized Gems 15% Smaller improved game field look
+ ADD: Added Transparency to game gems
+ BUG: BG1.0 : the loop that checks for additional matches after a collapse does not work 100% of the time
+ ADD: Debug code to begin troubleshooting BUG BG1.0
+ ADD: Coding to support a score system
- 3 in a row or more to get points
- 10 points per gem matched
- if matches >= 4 2x multiplier
- if matches >= 5 3x multiplier
- if matches >= 6 4x multiplier
- if matches > 7 5x multiplier

Current Screenshot:


I may do a little bit more but the next item on my list could take a couple of days honestly! Trying to figure out how to limit the player to only clicking on 'valid moves' with the second mouse click

Friday, March 9, 2012

Video of my Game Beta!

I downloaded Fraps and recorded a very short game play video to show off  here:

Interesting details:

1: On the black side bar is a 'debug' window I use to tell myself what is going on code wise for any particular phase of the game.

2: When you see 'zeros' moving up what is really happening is those are 'blank spaces' that have just been destroyed. I wanted to be able to visually see the blank spaces so I decided to program in "0" game gems for place holders for now.  When you see the zeros 'moving up' what is really happening is the gems above them falling down but because the 0's are all in a row and white it really draws your eye.

So now its time to start building more features in to it.

On my "to do" short list:

1: Scoreboard
2: Multi-pass destroy (sometimes gems are left over after a collapse that should destroy also)
3: Move limiting (right now you can move ANYWHERE on the screen)

My First Beta

So I started programming in earnest on this project as of 2/1/2012.

Last night I was able to write this in my changelog:

3/8/2012  BETA 1.0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Game entered first beta on this date
- added Timer function to let screen step through destroying and repopulating gems on screen instead of pressing space bar
- Added Graphical Exit Button

It feels really good  to know in 37 days I was able to learn to program and enter beta on my first game.

The sense of accomplishment and euphoria at that point was pretty sweet.

I had to get up and walk away from my desk to stop from trying to program more instead of just enjoy the moment!

I actually ended up doing some dishes with a smile on my face.

Here's a screenshot (menu and gameplay screen side-by-side):


Monday, March 5, 2012

Coding in graphics for the first time

After the success noted in my post "My Visual Debugging Tool" yesterday I decided to tackle graphics at this point. I now knew how to identify where my mouse was on the screen and determine when I was clicking.

The information of which how to do this was contained in tutorial threads I had been going through previously (noted in my previous posts as well) .

In the interest of sharing part of my learning process - the mouse detection code in Dark Basic Pro worked out to be something like this:

REM ***** SET MOUSE DETECTION *****
     Mx=MouseX(): My=MouseY(): Mc=MouseClick()
     MousePosX$=Str$(Mx)
     MousePosY$=Str$(My)
     Text 300,525, "Mouse X/Y Position"
     Text 300,540, MousePosX$+ " / " +MousePosY$ 

This includes the debug code I spoke about to print the value of the position on the screen so I could determine later when I was programming my button clicking code where exactly on the screen I was clicking.

Using the above code I was able to work out the following:

Sunday, March 4, 2012

My Visual Debugging Tool

As seen in my post titled "Programming : My Motivation Plan" I had a list of things my inexperience in programming had imagined up that I should work from to produce my game.

I'm going to focus on two items from that list today:

  1. A function to determine the player has 'selected' a gem and chosen to move it to a nearby cell.  This would then swap the values of cell A and Cell B but only permit this swap if it aligned a 3 in a row combo or more.
  2. Mouse Clicking / Swapping Code
To me these were interrelated enough that I needed to consider them together. Eventually as I thought about them I realized this was actually probably another subset of goals.

So I came up with another list of things to try and achieve these goals ...

Thursday, March 1, 2012

And diversion rears its ugly head IMMEDIATELY!

This is the internet.

I have no requirement to be honest with you, nor myself really. I can say whatever I want and pretty much unless it sounds as preposterous as "Yeah I flew to the moon last night in my new car!" you have to take me at my word.

But I think being fairly honest with you and myself is really the way to go here.

(I know it says by erebusman - that's my forum name on their website ; but it's still me)

No sooner did I finish my first goal in programming did I allow myself to become distracted and start a new goal...