Flash Game Toolkit

The working journal for the Flash Game Toolkit. Read all about the progress and challenges I encounter in the Open Source Project. The key bits of knowledge I am hoping to gain is how to run an Extreme Programming Project and a large scale project in ActionScript. MacroMedia Flash ActionScript is a great language to prototype games in. The Flash Game Toolkit intends to build the components a board/dice/card game designer would need to put together a game.

Wednesday, February 21

API design

http://neuroning.com/articles/2006/11/19/on-api-design-guidelines

Monday, September 26

Studio 8

My copy of Studio 8 still hasn't arrived from Amazon. I've downloaded the 30 free trial from Macromedia but haven't actually done anything with it yet. I have a couple of days off in October so perhaps I'll get a chance then.

I'm looking forward to learning ActionScript 2.0. The thing I'm most grateful about is the "class" concept instead of the old method that I never really quite understood. My C/C++/Java background shows through.

I'm also looking forward to going back to the Flash 4 (very primative) ActionScript to work on a couple of cellphone ideas. I don't expect them to ever get onto a real phone but sometimes concepts are all the matter. Don't count on the game toolkit working for it though.


I got a comment. /cheers. The question was how to learn Flash programming.

1) To start, find a book at your ability level. Long ago, I told Rich I should write a book called "Programming for Artists." A couple of books already exist. I haven't looked at them though to see if they are any good.

2) Find someplace with lots of examples. Eventually this will be a good place for that. Not yet.

3) Write lots of code.

Friday, August 26

Alive Again

It took two years. But I have interest in this project again. Likely the first thing I do with Flash 8.

Thursday, July 3

Thoth Engine

Thoth Engine There may already be an engine similar to what I am working on. More ambitious. And working. And tons of games available for it. And... But not for Flash.

It is going to set the bar higher -- be able to read in a configuration file for each game, multiplayer support, and lots of things I didn't consider. Of course, it makes me wonder if my project is worth pursuing. Yes. It also means that my engine may have a lot of games available for it.

Wednesday, July 2

FlashDoc is missing and the first card deck

The compnay that made a tool for creating help on user create components was bought by Macromedia. And now the tool is missing. Grrrr. I'm hoping to get an answer from Macromedia because the tool would have made the manual steps painless. And I'm not ready for a bunch of tedious steps. However, the tool required the action script to be "properly formatted." Without being able to find the tool, I don't know how to format my code comments to potentially work in the future. Double grrr.

Tonight I worked on creating the FlagCardControl (and actually the FlagPlayingCardControl). I have the prototype working. I still need to work on some concepts like what to do when a card starts dragging (need to move the card to the top layer so it doesn't unhighlight when it rolls over a button) and figure out how to get the valid drop zones to lightup. Probably the card should tell its deck (owner) and the deck should be able to tell on game/player which might be able to figure out all the valid destination decks. Not enough pieces done yet to get that working. So for now, the card snaps back to its original location. And, I need to finish making the card faces, as I only have the ace,two,and three of diamonds. Enough for a prototype, not enough to change the status to 100%.

Lots of cleanup and real code to write before the FlagCardControl is done. But I hope to have it and the FlagDeckControl finished by the end of the 3 day weekend. The deck control will likely have a lot more options but is essentially figuring out the best way to show a stack of cards (and hopefully adding dragged cards to the deck.)

Sunday, June 29

Custom Component Help

Sometimes the most obvious things will occur: like writing help text for the classes would be very useful. And so I found this link that explains everything. Create Flash MX Custom Component Help

I'll probably want to modify the editors help too. But that is lower priority.

Saturday, June 28

Cards and Deck

Breaking my own rule for writing the test cases first, I sat down and wrote these classes tonight. It is obvious that I will need a control class for each and I added the idea of callbacks.

The jumpstart was caused by my own realization that I played a lot of backgammon and solitaire. I would much prefer to play my own versions and be playtesting games. But in order to write the games, I need the library done. I started on cards.

Some testing ideas: tarot, solitaire, ...

Documentation: FlagCard

Public Methods:
Deck GetOwner()
SetOwner( Deck )
bool IsShowing()
SetShowing( bool )
Flip()
GetValue()
SetValue()
GetType()
SetType()

Event Callbacks:
OnShowingChanged()
OnDeckChanged()
OnValueChanged()
OnTypeChanged()

Documentation: FlagDeck

Public Methods:
Player GetOwner()
SetOwner( Player )
Shuffle()
Card ViewCardAt(index)
bool InsertCardAt( Card, index )
Card RemoveCardAt(index)
Card ViewTopCard() - get first card (not removed)
bool Push(Card) - add card to stack (top)
Card Pop() - remove card from stack (top)
Card ViewBottomCard()
bool Unshift( Card ) - add card to stack (bottom)
Card Shift() - get last card (bottom)
IsEmpty()
GetCount()
IsViewAllowed( location )
IsInsertAllowed( location )
IsRemoveAllowed( location )
SetViewAllowed( location )
SetInsertAllowed( location )
SetRemoveAllowed( location )

Event Callbacks:
OnCardsChanged()
OnOwnerChanged()
OnRulesChanged()

Constants
DECKLOCATION_ALL
DECKLOCATION_TOP
DECKLOCATION_BOTTOM
DECKLOCATION_NONE