Wednesday, September 30, 2009

Overload!!!

Trying to focus on game development for the last couple weeks has been difficult.  School started back up for the kidlets, wife back to school, dog needs a bath and theres a hole in my shoe... lol


Its definitely been slow for development, but at least I sorted out a shortcoming in my tileset importer... some tilesets come with borders and some with a spaced edge... so I had to adjust my tileset handling code to allow for those situations... including a transform button to remove the lines and edge


The path stuff took a back-burner but I've basically got an advanced, but unproven, A* pathfinding system done.  That probably means some run-testing and adjustments bit I'm feeling confident about it but its not yet essential.  What is are paths... so I coded a path system:  paths using path nodes and a path traveler class.  Untested as of yet :)


I had another thought about the vectorized character maker idea I had... I don't even think it would take that long to make... hmmm.  Yet another distraction... I should sketch it for later lol


I'm not really sure where I got the time to do what little I did... its been slow with other responsibilities.  Oh well, life goes on, and I'll just keep pecking away at the project.


Cheers

Tuesday, September 22, 2009

Paths and Pathfinding

So next on the chopping block are paths and path finding... what a lot of fun that is :)

I went hunting around for path finding stuff and of course landed on A* since it's still touted as one of the best... however, according to the definitions for A* I won't be using A*.  Why?  Well, I have to account for both RPG style and Platformer style movement and the raw A* algorithm fails miserably with platformers because it doesn't take the movement limitations of the characters into account.  So, I've taken the basic A* algorithm and enhanced it to use the movement limitations of the character itself when locating a path..  So far so good.  I also added in some order specific stuff in the recursive search so that it will attempt to get their by the shortest path first and then start expanding out when that route fails...  in other words, it will first attempt movement in the + x direction when  the destination x is greater... not rocket science but add that to recursive behavior and it can get tricky.   Nuff for now...

Sunday, September 6, 2009

Exciting

Its funny what drives us to attack the next obstacles in our programs.  For me, its usually driven by what I want to see it do; however, when my daughters decided that they both wanted to play test TileMax and started fighting over 'who is next' I decided that adding a split view was the next big requirement... I am making this for them after all.

So, in only an hour or so I managed to add a RenderWindow class that controlled the window focus and allowed two specifically different views of the same map to render... a couple control tweaks (aka adding controls for a second player) and viola!

Now, I just have to speed things up by adding the actors to a display list so I don't have to iterate through them all each time... just those on the actual screen... probably an hour of coding if that... but thats for the next window of coding time I get.   The holiday tomorrow (in Canada) will have me walking around an expensive and uninspiring portable "fair" with the kids.. oh well... its time well spent.

Thursday, September 3, 2009

TileMax

Well, aren't I a happy camper.  I finally have a character that can run and jump around my map.  As a matter of fact, so far I have added about 320 characters jumping on it with no apparent slowdown.  This is good news.  They all reference the gravity and friction of the specific tile they occupy so this should create some fun map building.  I'm still tweaking the movement behavior since there is a couple of anomalies with how I have implemented the collision system.  Rather than going for a pixel perfect collision system I opted for "feelers" that I call appendages.  This allows much faster collision checking and it also allows the character to grow to whatever size I want without compromising speed.  

I've also added animations for the characters that are named.. so for example here is control code for a right keypress...

If KeyDown(KEY_RIGHT)
If player.touching
player.MoveRight()
player.StartAnim("walk right",False,True)
player.CurrentAnim.Play(Abs(player.vx)*.15)
EndIf
EndIf

and here's how you create the anims..

Local e:Actor=Actor.CreateActor(m,tx,ty)
Local an:Anim=e.CreateAnim("walk left",walksprite,240,296,0.01)
an.AddFrames(0,5,0,4)
an.scaleX=-0.15
an.scaleY=0.15
an=player.CreateAnim("walk right",walksprite,240,296,0.01)
an.AddFrames(0,5,0,4)
an.scaleX=0.15
an.scaleY=0.15

Over and out for now...

Wednesday, September 2, 2009

The beginnings

Hi there, welcome to my little corner of the webniverse.

I'm Warren Skaalrud, proud father of three children and a beautiful wife, all young in age while I am not :) I have two girls and one son... yes... I'm done :) I love them all but 3 is perfect!

As you can see by my site name I go by Skully. This name comes from the CB days and has been around for over 50 years. I think I'm Skully6 really, but I dispise putting numbers after my name which is why I often have to go by Skullyman instead.

I'm a network specialist by trade, following a 14 year career as an electronics technician in the Canadian military. I've worked at all layers of the network and am now managing others doing what I used to do.

My hobby and passion is computer games programming and my language of choice is BlitzMax. I'm currently working on a 2D platformer engine so I can make a semi-educational game for my kids. After that I have something a whole lot less innocent planned but one thing at a time...

When I'm not looking after my family, or working, or programming my game, I'm doing handyman chores or helping my father-in-law's business installing floors... you know, carpet, linolium, laminate... How do I manage my time? God I don't really know.. I just take it one day at a time and try to get the balance right. My wife will tell you that I don't always get it right... but she sets me straight when I steer off course :) She's my sanity.

Well, thats my intro for now... I want to see how this shows up on my blog :)