Monday, 20 December 2010

Led Blur slit-scan representation

This is an oldie. I found the image again. The next scanline of every frame of my demo Led Blur is displayed at each line. It's like a brief timeline representation of what's happening in the progression of my demo. I liked this very much so I decided to upload. It's reduced in size in blogspot so I split the very high image (5700 pixels) in three parts. It's still reduced a bit but not so much. Enjoy!

Monday, 29 November 2010

The old times - normality and computing

I remember during 199x when I was confronted by a teacher about the use of a computer as an everyday hobby and a girl in the class asked me how many hours per day do I use it. I didn't really kept a record of use but it wasn't much since we were pupils and I couldn't just sit in front of a computer all day in the strict family environment I have been living. Well, I estimated and said about 3 hours per day (I am preety sure it was quite much less for the reasons I just mentioned) and she shouted "Wow! Isn't that too much?" (Of course it was a first impression from a person who didn't even found necessary the use of a computer at all those days). During that moment I spent part of my time in programming, among playing games or using other software. It was quite a creative time and I still had hours left to do other activities. Still, what I was doing then was considered extreme, think that very few of us had a computer at those times and some hadn't ever used one ever in their lifes. It wasn't common. Being a computer geek was feeling like messing with the electronics of your fridge for hours. They'd say, the function of a fridge is not studying it, but only providing the necessities in life. Who does that?

I see the irony when I am examining modern life. I will start with the image of the internet cafe stores full of people playing WOW or watching their facebook profiles 24hours long (an image that is not present in some other countries I have travelled so far because net cafe are different there than here in Greece, but substitue "net cafe" for "from their homes"). Those people are "worse" than what I did back in the past and yet playing MMORPGs or being active on facebook is considered "in" today. It is amazing how things have changed! Today I spend way more hours in my gaming, programming and other computer activities at home than in the past, yet nobody cares because everybody is doing it in their homes or the net cafe stores and everybody is discussing about it. It could be even considered "out" if you don't have an account on facebook. I hear some stories of people failing to meet their friends on a particular day because they ommited reading the meeting announcement in facebook and so they missed it. Compare these two different times together and wonder how my own activities were extremely abnormal in the past yet now I am overshadowed by more extreme net-cafe MMORPG lurkers or people who want to check their facebook account wherever they are. You don't understand the absurdity of it and neither do I because these things are also "normal" for us today because we got used to them.

I imagine in the future that there will be Virtual Reality machines, more like plugging your brain into electrodes and stuff sending you signals, letting you live (dream) an alternative reality while being in a coma-like state for weeks, battling monsters in another plane of existence and when something important has happened in real reality (your house being bombed or your sister got married lol :), your mother will send you some kind of mail through the system that will come in the virtual world as a fairy bringing you a message from the earthly plane of existence or something so that you reply to your earth people whether they disconnect you or not yet. Describe such a vision of the future to anyone these day, will there be even a single person that will say this could be considered "normal" in the future? Yet it could be! Even this thing! Given some time, it could be like what is facebook and WoW today. And some people in the future would look back and say, how simple were the things back in the times of the old world wide web? How more mature?

Do you understand the analogy? This is how I think about these things. The most extreme things today might be considered normal tomorrow. Also, I don't see this shift as a decline of the youth, socialization, society or whatever. I like to see it as an evolution. If these trends of the new generations are really "bad" then they would hit back like a boomerang and maybe people would wake up and evolve. But the change wouldn't be necessary a backtrack to the older times but an evolution of what we already have. There is no meaning to look back or forward and say that things were better or are getting worse when we are part of this evolution. If the people really thought that WoW or facebook is "abnormal" or "evil" then they would just have to unsubscribe from it. But people want this. If it makes them more sad than happy then they will learn and change some of their habits. Nobody else needs to tell them. I don't believe in these absolutes of "bad" or "good", "normal" or not.

I can't wait the time when those virtual coma brain machines will become a reality. I'd like to observe the reactions from people and how the youth might adapt to such environments as if nothing is wrong. I like to think that even the most extreme could be considered a trend in future times. I'd love to see the controversy. It's gonna be fun! :)

p.s. This post was inspired by another in anisixos blog which criticizes the classic saying "the old times were better", though it's not specifically focused on computers and also is written in greek.

Saturday, 13 November 2010

Orthodox file managers

I remember when I was at elementary school in the computer lessons, we had XTs there (raah lovely for a Computer Hermit like me :) and I was learning to use DOS. Some guy told me "What are you doing? Try cd norton and then type nc". I am surprised now that he knew that thing because he didn't seemed like the person interested in learning what we did in the class. I didn't know what Norton Commander was then. I couldn't even imagine. I am curious about the cultural shock I might had then when I switched from the black DOS background to those two blue panels and never had to type DOS commands again (though I was pretty good at that already).

Well, I found about Norton Commander later and got used to it and loved it. I don't remember when and I don't remember my shock. I probably have missing memories. Much later I installed Windows 95 and so I was using the File Explorer. A friend introduced me to Total Commander (Windows Commander then) and since that time I can't live without it. I learn now that the whole concept of such a file manager is called an Orthodox file manager and there are a lot of managers in the similar style today. I think there is one or more in Amiga and there is certainly one in SymbOS for CPC which is called of course SymCommander :)

Not many people are using Total Commander or something similar. Of course it's hard to get into it when you are used to Windows Explorer. But I was already familiar with Norton Commander in DOS and the way I was using the arrow keys and TAB to navigate and all the other shortcuts, copying, moving, deleting, decompressing stuff in a frenzy, such way it would be not possible to do with windows explorer. I always hated when I had to open two windows explorers and move and resize the windows so that they don't overlap and drag and drop stuff with the mouse, which becomes a more cumbersome action especially if your mousepad sucks and you take a long effort to move stuff around. Ok,. it's not that bad, but when you are used into playing with the keys and copy/move stuff around and organize your directories and stuff so nicely and fast you can never go back.

People are crazed when I install Total Commander in their PC just so I can do my job. Some people hate it. I don't know why. There is even a group in facebook called "I hate Total Commander" but it's not a programm about which everyone talks, it's not a thing that is like a propaganda. It's a programm that very few know. How can they hate a thing that nobody cares about? The boss in my first job was surprised positively that I was using Total Commander and I was the only one there using it. Other people near me hate it, someone was afraid something was wrong with copying file because I wasn't using the explorer but that thing. Doh?

I thought about writting this post after reading a post in doomworld. There, people where asking how big is your Doom folder (with WADs and ports and stuff, mine is 4.5GB :). Someone said something like 20GB but he said his folder was a mess and there were many unorganized stuff that might be there twice or more. Anyway, he even asked for fun if he could pay someone to clean up that enormous mess. And then I thought, how do you organize that thing? Total commander of course. If you see how fast I can navigate around left-right panel, create/delete directories in one side, to copy stuff from the other side, make extremely organized folders/subs to copy stuff there and move stuff from where they don't belong you can understand how helpful is this for organizing messy files on your PC. Of course you can do this with explorer too but I imagine it would be quite more annoying. My other thought is, people who have a mess in their PC (desktop with random scattered files) might be too lazy to take care of this mess in the first place anyways. Total Commander makes me navigate like crazy around and organizing stuff. It comes naturally.

I am a maniac for organizing my folders. Sometimes I don't do it. Sometimes I also have mess in my desktop (but very few). I organized project folders, game folders, demo folder, all with sub-folders categorizing by various criteria (year, group for demos, genre for games, finished/unfinished projects, etc), moving old games/project/demos/etc to those folders in a speed frenzy. Love it!

