Blog

Tick Tock

December 12th, 2011 (permalink)

I was writing a small demo recently. I usually write demos so that I have audio system integrated from the get go, but this time I wrote basically the whole thing to SDL_GetTicks() before dropping the music in and doing sync.

Anyhoo, what I did notice is that the framerate started to suck immediately as I put the music in. Decoding an ogg shouldn't be that heavy, so I suspected the timings I got from the audio engine - and yes, I was right. (There's been discussion about this on pouet related to fmod earlier).

So anyhoo, I added a simple blur to the gettick and everything immediately looked prettier. I did a few graphs about this to see if different kinds of blurring would help, but the initial I tried (newtick = (oldtick + audiotick) / 2) gave the best results.

Okay, I'm pretty sure there's more precise solutions to this as well..

Why not just use SDL_GetTicks()? Why not indeed. First, historically different audio systems have run at different speeds (GUS vs SB being a notorious one - in 'gateways' we found them to get off sync by several seconds), and audio clock may be slightly off from the system clock. You won't notice it in short runs, but if your syncs off by one second after a three minute play time, it starts to get really irritating.

Things seem to be better these days, as I only got around 30ms difference between SDL_GetTicks() and the audio tick from about 3 minutes of play, so this may be a non-issue.. at least on windows. Still, I feel more confident syncing effects to audio clock instead of a clock that might or might not run at the same speed as the audio..

So yeah, basically all my demos suffer from this bug.

Unity Beginners' Book

November 29th, 2011 (permalink)

Wow, this has a risk of turning into a real weekly book review thing...

I've been considering getting into unity for a while, but I've been too lazy to do it in the usual self-learning method of trial and error. Okay, sure, there are online tutorials but nothing which inspired me. So I thought maybe a book would do it.

So I picked up this book. I'm a fan of learning by doing, and all I really needed to get into Unity is some hands-on practise to get my bearings as to where to find what. The book walks you through writing a bunch of games, starting small and building up from there. It painstakingly explains everything that's going on, meaning that more experienced developers can browse through the book quickly, but people new to the world of code aren't left behind.

A lot of the book is dedicated to whetting the readers' appetite on what's possible with unity, without going too deep into it (simply because it would be impossible to cover everything in one book). There's also a lot of humour, which may be irritating if all you want is hard facts, despite which I did find myself chuckling at some of the jokes.

I would have liked a bit more attention to the content pipeline (using blender and photoshop, for instance), but I understand that would have expanded the scope of the book too much.

As a tutorial book, it's a very good springboard into the wonderful world of game development. And it did serve my purposes well, too.

Oh, and bonus points for mentioning SFXR.

In other news, someone digged up an old invitation demo I made for an Israeli demo party in 1997. Here's the vid cap:

There's also the credit part after that, with no transition whatsoever. I was too lazy to stitch these together (as dosbox captured them as separate videos). The greets part is less exciting, but you can watch it here.

OpenGL Cookbook

November 24th, 2011 (permalink)

I've found myself being rather busy lately. I don't know exactly what; just tons of little things. The fact that there's tons of indie game bundles and steam sales doesn't exactly help matters.

Anyway, I got a request from PACKT to review an OpenGL book they've published. It looked like a fun thing to do, so I said okay.

(store link)

First off, this book ("OpenGL 4.0 Shading Language Cookbook") is perfect for people who already know their way around OpenGL, but may not be too deep into shaders yet, and/or have some legacy bits in their engines.

The book does walk you through setting up a shader based application, and explains what kinds of support libraries you're going to need (always managing to pick the "other" lib than the ones I've used - they like glew more than glee, for instance - but the libs they picked still work as advertised, so I'm not saying they're bad choises. Oddly, there's no mention of SDL or SFML though), but knowing how OpenGL generally works as well as how the math generally works is taken for granted.

On the positive side you won't have to browse through hundred pages of basic matrix and vector math, or compilation basics, which I feel is a good thing.

