2012 in Review

Here is an overview of the things that I’ve done in 2012.

Codexpert Revamped
The main site for the Romanian C++ community has a brand new, modern look (all built with HTML5), making things easier to find. We also now feature a blog in English, which is intended to replace the old article section.
codexpert.ro
codexpert blog

cpplinq library
cpplinq is an open-source template library that provides LINQ-like operators for querying collections (arrays and STL containers) in C++11. The project was initiated by Mårten Rånge, and is available on codeplex. Here is a sample:

cpplinq documentation
cpplinq – LINQ Query Operators for C++ Sequences
cpplinq: An introduction
cpplinq: range generators and conversion operators
cpplinq: set operators

Articles
What’s New in VS11 for Native Development
Authoring Documentation with DocProject and Sandcastle
Loading Assemblies from Anywhere into a New AppDomain
A C++ SHA1 and MD5 Implementation with CryptoAPI
cpplinq – LINQ Query Operators for C++ Sequences – CodeProject Best C++ article of November
10 More Visual Studio Debugging Tips for Native Development – CodeProject Best C++ article of October
10 Even More Visual Studio Debugging Tips for Native Development

Blog
Keyboard input and TAB navigation between WPF controls in a Win32 application
How to Determine What Process Loaded a DLL
T4 Lessons Learned
A tale of two flags: DS_CONTROL and WS_EX_CONTROLPARENT
Sorting a CTreeCtrl
Missing 64-bit compiler and tools
DocProject Tips and Tricks
A Quick Look at Visual Studio 11 Beta

Alchemy
My Alchemy for Windows game has reached 555 elements and is available in 18 languages. It has been downloaded so far for more than 45,000 times, which greatly exceeded my expectations.

, , , , , Hits for this post: 20890 .

During the past months I’ve been asked many times when a new release of Alchemy would come. Though I think the game already features a lot of elements, I have added a few more and here is it, Alchemy 2.2 with 55 more elements, which brings the total to 555.

These are the 55 new elements in version 2.2:

Airplane carrier Google Safari
Alfred Nobel Herman Melville Seahorse
Android Horse Steve Jobs
Angry Birds IE Tank
Apple (company) Internet Telephone
Army iPhone Tree house
Balloon Knight Twitter
Bill Gates Knowledge Wall
Boxer Lev Tolstoi War
Boxing Microsoft Wikipedia
Castle Mobile phone Windmill
Chess Network Window
Chrome Nobel Prize Windows
David Beckham Park Wireless
Dynamite Peace Writer
Facebook Picnic
Fashion Player
Firefox Plough
Food Printer
Food mixer Rice

In this release a lot of elements are related to IT (companies, software, people). Unfortunately, the new elements are not available in the following languages: French, Spanish, German. If you are willing to help translating them drop me a comment with your email (will not be published) and I’ll contact you.

The complete list of elements is available here.

What else is new?

  • Translations were added for Serbian (both Cyrillic and Latin) and Russian (Latin). In addition, some incorrectly translated elements in already existing translations were fixed.
  • A series of performance improvements to make the game faster. The most visible is when combining two elements. This used to take about 2 seconds when the number of discovered elements exceeded several hundreds. This experience has been improved.
  • A splash screen is displayed when the game starts, a process that can take up to 5-10 seconds (depending on the machine and number of discovered elements).

You can check more information and download the latest version here.

, Hits for this post: 28415 .

Many of you have requested an update of the game, with new elements and challenges. After lot of time in coordinating the translations, the latest update is finally ready, with the exception of the German translation which is not available for the new elements (if anyone interested in helping there, please drop a comment). Alchemy 2.1 adds 56 new elements, bringing the total to 500. The game is now also available in Polish and Bulgarian, bringing the total number of languages to 16.

The list of the 56 new elements is:

Airport Dollar Physics
Artist Economics Plastic
Astronaut Economy Pound
Astronomy Euro Product
Bank Europe Safe
Basket Factory School
Basketball Geek School bus
Biology Geology Science
Blackboard Gift Sound mixer
Blowfish Giftbox Sound of Music
Box Hail Speakers
Cargo Helmet Student
Chalk Language Toolbox
Charles Darwin Linguistics Vault
Chemistry Linux Work
Christmas Moby Dick Worker
Company Money
Container Musician
Creditcard Nerd
Deposit box Paleontology

The entire list of elements (500) is available here.