p.s. I am curious, for someone who might know. Is there a file manager where you can put additional keywords on the folders? So I have my demos organized by groups and not year. Could I put a keyword of the year at each of the demo folders or also other keywords (e.g. this demo has 'plasma', crazy :) and have a file manager that you can see the folders as dir but it could also use the keywords as additional virtual folder structures to move around? Now that would be something for the folder organizing maniac like me :P

p.p.s. Oh, I used the word 'folder'. Shit! I hate it how it's not called directory anymore but got used to it. Nah..

Monday, 8 November 2010

I have a great idea, WE will become rich, YOU will do it!

I hate this attitude. When someone insists on telling me that with such smartness, implying that his idea is such a goldmine that it's most important to abandon anything else I am doing and focus on his awesome idea. Especially when that person has nothing to do with the scope of the work involved. When he sees your own work as an opportunity for money and fame, which he thinks that you don't take.

It would still be ok if that person boasted about his great idea while he started working on a prototype of it, or already having an interest or past experience on the subject. But when people not being interested in the creative process behind programming come and insist on using ME, because they think I spent my time in creating useless computer software (demos) for obsolette platforms instead of grabbing the opportunity to work on their awesome idea, that's where it really gets on my nerves. If you cared at least a bit for the creative process behind my thing..

The other common misconception and overration from their side is the belief that their so great idea is enough for the eternal success, such that they will be instantly famous and rich and they won't need to work ever again in their lives. This is such an exaggeration and not only. What we use to say is that it's not about the idea but the implementation. Everybody's got a great idea for success. But nobody wants to spend several years from his life to learn the necessary skills and then take some more time and planning to bring his idea to life.

And this is still not enough. Do you think that even the greatest idea fullfilled after truly hard working would never have any chance to fail? First of all, it's the proper implementation that matters. You may have the greatest idea, even spent time from your life to do it yourself, yet being poorly implemented. Secondly, what about marketing? Public relationships? Good timing? An unpredictable market? One can think of so many good pieces of software, websites, quality stuff, honest attempts that you would respect the work behind but somehow they didn't catch up. While at the same time a fart simulator on the Iphone makes some guy rich and famous.

Not only isn't your great idea that you want another person to do it for you enough for eternal success, but even if you did it yourself and it was good, you wouldn't be able to tell the outcome. One thing I'd like to add, even if your idea happened to be succesfull, you wouldn't be so rich so that no more work for you for the rest of your life. Whether you would make 1000 euro or 100000 euro, you should still have to invest on that to continue with your next piece of software and move on slowly without big expectations. What makes you think elsewhere? How naive can you be? Or how far does your impudence go? To even imagine the possibility of eternal richness with some idea you think it's great, yet you don't even want to work it out but insist that others should do it for free, is such rudeness if not the ultimate hybris!

And this doesn't end here. Let's see it from my own point of view. Think about motivation. A person cannot just take on your plan and start working on something like a big programming project that needs dedication and great will, just because you think you are persuasive with your glorious idea and promise of glory and riches. Personally, the attitude I described, especially when you despise my programming focus on "useless" stuff and only focusing on the outcome, makes me dislike even thinking about working with (not for) you. I would only work on your own idea if you paid me and that's not even certain. Secondly, even most of my own ideas for stuff I would find great or interesting usually go to the recycle bin because of lack of interest in the long term. If I can't be always motivated and hard working for doing my own beloved stuff, how would I be for your own ideas that I might find irrelevant at the particular time? What makes you think I would spare my time and effort because you had an idea? If you are so obsessed and enthousiastic of your great ideas for riches and fames then it's YOU who should start working on it!

Think about your "me sitting, you working, I rule" clueless attitude. Think about your lack of interest in the domain and sole focus on the outcome. Think about the need for a good implementation, marketing, luck, unpredictability. Think about you should also provide something yourself (if not the work, then the funding). Think about motivation. Remember that you can still fail. Don't be so clueless and arrogant and show understanding to what we are doing here. When we were burning our remaining neural cells focusing on some obscure tech hobby like programming, you were there mocking us for our dedication on "useless" stuff while boosting about how your clever ideas can make you an instant success without any effort.

Hey, I have a great idea for a book but I am not good at writting and I am not interested in it, will you write it for me? Doh :P

p.s. Needless to say that most of those "genious" ideas are just laughable stuff. Cluelessnes win! Also search for "How can I make the ultimate MMORPG/Facebook website and become rich?". You find nowadays a lot of queries of this kind on google :P

Wednesday, 20 October 2010

Recent demos from X

I just always feel like I really want to write a lot about the recent demos from various demoparties. I am not talking only about the Mekka of the C64 but also the latest PC stuff in Main, Buenzli, Function, etc. But since time is not so much, I will focus on my favorite C64 demos at X and forget the rest. I wish there were more frequent updates here about every significant party out there but it's not possible atm. It would be fun though that this blog would turn out into a more frequent review blog of recent demo releases.

The most important demoparties dedicated to the C64 seems to be X and LCP. When there are months since I have last seen an impressive and massive demo on the C64, those are the two places to expect lot's of good stuff of this kind. And when I mean lot's, I mean the first three or four places being masterpieces, followed by several okayish demos. This is what happened to this X 2010 too. It's one of those times that I am motivated to come back to the C64 (I should keep on with this motivation this time).

