Last July & August, I was working part time as a technical reviewer for Packt Pub. The book was published on mid of October & PacktPub sent 1 hard copy to me.
Finally on last Friday, the book was here!
Oh, man! I haven’t read any (technical) book on real paper for a while. I didn’t miss at all the big & thick paper books 😀
I was wrong.
It consumed more time than I thought. Originally, my plan was to spend max 2 hours on a chapter (not 2 hours straight but spread over 4-5 days) but in reality, I had to spend a little bit more than that, depending on the topic & number of pages. Fortunately, the guys from PacktPub are pretty cooperative & I could negotiate the deadlines.
They send me 1 chapter every week via e-mail. By the end of August, I managed to reviewed all 12 chapters. In the end, I got 1 free e-book (I picked a book about AngularJS), 1 hard-copy of the book that I reviewed, and learn a lot of things that I didn’t know before about Three.js.
Was it worth the effort? Yes. In fact, I got another offer from them to write a book about CreateJS (which I had to turn down since I’m starting my new startup). Will I do it again? Probably not at the moment 🙂
Last week, I did a presentation at HTML5 Meetup Berlin.
I love to come to tech, development, or start-up Meetups (there’s a lot of them in Berlin!) to see what other people’s doing, get inspired, and also to meet new people. But to give a talk is totally different experience and I found it quite fun to do 🙂
A month before that, Rachel, friend of mine and also one of the HTML5 Meetup organizers, asked me if I wanted to give a talk at the next event. I haven’t done any presentation for a long time but I just said yes. I suggested 2 game development topics: Ash Framework, or starting game development using CreateJS. In the end, we agreed with the 2nd one with additional live coding to make it more interesting.
Fast forward to the event, I finally did it!
Last July, I did my first Berlin Mini Jam. It’s a monthly event, usually on the 1st or 2nd Saturday of the month, where people from many backgrounds meet up at co.up and make games in just 8 hours.
I’ve been following their Facebook page since September 2012 but I never had the chance to do the game jam. So last month, while taking my vacation before starting my new job, I decided to join the July Mini Game Jam.
The event started at 12PM and I came 30 minutes late. There were like 30 people there and they has voted for the themes which were Pixel Art, Retro Style, and Light & Darkness. I teamed up with Lothar Narnis and Adam Streck, both whom I just met on the game jam.
We sat on the same table, introduce ourselves (which skills and programming languages) and quickly brainstorm the idea. About 1 hour later, we came up with a simple game idea:
- There’s a game character in a totally dark room.
- There are a few of light sources (some kind of spot lights) which can be turn on and off.
- The game character can only move within the lighted area.
- The game character can rotate the spotlight until you can see the next spotlight so the character can walk towards it.
- Explore the room until you see the exit door. Walk to the exit door and you win the level
Me on the end of the table with Lothar on the left and Adam on the right side. Making game is a serious business 😀
The development ended at 9PM and we managed to finish the game 🙂
Play the game here
For the 2D renderer, I use HTML5 Canvas and CreateJS. For the 3D/WebGL, I use Three.js. I’m planning to add more renderers for the next version, maybe PIXI.js or native DOM renderer.
I tried to learn more about this and found a very good article by Richard Lord. He wrote a good explanation on what entity-component framework is and why it ‘s better for game development. He also developed Ash framework for ActionScript 3. It includes a simple Asteroid game, but once I’ve read the source code, I was immediately sold to this framework.
So I made an experiment, extending the Asteroid game so it can support Native Flash, Starling, and Away3D. All renderers in one game!
Checkout the demo at http://abiyasa.com/lab/away3d/ashteroids/
Flash Native mode
Using Ash framework, it is easy to switch between renderers. The game logic and other components stay the same; the only difference is which renderer system is being used. Check out the GitHub page for more info about this 😉
It’s funny how I started with HTML5 game development but end up with a better ActionScript framework 🙂
Bonus: Some other articles on Entity-component framework: