X-Fi 2: Dharma
Yep, seems like I’m really fascinated with programming my new MP3-Player, the Creative Zen X-Fi 2. Strange thing is that I don’t have any ideas for a game on this little gadget, apart from classics like Snake and Tetris. So I’m just spending my time with developing my GUI framework further which should come in handy if I really want to start scripting a real game. I really like developing frameworks, creating whole classes and defining APIs, so other people can hook into and use them.
The framework now consists of several different widgets, slowly growing in size: boxes, images, texts, sliders/progress bars, textboxes – and now even a virtual keyboard with several layouts! I just wish I could actually use the framework for something bigger … Nevertheless, you can grab the code from my GitHub Dharma repo.
Apart from the whole X-Fi 2 stuff, I want to actually update my website. It now merely consists of this blog without all the ‘About me’ and ‘Projects’-sections. Problem is that while Chyrp is an awesome little content management system, it does not have a lot of plugins by default, e.g. for a portfolio-page. Seems like I need to create one on my own, but then I need to figure out its API before I can start. Did I mention that I prefer to write my own frameworks instead of using predefined ones?
03:30 PM | 0 Comments | Tags: web design, x-fi 2, luaProgramming the Creative Zen X-Fi 2
A few days ago I bought a new portable media player, the Creative Zen X-Fi 2. I looked for a cheaper alternative than the iPod Touch and came across this one. It features 32 gb of memory, microSD-slot, touchscreen and (woo!) accelerometer. But the best thing is: It can be programmed by using Lua! After I read this, I immediately bought it, because I wanted to apply my Lua knowledge on a far more simple gadget. The WoW API provides an exhaustive GUI framework, but I prefer to write my own frameworks and the Creative Zen only has a few rectangle-, text- and pixel-functions. Really simple stuff.
So I started to create the GUI by providing a core system with classes, called Dharma – I really like Object-oriented Programming. It became more complex and now serves as the base for all my X-Fi 2 applications, handles input events and drawing of widgets.
My recent test, however, goes in another direction: 3D. I already started back in WoW with a simple wireframe 3D engine a few months ago to display coordinates in the world frame, so I just had to copy the code over and adjust it (it’s both Lua after all!). So far, the engine works smooth on the little thing, but I don’t expect solid textures and 3D games, because the CPU is not the fastest.
Anyone got an idea for a good game on a touch-based small device? I don’t know any and it drives me mad that I can’t really use my framework as a basis for something actually useful.
07:08 PM | 0 Comments | Tags: lua, x-fi 2From cargBags to Bagrealis
Over the last few months I was heavily thinking on how to improve cargBags, my inventory addon for WoW. The plan was to rewrite the whole core for version 2.0 to improve its overall performance. But let’s take a quick look into the history of cargBags, before coming to the list of things that did not work out as expected.
cargBags was released with version 0.3 as a simple and lightweight inventory framework inspired by oUF. It should only have the most important features for updating buttons and the rest should be made by layout and plugins. From day one, cargBags was my major addon and basically teached me most of my Lua knowledge. For every major rewrite, I concentrated on the new problems of the previous version and with them in mind, I completely redesigned the core. In Version 0.4 (the first rewrite), this was the Handler-system, which should allow other data sources than the Blizzard API, e.g. viewing the bank from everywhere. Version 1.0 was an even more complete rewrite, featuring the filter-system which gave rise to the first layouts of other people. Now items could be categorized into different bags by different filters instead of only bagID. The new problems with the filtering system and the increase in feature requests gave me the need to work out another rewrite. In detail:
Read More »(((mor
06:15 PM | 0 Comments | Tags: wow interfaceOkay, my new inventory concept (presented in the last entry) starts to take some shape. The whole positioning- and drag&drop-system is implemented and I’m currently experimenting with the container frames. Nevertheless, there is still a lot to do – I can’t even toggle the frame! I have to open it via command! The screenshot is not really a fast and useful storing system, it’s more of eye-candy to demonstrate the current features. You can expect the buttons to be a lot more chaotic positioned in their daily use, I don’t suspect people to form circles with every new item they get … but who knows.
09:10 PM | 0 Comments | Tags: wow interfaceI thought about a new inventory frame in World of Warcraft. My dream always was to create fluid item icons which can be dragged and scale as one likes, because it seems to be the best solution for a minimalistic, yet elegant design. You could basically group icons into categories and select multiple ones to do the same action on all of them (e.g. mailing or selling). Icons which are placed on top of each other would slide away in all directions if you mouse-over them to provide access to single ones.
The reason for this is simple: I’m not really satisfied with the normal design principles of the different inventory addons (even my own cargBags!). You either have a large all-in-one frame which holds lots of icons in fixed rows, so that it is hard to find a single item – or you have lots of frames categorizing the items into Consumables, Weapons, Quest items … but you would need tons of different categories to find an item fast. My concept could combine the best of both worlds: You group the items by yourself, so you can remember where they are! The scalability makes it also possible to prioritize items: You can make important ones bigger and less important ones smaller.
10:51 PM | 0 Comments | Tags: wow interface