Starting with this version, when you unlock all the available elements a notification is displayed, which looks like this:

In addition to these, some fixes were implemented. The most important is about the Wiki button, which used to always search in the English version of the encyclopedia. Now, it searches articles in the language selected in the game. That means if you use English it will continue to search in en.wikipedia.org, but if you use French for example it will search at fr.wikipedia.org.

I want to thank again to the people that translated the game. Your work is appreciated. If anyone else wants to translate Alchemy to a language not yet available please drop a comment so I can contact you.

Any feedback or suggestion is welcomed.

You can download the latest version of the game from this page.

, , Hits for this post: 38276 .

Version 2.0.3 of Alchemy (released today) is available in 14 languages: Czech, Danish, Dutch, English, French, German, Hebrew, Hungarian, Indonesian, Italian, Portuguese, Romanian, Slovak and Spanish. According to Wikipedia this sums up to 1.1 – 1.4 billion native speakers. Here is a map with the countries where at least one of these languages is a native/official language.

I want to thank again to the volunteers from around the world that translated the game to these languages and made the game available for more than one billion native speakers. Great job, thank you. Here is the list of the translators:

  • Ruud van der Eem (Dutch)
  • Lukas Juda “LKJ” (Czech)
  • Bruno Silva (Portuguese)
  • Zoltán Perge (Hungarian)
  • Fabien Celier “Lord of Dark” (French)
  • Jeppe Uhd (Danish)
  • Martin (German)
  • Leandro Papi (Italian)
  • Erez Segall (Hebrew)
  • Jozef Krsak (Slovak)
  • Pamungkas Atma Saputra (Indonesian)
  • Luis Rolando Rodríguez Daza (Spanish)

If anyone wants to help translate the game to some other language, please drop a comment on my blog so I can contact you.

Download the latest version of the game from here.

, , Hits for this post: 36912 .

Alchemy 2.0

Alchemy 2.0 brings a modified layout, a set of 44 new elements (to a total of 444), hints, and translation to Hebrew.

The most reported bug for Alchemy so far has been the layout mess on small resolution systems, such as netbooks. It wasn’t a bug actually, but a feature. The application required a higher resolution, that how it was designed in the first place. The new version can run on netbooks too, but the minimum resolution is 1024×600. In order to support these small resolutions the layout was slightly modified so that it looks the same whether you use a lower or a higher screen resolution. Here is a screenshot from a netbook with 1024×600.

The following changes were done to the interface:

  • The buttons where put on top of the right panel
  • The trash icon where you could drag elements was removed and replaced with a button that when clicked removes all the elements from the desktop. Removing a single or only some elements is still possible by holding the CTRL key and selecting them with the mouse. Then press the DELETE key.
  • Hints are displayed on top of the window on the left and center panes. They are cycled every 15 seconds.
  • Displaying the total play time is enabled by default; it can be disabled from the Settings page.

A list of 44 new elements have been added to the game. The total is now 444. The list of new elements is:

Ambulance Liverpool
American football Lobster
Arsenal Manchester United
Audi Mercedes
Big Ben Monument
BMW Movie
C3P0 Music
Camel Nissan
Camera Oscar
Chelsea Picture
Colosseum Playcards
Cricket R2D2
Eiffel Tower Renault
Ferrari Rugby
Ford Sound
Formula 1 Sport
Guitar StarWars
Guitar hero Statue
Gymnastics Table tennis
Hockey Taj Mahal
Jellyfish Theater
Liberty Statue Toyota

The list with all the elements is available here.

The new version is also available in Hebrew. The total number of supported languages other than English is now 10. I want to thank again to all the volunteers that helped translating Alchemy to other languages. You can find their names in the Credits window. If anyone wants to help translating Alchemy to another language please drop a comment so I can contact you.

Download the latest version of the game from this page.

, , Hits for this post: 46638 .

Alchemy in German

[Update] Alchemy 1.7.5 is out, with support for Italian.

I have released Alchemy version 1.7.4 with support for German. No other changes were made to the game. Currently, the game is available in the following languages (except for English): Romanian, Dutch, Czech, Portuguese, Hungarian, French, Danish, German.

I want to thank all those that volunteered to translate the game. They are:

  • Ruud van der Eem for Dutch
  • Lukas Juda (LKJ) for Czech
  • Bruno Silva for Portuguese
  • Zoltán Perge for Hungarian
  • Fabien Celier (Lord of Dark) for French
  • Jeppe Uhd for Danish
  • Martin for German
  • Leandro Papi for Italian

