2014. május 29., csütörtök

Version 0.1.0 is out

I published yesterday a new version, so here is what's new:
  • There is only 1 Sprite Class, which means you don't have to think about what to use.
  • Sprite is not abstract so to make a Sprite you don't have to extend it
  • Making a Sprite is easier because you don't have to give the constructor a bitmapdata, instead you have to give it a context and a resource name
  • There is a new class the Group, which is a simple container for Sprites
  • Group is List, which has some additional functionality
  • Group has 2 function, which doesn't belong to the List class: forEachAlive and anyAlive
  • Space Invader example is reworked to use these new things
  • I updated the documentation, but unfortunately there is bug in docgen, which makes my documentation on dartdocs.org useless(it's an empty page)
This release made the space invader example so much cleaner, so you should look into the example to see the changes and because there is no online documentation at the moment.

2014. május 24., szombat

Challenge accepted

I was surfing on the internet and mopping around, when I visited the ludum dare site an it caught my attention that there will be a Tool Jam next weekend (May 31st-June 1st) and I thought that this will be the best time to make a major release and to promote DartRocket. :D

Here is the Battle Plan:

  • A Sprite class to rule them all, so there will be only one sprite class
  • Drag support for sprite
  • Finalized version of the Group class
  • Better background class
  • Implementing a Sound class
  • Better Text class
  • Making a Keyboard class
  • Make the space invader more simple with these additions
  • Finally complete the space invader example, so it will look like an actual game
It's a little unfair to other competitors, because i have been making this since the ludum dare 29 ended, but it's for the greater good. :D

2014. május 17., szombat

TIL Documentation with docgen

At last i made a documentation for the package and i have to say that it was not a piece of cake. The last three days was all about documentation and i learnt a lot from it.

Experience:

  • You better start learning markdown or be an active redditor
  • The documentation about documentation generation is out of date, which i find ironic
  • docgen is in the dart-sdk, so you don't need the bleeding edge repo
  • docgen is slow. It's like watching a sport event which is full of commercials. argh
  • Documentation is ready -> get it on github
  • docgen produce a lot of files -> if you use github gui client you gonna have a bad day
  • Github doesn't like symlink directories and so will break your documentation
  • After finding this site: http://www.dartdocs.org/ -> I go to a dark corner and start crying
After all, I'm happy because I managed to survive and it seems like we have a brighter future ahead.

The new documentation of DartRocket got on the site.


2014. május 14., szerda

Introduction of DartRocket

 This will be my first blog post that introduces DartRocket to everybody and also this will be my first blog in english and my first blog for a project. I destroy a lot of first with this blog. :D
I try to answer to the most important questions.

What is DartRocket?

 DartRocket is a HTML5 Game framework, which is written entirely in the Dart programming language. DartRocket depends on the awesome StageXL webGL render engine.

What are the goals?

 My primary goal is to make DartRocket an easy to use game framework and and easy to learn game framework. My second goal is to introduce Dart to gamedevs and hope to make it a little more popular.
All in all my goal is to make a game framework like Phaser, but in Dart.

Why did you start making it?

My first reason:  There is a saying in gamedev community: "Make games, not game engines" and I agree with that, but what if there are no game engines? :D (Dart has some game engines, but none of them is "complete")
 Before i even started thinking about making DartRocket, I was using Dart and StageXL to make some simple experimental games and i even participated in Ludum Dare 29 Compo.
 After LD29 i noticed that there are a lot of common code sections in my games, which made me start thinking about making a framework.

My second reason: I got annoyed with Javascript way of making HTML5 games and I'm always seeking cleanly structured code(after watching some Uncle Bob video), which is really hard to make in Javascript's case. Not to mention using a language, which is so out of date that it's not even funny anymore.

My third reason:I think Dart is an incredibly good platform, which was designed for web development and so it's enjoyable to work with. Not to mention the batteries are included.

When did i start making it?

 My first thought about DartRocket was after LD29, but even before that i made state machine for LD29, which eventually became the base of my game framework.
LD29 was a really good starting point for a game framework, because i got a lot of great feedback, which give the boost to start making it.

How will i make it?

 My plan is that i keep making games with DartRocket and if i see a code that i can reuse, then i will build it into the framework.
 My second plan is include features that are required for making HTML5 games with ease.

Is it usable?

 DartRocket is in early stage, so there will be a lot of breaking change when i update the framework, but at the same time there will be examples to show how it works and how the features are working.
DartRocket best feature the state machine is working and there is a working simple game in the examples. You can try it out with a little courage. :D
There is no documentation, but i will work on it.

Where can i find it?

You can find it on pub and on github

Who am I?

 I'm Dart enthusiast, webdev, gamedev and unfortunately a student, who has to study for his final exam.