The first demo I have seen from X was Mekanix from Booze Design and Instinct (they have recently merged together I've heard) and when I found out it was placed only 3rd I was thrilled by the thought of what masterpieces would follow at the 2nd and 1st place. However, after I have seen all the releases I still liked Mekanix more than the rest. But my high expectations didn't killed the good feeling I got from the rest. They are all very memorable demos.

Actually, there is a different distinctive style between the three releases. Mekanix is all about great code but still features some good graphics and transitions (although not as amazing as Edge of Disgrace). 2nd place, We Are New by Fairlight has very original transitions (although at some places it's slow paced), great artwork, good ideas and few parts with good code among the average ones. It's also different than the older Fairlight demos which were more abstract and conveyed a message, more demoish I would say (personally I love both styles). The winner is a comeback by Offence, an old Hungarian C64 and Amiga group mostly known for their 1992 demo Emotional Breakdown. The style is quite surprising because it brings back the old megademo style where you have to press the long key to load the next part, but each part is done with such graphical design and unique or funny ideas that really makes that old kind of style likeable. I could compare it to Dutch Breeze or the demos from Panoramic Designs. It surprised me at first that this one got the 1st place over Mekanix and We Are New but the great feeling and ideas won over the usual trackmo style. I love both three demos and each one has it's own unique style and distinctive way to show what is a demo.

Going back to Mekanix (and I am sorry about the ranting about both three places, I wanted to make this distinction of the different styles here,. oh the screenshot above is not from Mekanix but the 1st place, Another Beginning), each of the parts is a masterpieces of code and good effect ideas. I don't know where to start from. Should I speak about the amazing per pixel rotozoomers (the best I have ever seen on the C64, how do they do it at such resolution and speed? Don't tell me, with many different char sets? Gotta think this again :), the wonderful 3d dots and strange 3d wireframe cube (I said they look like gouraud edges, but it's just planes cutting the cube, ho I even had to do this detail for my master's project for volume slicing and I forgot it's this one ;), classic booze design zooming algorithms (code recycling?), but the amazing isometric rendering of what looks like a 16*16*16 volume of metaballs!

That's the shit for me!!! This looks absolutely fabulous. I wondered how did they do that and I thought it was impossible at such speed. Then I thought it too much and found out some theoritical ways I have to try and see how they look, that would make it pretty fucking possible. But some people said it's an animation and that could bring down all the magic (gotta try my idea first on CPC, well maybe in 2015 :). Still it's an amazing and unique idea, pretty much another paradigm shift of new effects on the 8bits and not only. They even use this engine as a writer for some isometric texts and then for a second effects which is a 3d torus with isometric feeling (both run at 2-3 frames (screen refreshes I mean)), which must be some smaller blobs in a ring, maybe 16 of them, rotating around the center of the torus. That's neat stuff!

For me, this is the effect of the year for the C64. And it's not the only impressive effect in the demo. The 3rd place is a true coder's delight. Some graphics artwork are also good. The music didn't left me a very good feeling though. I mean, it's doing it's work but it didn't stay in my mind. Overall a really hot demo and now with the merge of Booze Design and Instinct I am expecting to see hotter stuff from them.

Going on with the 2nd place from Fairlight, this is a really nice to watch big demo even if you might get bored if you are expecting coder porn in every screen. I really love the transitions and the artwork in this demo. The only cool effect one can enjoy are the 3d renditions of ninja panda and little monster in the change disk part and near the end too. Those are made by fat blocks that rotate around the Y axis and without a projection. They are pretty unique and original as effects. The bouncing sphere on a graphics picture with other drawn spheres is a nice idea too even if too small and not very good looking. But still a good part. Little mention about the great parallax part in the screenshot above, joking of course. Finally, now we can see the true distinction between a UFO and a balloon and that they are completely different. Those skeptics are truly nuts!

I am showing mostly artwork in the screenshots for this demo. Because one has to see the transitions in movement to appreciate so a screenshot wouldn't suffice. And also because I truly love the artwork. The artwork from the end upscroller in the background is so good and is actually a work from Louie500, famous for his Amiga artwork with TBL. In fact, he also worked on the PC demo Only One Wish and some of the thematic parts (the stamps) in this demo reminds me of the PC graphics. I just remember Fairlight also did the demo One Little Wish on the C64 which also featured his graphics. It's great to see people from newschool scenes coming to the true oldschool. (I should mention that the other graphics are Tempest and Pantaloon (who also did code for this demo, great to see musicians/graphics switching to coding too :) and one of them drew a really great panda upon a tree, absolute great graphics, you can see it here along with credits and other stuff). I should also say, coming back to transitions, that it's not "in your face" but more slow placed yet original (some startling animations at the beginning, diagonal stripes closing screens, etc). Maybe I am forgetting stuff.

Fairlight demo would be a demo to lay back and enjoy at your own pace. If you seek for easy to consume coder porn and slick fast paced trackmo style then run Mekanix. If you want style, design, great art still in a trackmo style go Fairlight. If you really feel the need for something more traditional, Another Beginning is your thing. But this is a demo you really need to have time, lay back and stare at scrollers while enjoying lovely tunes for more than your average short demo attention span. This is Another Beginning.

You gotta press the long key. And you gotta watch parts which consists of oldschool scrollers and good ideas. Clearly, the best part for coders is the beginning with the horizontal twister saying Offence (little shadows too, prerendered of course). Then it's the end for code porn consumers :). But the feeling is so unique, the ideas great, Joystick moving swiftly while the stick animates, man which screams out loud letters, split that shows coder brain (on screenshot), beautiful simple part with man in the rain and text that Optimus likes (you know, the sad kind of stuff :), scrolling screen with background that is a delusion (with the dots, think it's distorting, simple but funny as an idea :), 3d isometric scroller that changes height (that's the only other part that code-hungry people will like), C64 logo at nap. Ok, I still prefer 2nd and 3rd from this, but this is unique that a "press space" demo really catched the feeling and won. I love it!

And we end up with the rest which are still interesting coder-wise stuff from the rest and still good enough demos. I will start with the what is in the screenshot, which is Exotic Excitement by Camelot. I was happy to see another comeback from Camelot and Cruzer. They must be working for their true megademo since ages, which might be called "Meet the Camels". A parody of course of that Crest demo everyone is waiting since forever. But it's gonna be great and I am truly waiting for it. Because this single effect on this little demo is supposed to be a leftover from their big demo, but it's still awesome! This is the biggest, smoothest, greatest and more colorful plasma I have ever seen on the C64!!! And you know how I love plasma. I "smelled" color cycling among other things (yet some formations look like real plasma), but it's not only that. You need a FLI algorithm on the C64 to have that kind of colors so close together. This means changing the colors again and again at each different scanline (here it's per two lines) which needs a lot of synchronization and several cycles wasted. This is a great routine. C64 never stops impressing me and so do Camelot!

The remaining good stuff are Frighthof by Arsenic (5th place) and Portal by Lepsi Developments & Miracles. Honorable mention to the 4th place, Cubase64 by Mahoney which is not exactly a demo but a demonstration of impressive realtime digital sound processing on the C64. This is monumental! Even after so many years we see new paradigms of coding not only on graphics but on sound too on such an old machine. If the C64 scene where one thinks everything is being done already, sceners can still show quite new impossible stuff every year that makes the old records look like a child's play, imagine what is possible in underdeveloped scenes like the CPC and not only. Wow! Simple wow..

Let's go back to the two demos. The Arsenic demo is a good coder's demo with slow paced music and gothic style (as usual), while featuring some neat 3d effects. I love the big X-rotating dithered stuff (although we have seen this a lot of times before, but here it's BIG) and the use of black 3d vectors for the bat transition (reminds me of some funny old lame Greek PC demo, guess which :). There are some more stuff into this one and I let you watch it. Portal is also a demo with a lot of nice 3d and other 2d algorithm, pretty newschool chunky stuff, even features a nice 3d city and little more stuff. Some of the graphics are ugly though. This is a pure coder demo with not so good graphical design. Still a good release from these Polish groups. There were more demos at X, even if less significant, and you can see the full results and downloads here.

I gotta close this big review and now I see why I can't write more frequent demoparty reviews in this blog. Takes much more time than I plan too. I am just too enthusiastic and spend time taking new screenshot (which I love to) and writting lot's of text :)

My only hope after X and this review is that this will motivate me personally to come back to C64 coding and plan a new demo with more interesting effects than my Livetro this time. I am looking at an older thread at CSDb where I was asking for crossdev tools. Heh. I remember having downloading some of them but I never found the time between my other projects (CPC, Gamepark or PC) to start coding. Till then, I will be watching demos and writing (not frequently) more reviews here.

p.s. You can find youtube links in some of the Pouet links of these demos in case you don't know how to run an emulator.

Saturday, 25 September 2010

Beautiful Astronomy Pictures

Ok, I just realized that I have a long time since I last posted something in this blog (among my 7 other ones, OMG) and so I decided to throw a filler or something.

We start with this image which is one of those sky aurora phenomenons I very much would like to see from the ground and with my very own eyes oneday. For that reason and the fact that the shape and colour smoothing reminds me of some plasma effects in demos (but not too much, this could be classified more as a luminous ribbon effect :) this is one of my favorites here.

We continue next with an astonishing image that is just pure blackness with some stars and our own little planet together with it's only moon. Definitely not so beautiful as some of the other pictures in the link I will give you soon but perplexing as you see this in this distance and it gets too hard to grasp that this big beautiful world we currently occupy is such a tiny place lost in the vastness of the universe. Similar emotions arise if you think about time, human civilization being such a tiny time fragment compared to the age of the planets of the solar system, our galaxy or the universe itself. It simply scares me staring at this picture. In the very next moment we could be wiped out in a puff by major cosmic events and that would be a natural event without a special meaning.

One more beautiful image to separate this text and give you the links. They are probably no news, you might have already encountered these images somewhere before this blog post (spare me the ORLY's here, I am not planning to be an exclusive source here but just post something that fascinates me even if it's old news), this is Around the Solar System and then someone pointed out a very obvious website called Astronomy Picture of the Day which I am sure I have encountered several times before but I want to put the link here to bookmark it and maybe view some of it's contents in the near future. As a final bonus, check also this interactive Flash called The scale of the universe, from the tiniest size of matter to the size of the universe. It's definitely mind-boggling especially the fact that you have to travel from the tiniest scale so many factors of ten to reach the first known element. Anyway I leave you to explore yourself.

Wednesday, 25 August 2010

H4CK TH3 PL4N3T!!11oneone

The title's only purpose is to drag your attention.

Whose attention? Mostly the attention of those so called hackers, hax0rs, lamers or leets, black/white/yellow/green/turquoise hats who get horny with such leet language and concept.

I decided to announce you here that everything I have written in the past about hacking (hacking as in security breaching) 1) had a radical tone, 2) is still my opinion, 3) yet is something about which I shouldn't be so obsessed.