After the basics (sample chapter here) the book gets to the fun stuff, explaining lighting, texture use, screen space trickery (like bloom and deferred shading), geometry shaders and tesselation, practical shadows (i.e, shadow mapping and PCT filters, but doesn't waste pages on anything "more advanced"), noise and some particle tricks.

All in all I think it's a rather good resource for anyone who wants to upgrade their OpenGL knowledge to more "modern OpenGL", dropping all legacy stuff, but it doesn't mean you don't still have to get your hands on the orange book.

So anyway, if this feels like your thing, you can get it here. And no, I don't get any royalties. =)

Raevellin

November 6th, 2011 (permalink)

Time flies.

I no longer work for Qualcomm; our son started at a day care, and some other things changed as well, so I figured I might as well go with a startup for a change. This doesn't mean I'd think Qualcomm is not a good place to work at. It's not perfect, but what is?

I've mostly been playing tons of different games lately.. lots of indie stuff has been available cheaply through various bundles and/or steam. I also got an iphone from work, so I've been playing around with that.. maybe I should try my hand at writing some apps, but that would mean dishing a yearly fee to Apple just for the opportunity, and I'm not sure if I want to do that. We'll see.

One thing I have done recently is.. well. Niklas likes to play with his mom's computer (which is in the living room), and I got fed up with him managing to do weird things even in the windows 7 locked screen, so I wrote something a bit more interesting for him to play with..

You can download the win32 binaries here if you want. Do note that to quit the application, you need to press control-alt-del; the application will detect it lost focus and terminate. The same will probably work for any autorun events (like inserted disks or usb devices) and such, so it's not absolutely bullet-proof, but should reduce accidental quits by a toddler a bit.

And yes, all the texts are in Finnish. Deal with it. =)

A huge time sink in that project was finding public domain images; if I would have wanted to burn $10 on the images it would have been much quicker process. What actually happened was, I wrote that application for just personal use, but then some friends saw it and wanted a copy. For private use I don't really care where the images came from, but for public release it's a different ballgame..

Oh right! I did something to this site at one point, forgot to update the front page.

I wrote a simple particle system for X-Forge a decade ago. This is basically a total rewrite from scratch, using OpenGL and AntTweakBar. Info, binaries and sources on this page. On the iphone..

First 24 hours stats: 7 apps downloaded, 20+ appleid passwords entered, 10+ WLAN passwords entered, 22 photos taken, 25 songs listened on spotify, 1 hard reset of the phone needed, 1 sportstracker trip with dogs taken, sent 1 SMS, made 0 calls, had 0 useful autocorrects. Oh, it's a phone too?

So, literally one day after I got the phone, ios5 came out, so I installed it. The capability of sending (and receiving) SMSes got broken. After going through tons of support pages, trying out various listed workarounds, calling my service provider to double check that nothing's broken on their side (or if they have any idea what it was about), I narrowed things down to a broken SMS database on the phone. So all I'd need is to reset it. I didn't care about the old SMSes as I had sent like two of them before the ios update. I did care about all the other data on the phone, though, so full reset was out of the question.

So I just browsed to the phone's data store and deleted the file. Except this is a 'walled garden' device, so I can't. Could have jailbroken the device, but I don't want to.

Long story short, in the end I used a phone backup file hacking program to replace the sms database with a zero byte file, restored the backup, and... SMSes work again.

Miscellaneous stuff..

Got over 2500 reputation on gamedev.stackexchange.com. Yay.

Over 50 schools use Atanua. That's quite a bit. Too bad not too many people have actually paid for it.

Also tried doing an experimental OpenMP build of Atanua; basically, using four threads on corei7 sped simulation up by around 100%, which is less than I expected, but in line with what I read afterwards.. on the other hand, using OpenMP for things it works well with is extremely easy, just add a compiler flag and a couple of pragmas and you're go. In visual studio you need the pro version for this to work, though.

Finally, it's November, and I haven't started on my NaNoWriMo project yet, so I probably won't bother. Again. Still have lots of ideas, but.. in the end it's not the stress I need right now.

The Hershey Fonts

Septmber 17th, 2011 (permalink)

Looking for some simple non-ttf vector fonts, I stumbled upon the Hershey fonts, and wrote a converter for them to a (more) vertex buffer friendly format. So if you want to use them, you don't have to go through all that. Just grab what you want. Cheers!

RST update

September 8th, 2011 (permalink)

