IGK 2013

Capture2Last weekend(5-7 April) I have been on game development conference IGK in Siedlce. It was 10th anniversary so even that I had to take morning flight, and then another one to be back at work on Monday morning, it was worth it. I can’t say much about presentation that took place during the conference as I came at the end of second day, but I have started with my team (Kamil “ayufan” Trzciński, Konrad “Rodrigo” Rodzik, Jarek “agent_j” Pelczar) in 8h game programming contest “Compo” and it was awesome!

This year, twelve teams joined the competition, producing in 8h all kinds of crazy games. Our game took 2nd place, we made top-down “tank vs tank” with multiplayer up to 4 players, with tanks controlled from a smartphone. The source code can be downloaded from bitbucket: https://bitbucket.org/gosuwachu/igk-2013/src. As always time was short, but we managed to do everything that we planned and even a little bit more. Game was written in C++ and cocos2d-x.

I just want to congratulate to all the teams that started this year, and I hope that we will meet again next year!


Managing your GMail account

GMail is popular email service provided by Google. Whether it is your professional or private email, in both cases, your inbox can get filled with emails about different subjects, with some important more than others. Here I will tell you about few things that I have learnt about managing my inbox, and how to stay productive.

Keep your inbox small

When I first started using GMail, I used to keep all my emails in inbox. I quickly figured, that sometimes when I get an email I should do something about it, like pay my bills. Keeping all the emails in inbox makes your life harder, as you don’t know which of things you have already done, and which not. Solution to this problem is simple: if you have an email that requires some action from you, leave it in inbox until it is finished, after that just archive it. This way you can postpone tasks, and never forget about them. You will also know what have already been done. Continue reading

Git and Mercurial console output customization

Recently with a lot of help from guys from Polidea, we have created few useful output customization for our version control systems(for those who use terminal). So let’s start with mercurial, here is part of the .hgrc file (Mercurial.ini on Windows, however some commands might not work):

# extension for paging mercurial output
[pager]
pager = LESS='FSRX' less
attend = annotate, cat, diff, export, glog, log, qdiff, hist

[extensions]
# extension do display log in graphical way
graphlog =
pager =

# alias for pretty printing mercurial log
[alias]
hist = glog --template "\033[31m{node|short}\033[0m \033[1;34m<{author|person}>\033[0m \033[32m({date|age})\033[0m \n\t\t{desc}\n"

 

We first enable and configure pager extension which basically allows you to scroll through the command output, it works pretty much like hg <your command> | less. Then we enable graphlog extension, that makes hg log to print nicely formated graph of branches, merges, commits, etc. Finally to additionally color log output we do some magic, and define our own hg log with custom template. Final result of running hg hist looks like this:

The same can be done for git. Here is equivalent .gitconfig (thanks to Wojciech Erbetowski for this):

[alias]
	hist = log --pretty=format:'%Cred%h%Creset %C(bold blue)<%an>%Creset%C(yellow)%d%Creset %Cgreen(%cr)%Creset%n%w(80,8,8)%s' --graph

 

Happy coding!

CocoaLumberjack

I had the opportunity to integrate and work with CocoaLumberjack in my latest project. It is very nice logging library, with few useful features that makes it worth using:

  • multiple outputs, you can direct your logs to be printed in the XCode console, system console or whatever other place you want by implementing one basic protocol (that’s actually what we did to have apphance logging in production builds only)
  • ability to define log level: error, warning, info, debug, verbose. It is even possible to define logging level, not only for the entire applications, but also for selected files in your project
  • it is faster than NSLog in most cases
// Add custom logging outputs:
[DDLog addLogger:[DDASLLogger sharedInstance]];
[DDLog addLogger:[DDTTYLogger sharedInstance]];

// Convert from this:
NSLog(@"Broken sprocket detected!");
NSLog(@"User selected file:%@ withSize:%u", filePath, fileSize);

// To this:
DDLogError(@"Broken sprocket detected!");
DDLogVerbose(@"User selected file:%@ withSize:%u", filePath, fileSize);

 

Library definitely worth recommending. Check it’s repository on GitHub for more info: https://github.com/robbiehanson/CocoaLumberjack

Pocket Translator

Pocket Translator is a Windows Phone 7 application that gives you ability to translate back and forth between more than 50 languages, playback audio of the transaltion, and bring the power of the Google Translator to your phone.

The design of the application adjusts to your theme settings, and really makes it your personal translator, suitable for both vacations and business trips.

Features:

  • translates 50 languages, including Japanese and Chinese
  • translations of single words with alternative meanings
  • pronunciation tips
  • common phrases
  • send translations by sms and email
  • off-line history

Summary of the 2010 and plans for the future

Happy New Year 2011! I wish you to be at least as good as the last year :)

Let’s look which of the things I have planned to accomplish in 2010 were done and which weren’t.

Plans for 2010:

  • write an application for Android (I am android os developer, I have understanding of system internals, and of course I have written few applications for Android, including low level system components)
  • enrol in an English course (it was 4 months advanced English course in Profi-lingua)
  • go for vacations to Greece (it was Croatia, not Greece, but it was fun nevertheless :)
  • learn how to work in the team (I have worked as contact person for team of 8 people, managing communication between teams in London and Warsaw)
  • finish my studies (still working on it)
  • switch to English on my website
  • release few open source projects
  • go for the Game Developer’s Conference in Siedlce and win

Short update

More good apps are coming lately for Windows Phone, like (finally) native YouTube client, and WordPress client, from which I am writing this post :)

Lets do short update what happened lately:

  • Great application for Android has been released – it is called MobileTab, and allows you to browse phone’s content on a PC, all you need is a web browser.
  • My Windows Phone translator has been submitted to certification. It features translation between more than 50 languages and has built-in game that helps you with learning. Stay tuned, I will definitely post something when the application will be released.
  • These are my last days in London, I am going back to Poland on 23th December. What can I say… I will miss it, hope to visit in again for few months in the summer, will see.
  • Damian started his blog: http://www.androiddev.pl/

Posted from WordPress for Windows Phone