I might still be laughing with what people think about the definition of hacking today, still be frustrated (or maybe not anymore) with the distortion of ethics, I might still be amused or annoyed by the most popular ideas and misconceptions with this, but it is neither my concern nor my purpose to argue whether one should be involved in this activity or not.

You definitely have your own reasons to want to hack the planet, deface the world, fight the system and feel like computer superheros. You might just seek for knowledge, be curious, creative and whatever image is presented in that so well known hacker's manifest. I might be wrong and the world could be right. Who knows?

You are into this thing for a reason. I made my choices in life for a reason. Hacking might lead you into something at the end and whether you made the "right" or "wrong" choices, you will learn. It's your path afterall not mine.

This is a conscious choice, helped by the philosophy of zen and seeing the light.

p.s. I am not saying that I or anyone else doesn't have the right to say his own opinion or he doesn't have the right to criticize individuals. I am still amused while reading my old articles about hacking, loving the ideas yet finding too much obsession and anger with something that is not my own world. With most things and most individuals in the world I am too open, but I still don't know why I was so hateful with hackers, who in fact did the same thing at a young age as me, following some dream, an illusion about using their computer knowledge to boost that low self-esteem. Both the demoscene and the hacking community is full of egos, fights, dreams, marvels and vanity. Even the nicknames have to be cool or scary sounding. It's just that the geeks from the demoscene resemble more the artistic and creative computer heros while today's image of hacking is that of an angst ridden youth and rebel computer heros.

Thursday, 12 August 2010

Final Project OMG

There is no much time left till the deadline for the handling of this final project. The subject had something to do with volume rendering in OpenCL (although I have also a GLSL version here, from where the screenshots come).

Some days ago I tried to mix my 3d dot box effects I had here in some old posts with my volume rendering engine. At the moment I just upload them in a 3D texture every frame, which runs at 20fps except when my laptop gets hot and drops at 5-10fps (happens very frequently when I run this code), and then with a key I pause the effect update and spin around and near the volume still to adore it's looks.

I have so much to fix (normals for lighting/reflection, more proper alpha blending, implement bilinear in the OpenCL version, port the effects in OpenCL and more) and... oh, I should choose something for my final project and start writting it. So, I may leave the experiments at the moment and try to concentrate on the main thing. Normally I was supposed to have a look at data structures like octrees and such stuff to accelerate the process and I hope I still have time for that. No matter what, I will start writting the report, implement what I can and see from there.

But finally I love those pictures (And still there are some buggy parts). In the past everything was wrong. It's the first day I see some interesting beauty. At least I might do a demo with this if I don't manage to get my degree :P

Tuesday, 13 July 2010

Massive blobs CPC

I had a long time since my last post here. Well, I am coding more stuff than posting a blog about them. Although I do like teasers and previews (I am a demo-consumer) what would be the meaning of posting teasers of every thing I am doing? Not speaking about time. But once in a while I might throw out something.

In my last CPC demo, Chunky Chan I displayed 5 big blobs (2d metaballs) of size 24*24, also in some linear mode of one byte per pixel chunk (so do they call them I think, say a 4*4 dithered pixel block, although scanlines removed because speed still sucks). Anyway,. I wrote the code for this part in a very short period while traveling to Amstrad Expo. So it wasn't optimized, it was straight forward. Read the value from blob bitmap, add it to the background, check for clamping (if it overflows above 255 keep it 255, a jump with carry check) and then write back the result to the background.

I already knew a more optimized version with unroll codes for every pixel of the blob, I just didn't have time then to make it, so I wrote the straightforward code. But now I tried an experiment just out of curiosity, to actually write those unroll codes. So, there is a 7*7 blob now, with unroll codes for all 49 pixels. It gets in HL the starting address it should write the upper left pixel in the chunky buffer and then works along like this:

A regular value from 1 to 254 should be:

LD A,nn ; directly the value in A as number (blob pixel value)
ADD (HL) ; add value A (blob) to the contents of HL (background)
JR NC,P11 ; if not overflow go to P11
LD A,255 ; else clamp to 255
LD (HL),A ; write whatever the result to background
INC L ; move to the next X position

As you see, we don't need to read the blob value from one buffer, increase it's pointer, etc. Since it's unrolled code for every blob pixel, the code can directly have the data inside. Many cycles gained and one more free register (as if we would ever need it here :)

Now, the nicer stuff. Since we write the unrolled code for every pixel of the blob, we know in advance which blob pixels are 0 and which are 255. So we write these:

If the blob value is 0 (usually near the four corners of the blob bitmap):

INC L ; Nothing to write. Move to the next on X.

If the blob value is 255 (close to the center of the blob):

LD (HL),255 ; no comparisons, nothing. If you have 255 anyways
INC L ;and you add it, you will certainly get overflow or 255.

So, imagine a big blob of the size I had in my demo or more. A big amount of the pixels would be 255, some would be 0. The above cases take either 1 or 4 cycles (It's 3 in my code. I write an LD B,255 in the very beginning before rendering each blob and much later in every case, LD (HL),B. Also I replace LD A,255 in the clamping loop with LD A,B to gain 1 cycle. I just didn't put it here in this code to make it easier for you to read). The original version took 10 (with LD A,B) per pixel. It could be averagely 3 to 5 depending on the coverage of the white or black areas in the blob. With the 7*7 blob there aren't many though (just 13 out of 49 pixels).

I did this code to test something that I think it will look very impressive. At the moment I just want to render a lot of blobs (96 in the picture) with this new engine and stare at the pictures. But what about using them to render particles, make a small slow rotating galaxy and other fancy stuff? Move them around. The chunky buffer rendering of 64*36 tiles on the screen now takes 2VBLs (I wish it could be faster), I can render 38 of the 7*7 Blobs in one VBL, I will spend few more to move them around or make them explode. It's not going to be something less than 3VBLs or 4 but I think it will be enough (Divide 50fps / number of VBLs for the frame rate, for those who don't know the CPC terminology :).

And maybe I don't need to render 96 or 200, an explosion with 32 will look cool enough, or a comet moving around with say 50. Of course I want full particles, velocity, acceleration, life fade. I have unroll codes also for smaller blobs (5*5, 3*3 at the moment) which also darken their color, just to fade out the particles as they die. I have done particle animation in 8bits before with few sprites or dots, 8/8 fixed point in 16bit regs, ADD HL,DE/BC, it won't take much cycles to move a small number.