Fairly little going on related to this site. I have a small game project going on related to d3, but haven't really put any effort on it for a while. LD21 came and went, and I was supposed to enter, but was sick. Lots of personal changes going on, including the fact that Niklas is starting in daycare.. Computing wise I've mostly been playing random games, but nothing really worth talking about.

Folk from eeweb.com mailed me, and it seems to be a pretty nifty site related to electronics, with an active qa forum and such. Be sure to check it out if that's your kind of thing.

Been thinking of maybe starting to write some Fathammer related memories. We'll see how that goes. Acrodea doesn't seem to sell X-Forge anymore, so I suppose that's the end of that story.

Since I haven't done it for a while, here's the pick of the recent search terms from the past few months..

I wish google analytics would let me to grab all of the keywords in one TSV instead of having to download six 500 line TSVs..

2d to sphere mapping

If you have problems figuring out why this is difficult, just try to wrap a piece of paper around a ball.

difference between direct method,simple dda method,increment dda method and integer dda method of line drawing in graphics

Homework!

ansi c directx

As far as I know, there is a ansi c interface too, but nobody in their right minds would use it.

anti-cheating homework methods

Form questions in a way that they contain variables, with each variable unique on a per-student basis. That's a start.

can you cover a sphere with same sized triangles?

My first reaction was 'no', then after some thought, 'yes', so I'll go with 'definitely maybe'.

create a program in c programming that will do the following, choice 1 guessing game, choise 2 sorting, choice 3 ask

Homework!

how do asciiart conversion algorithms work

Take n * n pixels. Match it against all glyphs available. Pick the one with least error. That's the basic idea.

how to extract middle bits from a stream of bits in bit manipulation

Shift and mask.

how to get to tambaram from chennai central

As far as I know, I don't refer to these places in India anywhere on this site, so how did you get here?

how to print a backspace in a textfield

Right. Or well, left.

how to set up directdraw with latest directx sdk 2011

You don't.

if a bit equals 1 a nibble=4 bits and a byte=8 bits then what do you get when you combined them all together

I actually got the same text as an email from someone, and I'm still wondering why he's talking to me.

the team did not want to have anything to do with the project....

Maybe this was a MMORPG project? =)

watcom assembly vertical retrace not being set

Windows dos box doesn't support vertical retrace.

Dialogtree

August 9th, 2011 (permalink)

I've spent some time lately on writing some dialog tree middleware. It's more or less "done" now, and can be used free of charge; you can find information on it here, along with downloads (engine sources and actual tool to create dialog trees). There's still a lot to do, such as examples and further documentation, but my testing hasn't found any drastic problems with it.

I'd love to hear from people using it, or comments in general in any case.

I recently played "Mafia II" through. It's a GTA-like game with a very strong story; I enjoyed it a lot.

Assembly 2011 came and went, and there were some seminars this year too. I haven't gone through all of them, but at least this talk on how forcing limitations on design make better games is worth watching. In the same vein, the author of braid did this talk a few months ago which basically undelines what I've tried to preach people, and that you shouldn't optimize for size or speed, but for faster development, which means simpler data structures, more readable code, etc.

Indie Conversation

June 13th, 2011 (permalink)

So, a bunch of Ludum Dare regulars started doing a video conversation thing on youtube called indie conversation, where they post short videos, asking each others questions and.. stuff. Pondering on what it means to be indie, how to cope with things, and such. Very inspiring stuff.

It naturally got me thinking, as well. During the past few years I've gathered all sorts of tools I might need, for instance, making games - I have a wacom pad, midi keyboard, compilers, photoshop, a reference library of actual books, mac, windows and linux boxes, using diverse graphics hardware for testing purposes.. and I know how to use all of the above. And I know where my strenghts and weaknesses are.

So why haven't I made a bunch of games and put them for sale? I guess I'm afraid.

I could never be a full-time indie because I'm too much of a control freak. I like things being stable, more or less. We recently moved to our own house and it was super scary. Lots of new uncertainties, can't just call the landlord and say the toilet doesn't work, that sort of stuff. I can't imagine the stress running my own business would be. It might be easier if I was just supporting myself, but I don't know.

So my "indie career" is waiting for a lottery win of some sort. Not that I'd probably quit my job even if I did get a couple million suddenly; I'd probably just take lots more risks with my career, having a safety net in place. Maybe I'd even go back to making games.