If you want to translate the game to another language, not yet supported, please drop a comment using a valid email address so I can contact you back.

You can download the latest version of the game from here.

, , Hits for this post: 31807 .

Alchemy 1.7 brings a set of 20 new elements (tot a total of 400), allows you to display a timer with the total elapsed play time and is available in French.

The 20 new elements are:

Alcoholic Mirror
Ashtray Peat
Ball Rubber
Caramel Samurai
Clock ScotchWhiskey
Firefighter Scotland
Firefly Sugar
Football SugarCane
Juice SwissArmyKnife
LightningRod Tropics

The complete list of elements is available here.

Starting with version 1.7 you can display the total elapsed time since the beginning of the game. This can be enabled from the Settings page (in the More window) by checking the Display Timer option. However, if you already played Alchemy, the timer will only show the time you spent starting with version 1.7. The timer is reset only when you reset the game progress and start from scratch.

In addition the game is now available in French. If you want to help translating Alchemy to your language, please drop a comment so I can contact you.

Download the latest game version from here.

, , , Hits for this post: 48194 .

Alchemy 1.6 Update

Starting with version 1.6 Alchemy is available in Hungarian. This update brings a new way of deleting elements: you can select elements from the desktop with the mouse while holding the CTRL key pressed and then removed them from the desktop by pressing the Delete key. When they are selected for deletion they are marked with a red border, to distinguish from the white border used to show the selected element when Tab to combine option is enabled. The following image shows three elements ready to be deleted.

In addition, several updates were made to the Czech translation. Also, some elements that were incorrectly marked as non-terminals were added to the terminals list (this fixed was announced for version 1.5 but was done only in version 1.6).

If you want to help translating Alchemy to your language please drop a comment so I can contact you.

You can download the latest version from here.

, , Hits for this post: 33058 .

Alchemy 1.5 brings a set of new elements (focused on countries), a reorganization of parts of the user interface, translation to new languages and some new features requested by the users.

New elements
30 new elements have been added in version 1.5. Most of them are countries.

The list of new elements is:

Antarctica Germany Norway
Australia Iceland Romania
Brazil India Russia
Canada Italy Saudi Arabia
China Japan Sauna
Czech Republic Kangaroo Somalia
Dracula Karel Čapek South Africa
Egypt Mexico Switzerland
Finland Napoleon UK
France Netherlands USA

You can find the entire list of elements for the latest version here.

Changes to the User Interface
You can find the description of UI for the latest version here. On short:

  • Wiki button is back
  • Cheats button was removed and the Cheats window was moved to another place
  • Language button was replaced with button More; this opens a new window that allows you to:
    • saved and load your progress to a specific file, other than the default one; also reset your current progress
    • select the language
    • select various user specific settings
    • see the list of all available elements
    • see a list of those that helped translating Alchemy to other languages

New Features
The new features are disabled by default, and can be enabled from More > Settings. They are stored in the same file with the progress, so when you load from another file it changes to the settings stored in that file.

Combine only new prevents you from making already unlocked combinations over and over again. With this feature set, each combination can only be made once.

Tap to combine allows you to combine elements without dragging one over the other. You select the first element, and then the second, and if they make a combination, you get the result automatically. When you tap on an element, you can see a selection mark around the icon.

New Languages
Alchemy 1.5 is available in the following new languages:

  • Portuguese: translated by Bruno Silva
  • Czech: translated by Lukas Juda (LKJ)

Thank you all that helped with the translation, and if anyone wants to translate to another language please drop a comment so I can contact you.

The latest version is available for download here.

UPDATE: due to some problems with the Dutch and Czech translations I had to release a quick fix. Latest update is 1.5.2.

, , Hits for this post: 43001 .

I have localized Alchemy to Romanian and Dutch and implemented live preview when dragging elements across the desktop area. Button Wikipedia was replaced with a language button. When you click it a new window pops-up displaying a list of available languages.

The game language changes immediately. However, since the two lists with the elements are sorted alphabetically, when you change the language, the order of the elements in the list changes.

Special thanks to Ruud van der Eem who translated Alchemy for Dutch.

If you want to help translate Alchemy to your language, drop a comment so I can contact you.

Download the latest version from here.

, , , , Hits for this post: 39869 .