Anyways,. cool! I gotta finish this little experiment of code and I really love to see it working and who knows, put it in a demo coming one day it would hopefully look great on the CPC!

Saturday, 12 June 2010


Such an addictive timewaster. Fortunately, in such games, when I reach higher levels I get frustrated and stop playing. It gets so complicated that I am too lazy to play further :P

The concept is sooo cool and so are the controls (you've got to get used to them) and ideas. You are a ball that can change between three colors. You have to match the colors with the coin colors to collect them or the traps and obstacles of the same color. There are also different abilities for each color, the red can run faster and dash further, the blue can slide and climb on walls, the yellow can double jump. And you have to combine them together as you go through the levels. Then the complex levels start where an area behind you is colored differently and affects your own color so you have 6 colors or more and also some objects that change your primary colors. It's a very effective concept and if you want to be challenged by the advanced levels this is for you!

Saturday, 10 April 2010

Breakpoint 2010 releases

I watched part of the BP competitions from the stream. I wish I could be there this year but I was in Greece for the eastern holidays. The ambiance was great, the feeling rocked, there were music, people dancing :)

I totally loved several of the releases both from PC, Amiga and C64. I might want to write something about few of them. I really don't know where to start from. Maybe I should start from the demo whose music I am just listening right now repeatedly.

No time to grab a new screenshot and this one from Pouet (which is four pics), I don't like much. But I will stay with it. This is Rove by Farbrausch and it got the 2nd place in the PC demo compo.

I am not sure why I like this demo so much. It has the elements that can make you easily to get bored. It is actually a so called flybye, a long one, with the same scenes after a while. The visuals are so beautiful, it's like 'elevated' but in an alien world with totally strange creatures. One thing that makes it so nice is probably the music which I am listening for hours and I am totally in love with it. And so am I with the visuals and those strange worlds. No matter if it's a long boring flybye, I can totally watch this till the end without getting bored. Possibly not the demo you would watch with friends but a favorite one to me.

A demo that you can actually watch with friends and have fun is Wir Sind Einstein by United Force and Digital Dynamite and this came 4th in the same compo. It actually looks a lot like their previous masterpiece, The Golden Path but I like their new one three times more because it has a more consistent and funny theme and is not just going straight through a single path. Maybe it's the lyrics that are making this hilarious and when we watched the words "RESEARCH IS LUST" appearing we had a great laugh. The same fun we had discovering the rest of the lyrics. It's like a funny song about science being cool or something. It also follows the same happy colorful design as in their previous demo. No matter if some people might think it's recycling, I did liked this a lot. But mostly when watching with friends who adore it :)

Those might be my two favorites. Of course there is the winner of this compo, Agenda Circling Forth by Fairlight and CNCD which although I can't enjoy because it's unacceptably slow in my machine but I like the concept. This demo is build only by shitload of dots and some great fluid dynamics effects are applied upon them. In the meantime you can stare an animal or two runners build exclusively by dots on which various physical forces are applied. Personally I am not that fan of this demo even after I watched the video. But thumbs up for the originality. This will definitely get a nomination for best effects.

The 3rd place is a demo I could enjoy better because it definitely runs on my machine and this is one of the few moments I am happy I have Vista here. It is Partycle by Pandacube. In the last Breakpoint Pandacube also came 3rd with their first attempt at making a demo, even though I was surprised for this place. Here they do much better than their last time and there are actually some nice times in this demo. Apart from the Doom3-ish looks (shadows, bump mapping, etc) and the good music, I also liked the final scene with the particle and the 3d girl (probably some model from Poser, oh what a nice way to attract scener votes :).

Another demo that made me happy but only got the 14th place is Ibis by Cubicle. It needs some sort of thing called XNA which I don't know what it is about (some M$ thing) but I am going to download now to watch this again. I love this demo because of the crystal clear visuals (something usual in Cubicle demos) and it's lovely electronic sound.

I will only refer to the remaining PC demos that are maybe worth to watch but don't have so much to say. The 5th place is zkareplace mk 5 by Nuance which most of the time is not very interesting or good looking except from two scenes, a short scene with some water ripple effects in 3D and the surprising greeting part with the talking heads. Vokawordai by Satori (6th place) is a strange noizy software demo which I am not much fan of it but many people seemed to like it and you will do too if you like Satori demos. Lucifer by Brainstorm (7th place) has such a scary atmosphere and some nice visuals at times. Another interpretation for Lucifer is that of a dark planet or comet that produced floods or another destruction on earth tens of thousands of years ago according to some books by people into conspiracy theories or paranormal and maybe such stories have inspired the concept of this demo because there is a scene of such dark firey planetoid before the end. The artway invitation has a great 3D rendering of an Amiga computer both inside and outside (the best I have seen so far). And Byterapers are back with a demo that didn't seem to attract my attention the last time I have seen it on the streamer and now it just doesn't run here.

Concerning the intros on PC, there seems to be a trend. 64k is dying, 4k is growing. The only worth watching 64k I remember is Imagine by TGGC, Copycat and Blueflame. It starts with a grey city full of focal blur and then rainbow and plasma with rainbow colors appear everywhere. I liked it but I expected more from the 64k category. I haven't watched most of the other entries (some didn't simple ran in my PC and I have lost the 64k streaming).

The 4k were much better. My favorite must be Retrospection by Frequency and Trolls in the Shadows (5th place). It's another one of those 4k raytracing intros among with ergon by Frequency (3rd place), Fan_tastic by Rebels and Alcatraz and maybe others I am missing too. From all of them I love retrospection because of the music. And it's almost the only one that manages to run smooth enough here. The 2nd place is taken by Mistrace from TBC which I like because of putting those beautiful shapes (hexagon, pentagon?) in just 1k.

But the real winner of this compo is Darwinism by Archee. In a time when 4k raytracing intros are so common and expected, people seem to expect something different. And that different is Darwinism. When I first saw it, my first thought were that this was inspired by Karl Sims evolutionary creatures. Although I am not sure what is evolving in Archee's demo because not much is changing in the geometry. Maybe just the different ways the creature tries to jump in order to catch the butterfly? While it's a good surprise this 4k won the compo it's not my favorite. In my system it simply crashes. It was fun to watch it on the streamer and see sometimes the creature failing and sometimes succeeding. The concept is great. Good to see someone tried something different than what you expect in 4k. But it's not an intro I would watch many times. Retrospection is still my favorite.

Going back to Amiga concerning intros. There is a single one that I truly loved much more than any PC 4k. It is Ikadalawampu by Loonies which got the 1st place in the Amiga 4k compo of course. I am wondering what it's position would be if it took place in the PC compos. This intro just by using glowing lines and great music synchronization with the visuals it creates such an atmosphere and is so enjoyful to watch that it beats 4ks with better visuals easily. I totally love this! I only want to mention that a similar effect is achieved by the winner of the C64 4k compo, Dramatic Pixels by PwP which by just animating three(!) char blocks perfectly synced to the music and telling a story it manages to entertain so much that it makes you wonder. Three little chars are enough to say a story and keep your attention. Amazing!

Can't say the same about Amiga 64ks. The 64k scene is truly dying, just try to imagine if there was a really good 64k in the scene awards. There were some that I like but not the masterpiece we were used in the past. The 4k scene is ever evolving. It's logical. It's easier to make a small 4k that people might like than a full blown 64k. Less space but you can get away by having crappy sound and much fewer visuals. Size is your excuse. In 64ks you have to make a lot more content to make it worth. Btw, there must be quite more good stuff in the PC 4k that I didn't mention because there were so many entries that I forgot what most are about. Just check it for yourself.