I'm dreaming of making those kinds of Magnum Opus games folks have mentioned in the video series, and like many do, never actually start on them. Once you have enough experience, you start to realize just how much work such a project would be, and see that it's not realistic. So you end up doing smaller projects, which is fun too - smaller projects also move faster. Once you're past the magic 10kLOC in your source base, things tend to move much slower..

Another thing that's holding me back with many of my game projects is that when I start to think about them, I hit the requirement of lots of custom tools. I've been looking into various UI libraries for tool building, but they all more or less suck. The best at a glance so far was, surprisingly enough, C# and .NET, but for some reason I didn't end up using it. All windows toolkits either require some custom build system and/or are just plain painful to work with, and even though you always end up needing some custom widget, the libraries are not designed to make that easy..

RST, June 2011 Edition

June 7th, 2011 (permalink)

Here's the pick of the recent search terms from the past few months..

bit twiddling multiply by 72

72-64=8, so we're taking n64+n8, or (n<<6)+(n<<3). It's not that hard.

can you explain how to express a xor b, where a and b are some conditions in terms of !, &&, and || operators?

Yes.

common mistakes made with windows programming using visual c++6.0

I used to feel that visual studio got worse after 6.0, but it's gotten better since. Additionally, 6.0 has serious issues with multi-core machines, and the compiler is so bad at standards compared to the later ones that I really can't recommend it. And since the express editions are there for anyone to use, why use 6.0 anymore?

create a 3x3 word grid guessing game jframe application game in java using swing. the frame will have nine input fields to accept capital letters only from the user and any necessary control buttons etc.

This one gets the coveted 'most specific google search' prize.

how can i do write or read on screen directly with pointers and video segments and video offset in windows xp by c++?

You don't. Well, unless you're writing a kernel-mode driver, at least.

how old is direct draw 2

Very.

how to adjust fan speed vivarium

Depends on the fan. Many have a switch where you can pick low/med/hi. Alternatively you can reduce the voltage.

how to change terra nova strike force centauri graphics options

Through the graphics options?

how to know recent search term

I use google analytics.

how to make pixels smaller in a game

Use a higher display resolution.

how to output display at 1 hz with input of 20 hz using d flip flops

Divide, divide, divide.

how to put mmo games in your site

There's so many things wrong with this question, I don't know where to start.

how will you draw a circle with radius equal to 4 using midpoint circle drawing algorithm. find coordinates and fill table for the above calculations.

I first didn't mean to quote this obvious schoolwork question, but there were like eight different variations of it..

making 8 bit game music tutorial ludum dare

DrPetter, are you listening?

more chips in atanua

I haven't received any requests in ages.

my photoshp writes z instead of y

Wrong keyboard layout maybe?

removing all but the two least significant bits of each color component

Mask it.

what mode did the original dos use?

I'm fairly confident it was 80x25 text mode.

what should you do when your having your first sol

I dunno, drink it?

what would a structured query language tutorial teach

SQL.

Little Things

June 1st, 2011 (permalink)

Haven't updated in a while, mostly because not a lot has been going on, related to this site at least. I made a new version of Atanua, fixing all reported bugs since the last version and also rewrote the clock system so if needed, user can change the simulation clock higher from the default of 1kHz. Useful if you want to play audio, or have complex programs in your microcontroller.

Been playing a lot of games. Yes, the steam sales late last year has damaged my productivity. Such is life, I guess.

I tweaked the css of this site a bit, as you may have noticed, and also changed the background picture as many people have complained that it was irritating to scroll. I hope this one's better for you.

Some bits of interest that I'd like to point people at, although I'm pretty sure these are old news to most people frequenting this site.

  • Thorium reactors seem to me like the most promising solution to the energy crisis. The Chinese seem to put a lot of effort behind it at the moment; I hope they succeed. In my most optimistic views it could lead to the obsolescence of fossil fuels.
  • Tau (Tau = 2 * Pi), which I think I'll start using on this site. It makes lots of math simpler, makes more sense. If only other such mistakes (like the direction of electricity flow etc) were as easy to fix.
  • Screenshot Saturday, the greatest replacement to "flipcode image of the day" I've seen. One of the side products of the ludum dare community.
  • Project Euler, a site that offers cool programming puzzles, often math heavy but not necessarily. I've solved 30 of the problems myself at the moment.

