The Game Project
Tuesday, July 20, 2010 9:29:50 AM
Hello again!
Here I am, back for some more in-haxe game development and I don't know if you noticed already in these 24 words but I am very excited with it! Let me explain why.
Some background
Few weeks ago we had some UML 2.0 training in the company that I am currently working. We covered a good part the UML 2.0 specification like System analysis( Use-case modeling, class modeling, interaction modeling, behavior modeling with activity diagram) and Software design (packaging and components). These were not new for me but I must say that now it seems a long time since I studied them on college and how easy it is to forget how to use this expressive visual language.
Anyway, in this training we practiced a lot with a Solitaire Game- our great Windows companion when Internet is down - and that really motivated me! And I also wanted to take it to another level: portable, multi-platform, mobile and web! All this writing only once! Of course, Haxe poped up in my head!
The game project
So let's get started! BUT, this time before starting head-first into code let's define some ideas and concepts of this project so I ... WE can be synchronized. I know, I know. Hold your horses, we'll get there shortly. This is also fun, I promise.
If I had to summarize the game project in one phrase it would me like this: an open source card game engine framework developed using Haxe.
Does it sounds good? Yeah... I think so too. Good enough for now. Let's get into the details.
Open Source
Yes sir! This will be OSS! I must confess that this is my first attempt on starting an OSS project. There is a lot of conceptual and practical stuff that I have no idea! What does it take to make a good small OSS project? Do you know? Please help me because I really need it!
From the top of my head, these are my initial questions:
Card Game
We all know some card games and they share lots of things in common. They are fun to play either alone or with other people. It's not a very abstract concept because, duh, you can physically play card games in the real world. Initially is not complicated, we can achieve the core goals with a few hours of coding. It will get complicated I can also assure that but it's up to us.
Game Engine
Uh oh! The evil GE again (at least for me the Game Engine is an evil thing). The game engine is the technical core of every electronic game. It's responsible for (again from the top of my head):
Do you see why I call it evil?! It's much more than that actually
but I want to keep this quite simple (I wonder if it's even possible...). Anyway, LET'S DO IT!
Framework
Why not!? How cool it would be to provide a framework for developing card games! This framework would contain the Game Engine and Card Games common things ... like cards and piles. So game enthusiasts can easily implement a card game using the framework. My personal choice, and the one we'll be implementing, will be the classic Patience (a.k.a. Solitaire) that tanks to Windows is world wide known. We'll implement it using the framework. Later we can implement other card games like Spider Solitaire, Free Cell and what the hell, why not create our own original card game?!
Developed using Haxe
I think this is a reasonable choice since Haxe is a multiplatform language. Just picture it: code once, deploy anywhere! Beautiful. But that's just a dream, reality is a different thing. What I really want to achieve, and I think Haxe is perfect for it, is to build a platform independent card game engine. The only platform dependent parts would be the Rendering and maybe the Input. For instance, we'll be mainly using Flash for these two because "Flash is good" and I know a bit about it already so it's easier. Later we can implement and plug in something more complex using SDL and OpenGL!
That's it for now my friends! I won't lie, this is like a dream to me. I feel very motivated when I talk about it and I really want to make it work. But I also know my limitations and circumstances so doing it alone will be quite hard.
I leave here my invitation to all of you Haxe and game developer enthusiasts to JOIN ME or just support me with this project. It will be fun!
Tot ziens! Abraços!
Here I am, back for some more in-haxe game development and I don't know if you noticed already in these 24 words but I am very excited with it! Let me explain why.
Some background
Few weeks ago we had some UML 2.0 training in the company that I am currently working. We covered a good part the UML 2.0 specification like System analysis( Use-case modeling, class modeling, interaction modeling, behavior modeling with activity diagram) and Software design (packaging and components). These were not new for me but I must say that now it seems a long time since I studied them on college and how easy it is to forget how to use this expressive visual language.
Anyway, in this training we practiced a lot with a Solitaire Game- our great Windows companion when Internet is down - and that really motivated me! And I also wanted to take it to another level: portable, multi-platform, mobile and web! All this writing only once! Of course, Haxe poped up in my head!
The game project
So let's get started! BUT, this time before starting head-first into code let's define some ideas and concepts of this project so I ... WE can be synchronized. I know, I know. Hold your horses, we'll get there shortly. This is also fun, I promise.
If I had to summarize the game project in one phrase it would me like this: an open source card game engine framework developed using Haxe.
Does it sounds good? Yeah... I think so too. Good enough for now. Let's get into the details.
Open Source
Yes sir! This will be OSS! I must confess that this is my first attempt on starting an OSS project. There is a lot of conceptual and practical stuff that I have no idea! What does it take to make a good small OSS project? Do you know? Please help me because I really need it!
From the top of my head, these are my initial questions:
- Where to host the project? Google Code? Github? Another option?
- Which license to use? GPL? Apache? Creative Commons? Another?
Card Game
We all know some card games and they share lots of things in common. They are fun to play either alone or with other people. It's not a very abstract concept because, duh, you can physically play card games in the real world. Initially is not complicated, we can achieve the core goals with a few hours of coding. It will get complicated I can also assure that but it's up to us.
Game Engine
Uh oh! The evil GE again (at least for me the Game Engine is an evil thing). The game engine is the technical core of every electronic game. It's responsible for (again from the top of my head):- Rendering. Most of the time it's doing it so you better do it well!
- Game state. Is the game started? Game over? Paused?
- Game configuration. General preferences like resolution, save dir. etc
- Game resources. Loading images, sounds, saved games and all kinds of assets
- Input and events. Keyboard, touch screen, network...
Do you see why I call it evil?! It's much more than that actually
but I want to keep this quite simple (I wonder if it's even possible...). Anyway, LET'S DO IT!Framework
Why not!? How cool it would be to provide a framework for developing card games! This framework would contain the Game Engine and Card Games common things ... like cards and piles. So game enthusiasts can easily implement a card game using the framework. My personal choice, and the one we'll be implementing, will be the classic Patience (a.k.a. Solitaire) that tanks to Windows is world wide known. We'll implement it using the framework. Later we can implement other card games like Spider Solitaire, Free Cell and what the hell, why not create our own original card game?!
Developed using Haxe
I think this is a reasonable choice since Haxe is a multiplatform language. Just picture it: code once, deploy anywhere! Beautiful. But that's just a dream, reality is a different thing. What I really want to achieve, and I think Haxe is perfect for it, is to build a platform independent card game engine. The only platform dependent parts would be the Rendering and maybe the Input. For instance, we'll be mainly using Flash for these two because "Flash is good" and I know a bit about it already so it's easier. Later we can implement and plug in something more complex using SDL and OpenGL!
That's it for now my friends! I won't lie, this is like a dream to me. I feel very motivated when I talk about it and I really want to make it work. But I also know my limitations and circumstances so doing it alone will be quite hard.
I leave here my invitation to all of you Haxe and game developer enthusiasts to JOIN ME or just support me with this project. It will be fun!
Tot ziens! Abraços!

Anonymous # Tuesday, July 20, 2010 4:58:47 PM
William R. J. Ribeirobillbsb # Wednesday, July 21, 2010 12:14:18 PM