Going back to the Amiga and C64 demo competitions. I am personally very satisfied by the quality of the entries. There are at least three demos I liked in each category.

What can I say about the 1st place of the C64 demo competition? Snapshot by Glance totally kicked my ass with it's originality of effects and great presentation. And when I am totally in awe and I hope this will not end yet, a great pic asking for the 2nd disk appears. And a lot more stuff to see here. What can I say? Should I speak about there being a concept in this demo? (films, cameras, etc) Should I write about several impressive effects (vertical wolfenstein (or so I call it), highres big full frame flat 3d (best of it's kind for sure), TBL tunnel effect and whatever I forget) or original use of effects (pseudo-focal blur with target on words, filming instanbul effect or the great mechanical greetings device build of polygons and sprites) or how about the spirit. The final message almost made me cry:


It's one of those times that I feel that the scene is alive and kicking! Btw the first three places were above average. Also notice that none of them where from the famous elite groups of C64. I will mention the 2nd and 3rd places in short here. Black Spark by Black Sun (Some nice effects and few original too, like the flat shaded objects as vector balls, never seen and in such quality before on C64) and Agiel by Inversion for 3rd place, a demo from a new group and quite nice for start with good design and some effects that are not bad. One killer demo that might go for best oldschool 8bit demo and probably breakthrough performance (some people didn't know Glance before that, although they did a promising demo in the past) and the 2nd and 3rd positions that are above average and have some good effects to watch.

How about Amiga demos? I like at least the six first places. No killer demos from the usual suspects but quite good stuff from smaller groups. I was personally satisfied by this Amiga demo competition a lot. You don't have to always expect the same killer TBL demo. It's getting boring :)

The screenshots on Pouet are not good and so I will only show one from the 6th position somewhere later during my reviews.

My favorite demo was actually the 2nd place, Metropolice by RNO and Ghostown. It's a regular RNO demo with 2D or 3D stuff, but has such a beautiful theme and presentation among with music, that somehow manages to speak to my feelings. I can't be sure why I love this sooo much! It also seems to have some kind of a concept. The second time I watched it in an emulator I still fell in love with this. I might watch it once more tonight.

The 1st place is the demo We come in Peace by Elude. I was very happy that Elude finally got the 1st place they deserved. Last year they lost the place over Jesus Christ Motocross which is actually a good reason to not get 1st :). But their debut demo in Breakpoint 2008 missed the 1st place over a Drifters demo celebrating their 20th years which was definitely a bad surprise (what are those voters in Breakpoint drinking anyways ;). They deserve this place because what these people are doing in the Amiga is unbelievable. Crazy 3d engine with great post processing effects, glow, blur, ribbons and 3d metaballs and lot's of other stuff. Elude is for Amiga what Plastic is for PC. Both three releases of them in the last Breakpoints are amazing! Not just technically but also concerning the music and graphics. Although I still like Metropolice more :)

We also have the return of Haujobb on the Amiga with their demo Prototype 1 that got the 3rd place, which I remember to have liked on the stream and just downloaded the video to watch because I couldn't run this in WinUAE. I remember some pleasing stuff mostly and the usual Haujobb style. 4th place is Garden variety autobulk by Traktor and Nature which follows a similar pattern as their Jesus Christ Motocross but somehow it didn't managed to entertain me this time (neither on the stream nor when I tried to watch this again in WinUAE). But I still love their cartoonish rendering. Another one of the surprises is the return of the spanish group Ozone on the Amiga after 11(!) years of absence. Their demo Fetish 2 got the 5th place and the style kinda reminds me of their older stuff (although I didn't manage to watch Fetish 1 in WinUAE yet). I still prefer their Smokebomb masterpiece of the past though.

The screenshot is from the 6th place, The ventures of Prince Dakkar and his pilgrimage to the abyss by Tulou (what a strange name :). I really liked this one. Vivid colours, sea concept, some nice 3d (fish that seems to be made of voxels in a sphere, submarine with point sprites :) and great oldschool effects (wavy stuff at the beginning, particles completing the logo at the end, crosszooming). Quick mention of the 7th position, Ontoclasia by Software Failure another spanish group whose coder Ham did also some nice stuff on GP2X and is a great guy so I wanted to write something about his demo :). It follows the same style of Amiga Ham demos but with ever improved design, better colours and the same 3d :)

I will make a short mention on the wild/console competition which also had some nice stuff but I lost half of it on the stream unfortunately. The highlight was definitely BluREU by Crest which with the help of some REU hardware (for more additional memory, 16MB here) and some fast animation player it manages to show some great animations running on a stock C64 in a 320*200 with 16 colors and fullscreen. Going smooth! I couldn't believe this is a commodore doing this. The last animation video I have seen on the C64 doesn't reach this quality at all. We have seen classics from Amiga TBL demo, Popular demo or ASD's Lifeforce rendered as animations with such glorious colours and smoothly! Oh,. have you been Rick Rolled by a C64 before? You should try this, it's even possible to run this in WinVICE.

Honorable mentions are the attempts to make new demos with microcontrolers by the usual suspects or Z80 based computers build by sceners and running new demos with Amiga like gfx and sound. Fun to watch was also a 4x4 led demo, a Vectrex demo and a Calculator demo with funny message at the end. I was also happy to see a new Dreamcast demo, Wobble by CRTC. And a lot of others I might have missed on the streamer.

A nice thing for the CPC scene is that this year the demo From Scratch by Vanity was nominated for Public Choice Awards, something unexpected for me because the CPC scene is sooo small and the other nominees were PC and Amiga masterpieces. This has resulted in a group of French CPC sceners travelling to Breakpoint and even taking part in the graphics and music compo with CPC stuff. A report from Hicks/Vanity is written here.

Parties may go but Demos stay.
See you next year in a Breakpoint replacing demoparty :)

Friday, 19 March 2010

Oh noooo!!!

I just found that in Dosbox (don't know from which version on) there is a magic button (or combination of buttons) for fast forward (aka unlimited speed, aka speed disaster, etc.). Which is great when you want to skip fast some parts of a game or demo or for any other reason. It actually works very nicely, depending on the machine cycles you have set, things might go quite fast and even the music is funny.

My dilemma is that it enforces some bad habit I have with demo watching and never told you. When I am in hurry yet I want to see some old demos I didn't knew before, searching maybe for an effect or a screen that could impress me, instead of watching the demo as a regular scener watches them, I press the fast forward after I have seen each effect. Ok a logo, fast forward, stop there, nice blobs, ok I saw them, fast forward, wow great voxel! Fast forward, etc, etc.

I used to do this with emulators in AtariST demos, Spectrum, AtariXL, C64 and everything that has an emulator enabling fast forward. I am wondering now if WinUAE for Amiga does have one and I don't know it. Or about CPC? (Winape32 has the option but you have to do it from settings. I want a button that goes fast forward while you pressed it and then you can release it and everything goes to normal). Oh no!

At least when I want to watch again some old classic demos I don't do this. There are two kinds of demowatching, the one where you want to enjoy the demo as a demo and the one you are in a hurry to pass through it's parts in the hope you will enjoy a good effect. Also if in the middle of this heresy I discover that the demo I fast forward is actually worth it for it's flow and transitions and presentation then I do the exception to quit and lay back and watch it from the beginning in it's normal pace.

Imagine what would happen if I watched demos with friends and I suddenly touched that keyboard :). I did it in other ways though, like pressing and un-pressing manically the turbo button on my 386 at each part while my brother was watching, and I was talking to myself: Wow, the gouraud shader runs smooth even without the turbo button. Wow! Like who cares? Hahaha!!!