Finally, I also post on Twitter sometimes, if you want more frequent updates than I put on this site.

Random Hacks

April 4th, 2011 (permalink)

Recently, I've been playing "Dead Space". When I first started it, I almost gave up on it after a couple of minutes due to the horrible camera and control scheme, but forced myself to play until I find a place to save. After finding it, I realized I had passed a few save points already.

Anyway, the game is, for those who don't know, a space horror shooter, and it owes so much to system shock I wouldn't be surprised if Shodan showed up all of a sudden... I was going to bash it a lot but I've been playing for six hours by now, and I'm likely to finish the game, just to see where the story goes.

And yes, I do cheat. I play on easy, the game doesn't actually need cheating, but having infinite ammo lets me finish it sooner.

As to the random hacks..

I thought about writing a hack dll for Grim Fandango to make it possible to play it with hardware acceleration on modern computers, as I'd heard it was broken. After going through the effort of getting my copy of Grim back from a game designer friend of mine, I installed it, plugged in the patches that were available, and ran it, the 3d acceleration worked. So, I don't have much of an incentive to hack it.

Next, our doorbell is busted. It's probably original, from 1966, and the wiring goes through the stone wall. There's nothing wrong with the wiring, so I figured I'd just buy a new doorbell and hook it in. Unfortunately, all the doorbells in our local hardware store are of the radio wave remote button type, so I figured I might as well build one myself, using a microcontroller.

As a doorbell, saving batteries is a critical feature, so I designed it so that the mcu is in power down state most of the time, and is woken up by an interrupt caused by level change triggered by the button press. This went more or less fine (except that figuring out that interrupt took me a couple hours of debugging), but I learned an interesting fact:

Doorbells can crash.

When the button is kept pressed when the mcu goes to power down state, pressing the button again doesn't cause the expected level change (as the level was already set), and thus the microcontroller can't escape the power down state. Oops. This was pretty easy to fix though.

I'm a bit stumped on how to boost the volume from the TTL levels though; the doorbell is quite quiet at the moment..

Another thing I managed to hack together was a modified version of GLTrace which mucks the modelview matrix of any opengl 1.x application according to head tracking provided by faceapi. It works, kind of; I could make the camera pan around when I moved my head, but I haven't tweaked it far enough to be releasable. But anyway, I could move the camera in quake 2 demo enough to make the graphics break a bit. At the same time the game became rather unplayable, but that's hardly surprising =) I also had to kill q2d with task manager; I don't know if that's a side effect from my hack dll or a feature of q2d itself.. Anyway, the problem - what made it unplayable - is that while I made the camera pan, I should make it rotate as well. Don't know if I have the energy to keep playing with it. We'll see. So far, the project only took a couple of hours.

The applicability of said hack is also rather limited these days, as opengl 2.x+ doesn't use modelview matrix like opengl 1.x did.. making a similar hack that also works for opengl 2.x+ is possible, but would require a different hack for every single application.

Oh, and I locked the forums due to legislation change in Finland that would make me resposible for users' postings. So, if I was away for a couple of weeks and someone posted some hate speech towards certain religions, someone could sue me instead of the poster. Fun, eh? On the other hand, the forums have been quite silent for ages, so no great loss. I left them online for people to read in case someone googling finds an answer to some question of theirs.

Asm09 Seminar Video

March 26th, 2011 (permalink)

Noticed by total accident that the Assembly folk have posted the video of my Asm09 seminar on how to make studying more fun by applying a bit of the demoscene mentality into it. It's here on Vimeo, so you can see me run through the presentation in about 15 minutes. I was horribly nervous =)

On the process of getting rid of oil.. remote heat isn't available in our location, but its setup costs are around 6-8keur. Air-water heat pump setup cost is around 12-15keur, which is tad bit more than we could afford at this time. All I've heard of ground heat so far is "over 10k" - the company I queried about this did not answer.

Moved. More or less.

March 23rd, 2011 (permalink)

