2015. március 9., hétfő

DartRocket 0.1.7+1 is out

It's been a while I published my framework, but ironically I published it twice in a  week time.
So let's see what's new in DartRocket and why did I need to publish twice.

DartRocket 0.1.7

  • You can use gravity thanks to the newly gravity class in physics folder and also you can find an example about how to use in the example folder. Not to mention you can also try it out.
  • Now the sound can be stopped, which is pretty handy in case you want to stop it.
  • Added Shapes and Mask from StageXL
  • GameObjectfactory can create basic shapes(Rectangle, Circle)
  • DartRocket now use up to date version of StageXL(0.10.3), which is why the InteractiveBitmap class got simpler.
  • The biggest change is the re-factoring of the library structure. I wrote about this in my last post, but for sort the library got more modular and got more unit tests. The best part is that the user can't feel anything about this, because it did not bring any breaking change.

I have to admit I was a little hasty, when I published 0.1.7, because I didn't test the GameObjectfactory's new methods, which led to the hot fix release.

DartRocket 0.1.7+1
  • Fixing GOF's shape creation. Unfortunately the new shape methods gave back graphics instead shape. oooppss
  • Moving centerPivot into InteractiveBitmap, so every child has it(like button,sprite).
  • Added some docs to MovementSystem
  • Removed multiSprite from GOF, because i never really used it and didn't really like it at all. It was an unnecessary feature.

What does the future holds?
First it holds a lot more unit test and more re-factoring of the code base. 
I also eagerly waiting for the next release of StageXL, because DisplayObjectContainer will be iterable, which will make it extremely easy to use. Future looks bright. :D

Feature wise I'm thinking about making a CSS system for the framework, so it will be easier to make responsive games and putting objects on to the screen, but I'm still in the thinking/planning phase, so let me know if you have any idea about this.

That's it for today folks.

tl;dr Hooray hooray a new version of DartRocket!

2015. február 23., hétfő

Breaking DartRocket up

Maybe some of you noticed I finally started doing updates on the library(in form of git commits). After thinking about a lot about the library and how it structured. I finally decided to break up the big library into smaller sub libraries and I also started adding unit test for it. For now there won't be any new feature added to the library, because I feel that I need to make the unit tests first.

Why the sub libraries?
Whenever I see a big chunk of code I became  nervous, because I like simple and small things. Although I still wasn't sure about the sub libraries, because the big library structure worked, but I find out with a little test(making physics into a sub lib) that my project has high coupling , which was kind of like a punch in the face(Ughh). The final push came from StageXL, because it already used sub libraries. Once again the solution for my problem was to copy-past an idea from StageXL. :D

The night of the unit tests
I never really did any unit testing, because I kind of like to do Cowboy coding, but unfortunately it's not considered a "clean" way of doing software developments, so I started to write unit tests to make the code base cleaner and it's actually working.(Weird :D) At first I  will only do synchronous test, because I still have no idea how to write async tests.

That's all I can say for now.

Before I forget. Let me know if any of you want to jump on the DartRocket train.