I am just insane about coder effects and performance. I do it in dosbox by changing the cycles up and down while watching a particular demo :)

p.s. Actually dosbox has become really good. There is even a mode (if you set machine to vgaonly) that tries to emulate the VGA properly with it's right timings so that games and especially demos that might use hardware tricks to do raster effects and splits and cooper bars and all that stuff work. I tried it with my 256b intro kefrens256, a quickbasic secret part for Deedline Sax where I was displaying similar stuff, my CPU meter in demos, then tried it also on some PC demos using tricks (DoWhackAdo, David CopperField work great, but Copper by S!P doesn't work very well). Also you can choose the CPU strictly, for example a 386 only CPU to not have to emulate 486 or Pentium if you don't need to, etc. And that's not the only cool think about new things dosbox brings. I am curious to see what the next versions might bring.


I am not sure why I can't get into this link.

I am not sure why the link to this story from slashdot has zero comment (the date was somewhere between yesterday and before). I even posted a single one wondering why.

Wait!!! I just tried to search for this link and it's not there. Wait no, I found it. Look, it's just me!!! LOL. (Maybe I won't be tomorrow)

They forced the pages go down so fast? A damn conspiracy? Or am I just paranoid?

Say I don't care,. I will write something else here.

The last time I got a new laptop I uninstalled the damn antivirus that came with it. It made my system crawl like hell (also it still does because it runs Vista :P). It bugged me with false positives (any antivirus does it and imagine you want to get some people interested into the demoscene by showing the marvels of 4k intros. An antivirus just drove them away :P). It just annoyed the hell out of me at every action I tried to take!

And then someone comes and tells me, yeah antivirus software is just like that, but there is this or that one (name) that was amazing and not just like the others. And then I discuss it with another friend about the same antivirus and he tells me, what? This is the worst ones, crawls your system, etc, etc. I guess it was an older version that was ok? How do I know that the best antivirus won't be a total crap tomorrow?

I don't know but every time I install an antivirus in my system I am in doubt. My brother told me that antivirii are the real virii here. They clot your system, annoy you with warnings, at least they don't delete your HD yet. I might be sounding like those people who refuse to take vaccinations. I am probably gonna pay it in my system one day..

And all these because of the stupid people who think it's cool to write a program (or copy it from someone's else source most of the times) that destroys our computers. Hell,. I am gonna go back to CPC where nobody makes any virus anymore (do they even exist?). Wait,.. I can't :P

Ok, I guess when I have a virus I'll throw one of these programs, kill the threat and then uninstall it again. I did this before with spyware kind of threats and it worked :P (Yeah, yeah, I know. Those programs also protect you before the bad is happened, but I still like to uninstall the when I don't need them)

I totally don't make a sense. That's because I am a computer hermit XD

p.s. Another one with the story that is up atm is here

p.p.s. Actually the original link came back. I know I am paranoid here :)

Friday, 5 March 2010

Why I still play doom?

Many people (mostly newschool gamers) have asked me, why do I keep playing this highly pixelated (texelated I would say :) game from 1993? There are so many modern FPS with next generation graphics, more interesting story and lot's of more interaction. Why?

If they knew I am also into level editing for Doom they would wonder twice. But both playing and level editing seems to be so much more fun in Doom than modern FPS. About playing, I do sometimes play modern FPS, but they start getting so complicated or realistic that I just prefer the arcade style of old good Doom. As for level editing, I admit Doom is the only FPS I have tried to create a level. I only have seen how a modern level editor looks like when I tried to do it with Max Payne (because I was helping a friend who wanted to learn it for a project) and only for a little while. But all I see is that to create mods for modern FPS can be far more complicated than in Doom. I simply don't have time for that. Also, the limitations of the doom engine allow the level designers to challenge themselves by trying to overcome these or find tricks to make "impossible" things running in the vanilla doom engine. And the community is BIG!

How is this happening? What is so special about Doom that many people are still playing it, lot's of ports are coming out, level designers create hundreds of maps and some of them still show new never seen before ideas and amazing beautiful design and the community seems to be much bigger than the ones in modern FPS?

One article that attempts to answer that is here.

Also, as a complement I give you this link and a screenshot taken shamelessly from his blog because I like the comparison. The guy is, as I read the news in doomworld, a lead designer of Bioshock 2 and he just decided to remake a level from Bioshock 1 into old good doom. Wow!

Saturday, 27 February 2010

Where are the real programmers?

In the past, everybody using a computer was subjected into learning how to program. Most notably in 8bit home micros which came along with a basic compiler. Of course you weren't subjected into professional programming, especially low level (except from those who decide to move from basic to assembly in the 8bits) or object oriented programming but this was a start and I believe it's a skill developed at an early age. You know, programming sometimes look to me like a savant ability, something that it gets hardwired in you brain in an early age because you like to play with computers instead of doing sports or going after girls. If you sometimes wake up and think of algorithms or dreaming of code and hobbyist programming projects you want to do while waiting for the metro then it has become a part of your life and you have become too efficient in this.

So, real programming doesn't mean to me having a degree or having read the textbooks. It means that you breath this stuff everyday. A friend who has a degree in computer science told me about his first interview which was truly terrifying, when they gave him a piece of paper and asked him a simple question. To write some code in his favorite language that calculates the area of a circle. He was stunned and couldn't think of anything for minutes till he wrote something that was probably wrong. He told me that when a white piece of paper is given to him and he is asked to write a program from scratch, he just can't. He would prefer to have the solution in front of him so that he can study and understand. Needless to say, seconds after he told me the question I already had structured the whole thing in my mind but that's a very easy problem anyways.. (I spent more time in doubt to figure out whether the area of a circle is 2*pi*r or pi*r^2 (I always confuse these two for some reason :P))

I understand him. I have the same problem with maths and I have a degree in maths. I admire or tend to be puzzled by some people who have the talent to be given a mathematical quiz or even a question to prove a theorem we haven't done in the book yet and while I am stunned and can't think of anything for minutes, they have already come with the right way to solve these out of the numerous wrong paths you could follow and end up in a dead end. I don't speak about straight mathematical calculation problems or obvious things but things that few people can solve in almost an instant even without having read the solution before and the more common mortals may take half an hour and still need to scrap everything (this cost me a lot during exams, I had to either memorize hundreds of solutions of various problems in my mind or have that talent, neither which happened :P).

I have noticed the same situation when I was doing private lessons in programming to a computer science student. He was curious many times how I could be given a problem that they were just handed in class and tiny moments after looking at it I would already have an overview of which functions, classes, variables and methods I need to write and use. I had a talent and I didn't even noticed, one that non-experienced computer science students had to make me notice (one's ability is another's disability and vice versa). But it's the same kind of talent that puzzles me when I am unable to solve mathematics in a small frame of time while others have the cryptic answers in their mind already.

Of course, I can understand mathematics and use them for practical applications, so it's not a big deal for my job that I am not good at solving problems fast (you would be wondering how did I got a math degree while not being good at it), while a computer scientist not being good at writing code is a different thing. Of course, it's not that my friend (and many other people) is incapable of solving very simple programming problems. Given time even in front of a piece of paper they would be doing something. In the same manner, I would be able to solve any mathematical problem if I was interested enough and I didn't have to do it in a limited timeframe (like exams). We are not incapable, just not talented.