So.. the move was early this month, and we've more or less settled in. Still lots of things to do, lots of money to burn before things are closer to what we'd call comfortable.

We decided to go with a house of our own this time, and moving to Karjaa made that possible; for the price we paid for this house we couldn't have gotten anything sensible in the Helsinki area. Still, this is an hour's train trip away from the Helsinki city center, so it's not as if we'd moved to the moon or anything. Just to the countryside.

Picking the moving company was interesting; we discarded the cheapest offer as unrealistic. The one we did pick was more expensive, used more men and bigger car, but still ended up having fun with some of our heavy furniture.

I took a week off for the move, and we almost ran out of time, partially since both myself and my wife went through a stomach flu during the process. It wasn't fun.

While we were packing, we had these guys tear down wallpapers and paint the place, and they did a great job in a tight schedule and within budget. I definitely recommend them, should you need such services.

ISPs messed things up on both sites, but that's normal, right? I got billed from my old ISP after the connection was disconnected, and the new place wasn't connected even though I had ordered it well in advance, and naturally the new net isn't as fast as advertised.. I'm on a two year contract with them though, so I'll review my options after that.

Differences between this and the last place we lived in, after these couple weeks.. people seem much friendlier, for starters. One of our dogs panicked after the move and ran away, and after spontaneous help from a bunch of local people we got her back safe and sound.

Other changes.. the water is super-soft. Like taking a shower in evian. Feels downright wrong somehow =).

The house is old, built in 1966, but in a great shape. Still, if I'd have a couple hundred thousand, I could burn it in improvements. The electricity system is more or less original, which is mostly just inconvenience of not having enough sockets for everything. Some fixed appliances (like the dishwasher) are so old we need to buy new ones ASAP. The fireplace needs some improvements, which we've already ordered.

And the heating, oh dear. It's oil, which we really have to get rid of. I've figured that there's three real choises at the moment, but I don't know the cost of them; ground heating (sucking heat from the ground to some level and heating with other methods, probably electricity, on top of that), air-water-heating pump (sucking heat from the outside air and turning that into heat indoors, works up to around -15'c; in practise it's kind of more energy effective version of electric heating) and finally remote heat (they pump heated liquid, probably coolant from some form of power generation, through houses to keep them warm).

I'll need to see what the initial and running costs of each of the methods is, and which we can afford. I do know oil heating is way too expensive in the long run.

Pretty much the only thing I do miss from the old place was a well-stocked hypermarket. The stores here are okay, I guess, but finding specific things takes effort. There's a huge hardware store here, but it feels like it still has less hardware stuff than the hypermarket had.

Apart from all that, I've played some games. The steam sales really hurt my productivity, as I bought something in the order of 40 games - at the cost of around 2 full-priced games. So far I've played through GTA IV and its expansions, and some other stuff.

GTA IV took itself way too seriously; the biker expansion was meh, but the ballad of gay tony was pure gold. Better than the rest by a wide margin. The stories interconnect, so it's worth it to drag yourself through GTA IV before playing gay tony.

Feb'11 RST update

February 25th, 2011 (permalink)

Preparing to move to Karjaa, so nothing much going on related to this site at the moment.. You could consider funding this project by Viridian. 9 days left!

Anyway, here's some recent search terms for your amusement:

aatnua altanua ataanua atabua atacua atajua atamua atanatua atanaua atanau atanoa atanuan atanue atanula atanuna atauna athanua atnua atonua attanua atuana atuanua atunua tanua

That's colleciton of various misspellings of Atanua that still have found their way here.

after we added a new button a text field appear

Amazing!

ascii art swordsman
  o  /
 <X\/
 / >
cpu floating point operations cheaper than table lookups

Table lookups may cause data cache trashing. FPU ops generally don't.

figuring out requirements for your own mmorpg

Requirement: money. Amount: more than you have.

how internal memory of 8051 works

Blue smoke.

how linear interpolation actually moves

Step at a time.

how long to program a pixel game

Depends on your experience.

how run wing commander 4 with true color switch

From the command line.

how to assign vertices around the circle 3d programming

In a round manner.

how to blit lasers from sprites

Sharks! Sharks with friggin lasers!

how to draw alphabets in opengl

Either figure out how to generate polygonal alphabet or use a bitmap font and use it as a texture.

how to use atanua license

Follow the instructions in the email.

i have an idea for mmorpg what do i do next

Forget it and do something productive instead.

if i had the source code to a game for windows how easy would it be to port to mac?

Depends on how many platform dependencies there are. Doing d3d9->opengl conversion may be quite a lot of work, for instance.

java source code for interpolation of cracks in old paintings

Step 1: edge finding filter. Step 2: interpolate.

orbital eunuchs sniper too difficult

You have the sources, go fix it.

Aaand here's a homework-o-rama!

adding iodine solution to egg whites and waits for a color change how long does it take
in java write a program that displays a checkerboard in which each white and black cell is a jbutton with a background white or black
java write a program that displays a checker board in which each white and black cell is a jbutton with a back ground black or white.
explain how the terms bit,byte,nibble and word are related

GPC Slides

January 24th, 2011 (permalink)

As promised, here are the course slides to the game programming course I held last fall.

Still sick. Starting to get real tired of this flu.

Yay!

January 17th, 2011 (permalink)

(link)

My DirectDraw Hack, written to make the old Wing Commander games playable under modern windows, won the 'runner up fan project of the year' prize at Wing Commander CIC web site. Yay!

In other news, still a bit sick - this is one of the longest flus I've ever had.

I've had lots of positive feedback on the game programming course I held, and I'm seriously considering doing it again next year. I still haven't posted the material here.. sorry about that. I think I'll do an edit pass over the material (and add little touches like copyright information) before doing so.

Happier New Year!

January 1st, 2011 (permalink)

Oh dear. I spent the new year's sick; still am, but getting better.

Watched "sorcerers' apprentice" recently. Lots of potential, ruined by bad casting of the main character (the apprentice, I mean). Cage's brilliant performance almost manages to save the film.

Got the school projects graded, still haven't had the opportunity to go through the material and publish it.

Site-wise, I found someone to take over the ddraw hack project - the public svn is here under google code.

Finally, here's some recent search terms for your amusement:

"the line age" trauma source

No, sorry.

a program to output the word 'boy' athousand times in c-programming

I'm fairly certain writing the program would have taken less effort than doing the google search.

algorithm temporal dithering

Render, estimate error, send error forward in time, repeat.

atanua.real-time.logic.simulator crack

Please don't.

barrel shifter 32 bit explanation for project code

Step one: perform all possible shift operations at once. Step two: pick only the output that was desired.

can you make a spherical object out of triangles

Given enough triangles, you can at least do a pretty good approximation.

easiest way to map a sphere

Easiest? Use a spherical texture map.

how to play and add .wav file in memory c#.net 2.0 for telephone banking system

My confidence in telephone banking systems suddenly fell significantly.

how many words with the letters sol can u find

Turns out, quite a few. My dictionary lists 54 of them (ignoring genetives and plurals) under 'A' only, from "absolent" to "azoxyanisole"

how to become better at bit twiddling

Practise.

how to draw circle horizontally and plot pixel points + opengl + sample coding

I'm pretty sure if you draw a circle horizontally, you end up with a line.

how to find out if direct draw is supported

Look at calendar. Is it 2011? Yes? Then direct draw isn't supported. Sorry.

how to make 7 segment decoder from 2 bit input

Using a shift register.

i want idea about projects is not made before now

First, take a subject. Then, research it. Find an idea, and check if nobody has done it before.

it looks like snow polynomials adding and subtracting

Quite trippy, in my opinion.

karnaugh map checkerboard

xor, if I recall correctly.

kinds of magic circle

Well, there's the lame ones, the cool-looking ones, and the ones that actually work, which nobody probably has never seen.

problem with lumex lcd only half of display prints

The lcd has two controllers, you're probably only talking to one of them.

waiters diploma

The what?

what does the website extension .fi mean?

Awesome!

what happened to brokenpicturetelephone.com

Lazy developer gave up development.

why is my daughter counting everything

Perhaps she's mathematically gifted?

write a c program that simulates a guessing game. each turn, you choose among nine possible guesses

Seriously, what's with all the homework searches?

writing graphic operating system from scratch

Don't mix graphical user interfaca and operating system. Do one or the other first.