So, what is the think that makes someone a real programmer (or talented mathematician)? It has to be your life. I tell you, first of all since my eighteen or even before (that must be 1996-1998) I got that obsession about being good at one thing that most people see it like magic. It just happened. I just got the virus in my mind and started thinking about programming. It was the same time I met the demoscene and found my focus there. You know, demoscene had that thing (apart from fun or creativity or friendship), the feeling that you were a part of a unique community and you would be honored deeply if once you could make a great demo to inspire next generations of coders. It was the driving force that kept us working hard in endless nights of coding for nothing. One friend told me this particular phrase that I like: "Fame. It's the money of the internet!" (of course demoscene was existing before internet was introduced, but you know the draft). Imagine now how focused I was into this for ten years with what enthusiasm and that I woke up every day and thought of algorithms and code.

If I was so obsessed with mathematics, if I woke up and thought about challenging problems for endless years, then I wouldn't be so bad with it. But those where just studies, something I had to work with just to get my degree, not a passion, not a hobby or a way to gain self-esteem. Remember how many people may have chosen to start a computer science degree because they think it's the future, or they wanted to create computer games or become a hacker, without following a similar route like mine in the past. Of course, even if someone hasn't been self-educated in his youth, I still believe there is a hope for them if the focus to the new goal is huge. But how many of them were so much focused like I was that they ignore common life and become hermits? Most of them end up failing the courses and wondering what they are doing here.

I will tell you something else now: I am currently going through an MSc that involves both my hobby of programming and computer graphics and it's true that my performance is far below than what I thought (but I am surviving and sometimes doing good at courseworks). For various reasons I am much worse when I have to study these stuff than when I am doing it for a hobby. Also, most students I know (not from this master but mostly undergrads) doesn't seem to be the dedicated people or burned out with programming in the past as me but rather the lay off lazy people who aren't truly interested in the subject outside their job. How the hell are these people going to have real experience with the subject when they finish a master of one year if myself with ten years of experience and true love on the subject isn't focused enough (I am a lay off lazy person too and I am feeling guilty about it :P) when studying this stuff? A computer science undergrad who has finished his studies with the same "love" I have taken the math degree, could he possibly considered experienced in the field after getting a master in graphics in one year? (And don't tell me that not failing in the master will prove that he knows his stuff. There are various "alternative" ways to achieve "success" and you know it..)

Real programming is a way of life. You don't just learn it in universities in one or four years. Look at me! I have a math degree. I suck at solving math problems (in time). Usually I am too slow at reading the mathematical language. I can just apply them and make calculations. I have not a degree related to computer science yet but I can be more fluent in programming than most of the students coming out of computer science departments. A question is of course, how do you make someone becoming self-interested in the subject? Most probably you don't. It just happens to some when they decide for any reason to follow this path instead of doing what the rest of the people do. Another question is, how do you create the ground today for trying this in a world where there are plenty of multimedia, movies, games, social sites and other time wasters and the programming world looks so boring in comparison to these marvels (unlike how glamorous it is portrayed in movies). Of course there is a hidden creative magic in programming in the same way there must be in maths. Maybe schools or universities rarely manage to open the view of students towards the good non-boring side of these subjects. But then there must be a true focus from the individual, which would resemble more something like a true life dream rather than just the essentials for a job. But what about this uberinformation and glamorous world of computing today? Too many users but very few real programmers.

p.s. Part of the randomly scattered thoughts written here came after reading this post on Coding Horror (a lot of interesting stuff in this blog btw). It discusses stories of lead developers interviewing hundreds of computer science graduates and finding out that they can't solve even the simplest problems. Just read the post by yourself to find out.

Friday, 26 February 2010

Best racing ever?

I am in total love with Test Drive Unlimited, so much that I have bought the original from a computer store (the pirated still loads faster and doesn't need the CD-Rom or ISO :). It's a hidden gem, obscured by the regular boring brand titles, mainly Need for Speed and others too. I can't play anything else now in the category of racing games (except for good old Lotus 3 on Dosbox of course (Don't ask me if I have played the Amiga version :)). I don't know anything about the previous Test Drive titles after Test Drive 3 in DOS (too fast and clumsy to play but I used to like on my 386 (or maybe 286 iirc)). But this is definitely the best from the test drive series (also according to the grading in mobygames and other sites).

The single thing that makes it rule is the fact that it's an open space racing games. I miss these kinds of racing games (that's one reason I loved Carmageddon in the past, not because of the killings). The developers have modeled a whole island based on satellite images of O Ľahu in the Hawaii Islands (that's actually the place where Honolulu is, also Pearl Harbor, also Lost and many other movies and series where filmed). You are free to drive around 1500kms of roads and discover various beautiful places on your way.

Of course this alone wouldn't make it the best racing. Say something was very hard with the controls then it would be impossible to enjoy. But here things are playing great! I don't care much about realism, I am not an expert in this, I don't know how much is there or not in TDU but there is an menu option to select driving realism from something that is very aiding and feels like arcade to more hardcore modes. So, I am free to race for hours in endless places and enjoy it because the controls are good enough. Then the graphics, not always very important, but here they are beautiful enough when driving in a highway and watching the nature, the mountains, the sea from far away. Maybe someone would notice that some 3d models are funny, especially those of characters or things that are out of your reach (you can use some cheats and make your car fly to get inside an airport or above building, etc) but that's because it was not necessary to add more detail since it's beautiful enough and good for quality/performance adjustment when driving. The cars are very beautifully modeled though and the outdoor scenes look great. Now imaging driving a good looking car in the highway, having great feel of controls and a whole island for you in a truly open sense. It's the best thing ever!

But what? Only driving? No gameplay? No challenges? Of course they are here too! When you start you actually choose a character. You arrive at Hawaian airport with 200000$ and you rent a car to go to the nearest place to buy a home. Then you can choose your new car from three manufacturers. Then as an introduction you take your first racing challenge. You have a PDA that tells you your itinerary root to those stores and your first challenge. After this the real fun begins. You can drive through the whole island discovering icons that prompted to take part in various challenges like racing, best time or hiking quests or enter stores to by cars (there are a lot of famous brands from everyday people's cars to Ferrari's, Lamborghini's or some classic oldschool cars, also motorbikes. One hundred of beautiful vehicles!), clothes or a new house and quite more. There are hundreds of them placed in the island. You can either ignore them and free roam to the roads or play the game by winning these challenges and getting more money, new cars or houses with bigger garage to store all your babies. It's like a MMORG (massive multiplayer online racing game). It's funny that in the game while you drive for hours randomly, a number of other NPCs (AI players) drive around the island and sometimes one is approaching from the other side and either tries to tease you or ignores you. There is also traffic and police. The island is alive! I haven't tried the online play with real people (imaging 16 real life players driving in a big virtual world) but I bet it will be exceptional!

A sequel is being planned. I am curious how fun it will be. I am not even sure what I'd like as an improvement because I have everything in this one. Maybe pedestrians. There are no one of them in TDU and adding them would make the island feel more alive.

In a nutshell, open big free to roam environment, good and easy driving controls, beautiful cars and endless nature and roads. A dream of the racing gamer!

p.s. Photos from mobygames. Didn't have any time to make my own..


One day I have to study a bit how the math for the classic 2d water effect were derived so that I try to do the same for 3d. Well I did, but almost. It's just taking more neighbors in 3D space and changing some shifting values so that it doesn't flood as it usually happens with this effect. I found something. But it didn't worked perfectly I think. I just slow it down to 25 frames per second so that the dropping ripples can be seen. The moving ripples are much better.

There is actually a running executable if you happen to be a member in DBF forum. Here.