Home

Advertisement

Customize

having completely forgotten about "Cupboard OS" I got back to this...

Jul. 3rd, 2007 | 04:37 pm
mood: accomplished accomplished

So I took today off work due to feeling a little under the weather. Discovering that I had time on my hands I did what any red-blooded man does, I coded this:



The code is particularly horrific I'm proud to say, though this is mostly due to me ripping apart an older GLSL 2.0 experimental framework I'd put together using GLUT and GLew.

It's amazing what you can learn in a few hours coding. This one has:

  1. Ray picking of points on the terrain (it ignores backfaces of course), this could be much more efficient as I simply iterate through all the planes/tri's until I get a hit :(

  2. It uses display lists for the terrain and the renderings of THE teapots (aka; The Sixth Platonic Solid).

  3. Undirected Graph representation of linked points on the terrain.

  4. Picking of existing nodes within the graph.

  5. Creation of links between existing nodes (not exactly amazing stuff I know).

  6. Rendering done using GLSL 2.0 fragment and vertex shaders (technically GLSL refers to them as programs). You can see 3 in effect in those screen shots listed below.

  7. "Toon" rendering on the terrain.

  8. A simple dot product "intensity" lighting effects on THE teapots.

  9. A simple colour pass-though setting all of the lines and spheres to solid RED.

  10. undirected graph to edge list conversion and rendering (the red lines), once again quick n' dirty and very inefficient. Worked first time though!



I'm quite happy with that so far. It'll all need factoring out of there at some point and into the wxWidget app I started on my other PC which will be fun. For now however I have more immediate goals.


  1. Turn the edge list into a series of catmull-rom splines.

  2. Turn the Catmull-Rom splines into a mesh representing "roads".

  3. Modify the existing terrain to conform to the Catmull-Rom splines and/or road mesh.

  4. w1n



So just a little bit more to do then :)

Yeti

Link | Leave a comment | Add to Memories | Tell a Friend

XP screen regions

May. 7th, 2007 | 05:53 pm

Okay this is something that's occurred to me before but I have never found anything that quite fits what I have in mind.

Take your windos XP desktop and divide it up into several border regions. 4 corners and 4 edges. Obviously the 3 containing the "Start" menu are "occupied" so that leaves us with 5 active regions.

I propose (or would like if it already exists) to have something like a "desktop" area for dumping icons, program links etc that would either be accessible, primarily, by moving the mouse to the areas active region. This would display the "area" complete with whatever you had chosen to dump onto it. You could then perform a range of actions on the things in that area, double-click to run like normal desktop, right-click for the usual desktop options. I guess I'm talking about virtual desktops in a way aren't I except that I really just want it for the single XP desktop so that I can better manage my hap-hazzard icon mess.

Any suggestions or ideas beyond the blindingly obvious "download the MS Virtual Desktop PowerToy" ?

Link | Leave a comment {3} | Add to Memories | Tell a Friend

worrisome forward declaration

Apr. 15th, 2007 | 06:58 pm

Just trying to write some code, going ok until I hit an odd little snag similar to this example:

namespace myMaths
{
	class CVector4;
};

namespace myStuff
{
	struct sVertex
	{
		float x;

		float y;
		float z;

		myMaths::CVector4 n;

		float u;
		float v;
	};
};


Which refuses to compile saying; error C2079: 'myStuff::sVertex::n' uses undefined class 'myMaths::CVector4'"

Any ideas?

Andy

Link | Leave a comment {4} | Add to Memories | Tell a Friend

a bit pricey for auto-complete

Apr. 15th, 2007 | 06:11 pm
mood: bored bored

I'll save you all, and probably myself, the "joy" of trying to locate the Visual Studio 2005 Product Feature Comparisons by linking to it here. The Standard edition is £219 whilst the Professional edition is £593.98 from Amazon.co.uk... So what's the difference that justifies a £350 price gap? Well bugger all, the only one that worries me is the "User experience: Simplified menu options and defaults" which is a bit frightening.

Anyway the reason that I'm looking at all this gubbins is because I'd like to use Visual Assist X which as we can see here isn't available for the Express edition of Visual C++ 2005 that I currently use.

So it's free or... spend £230 on the full Visual Studio 2005 Standard + whatever $149 equates to for Visual Assist X.

Guess I'll be using the free one then.

Link | Leave a comment {1} | Add to Memories | Tell a Friend

Distracted.

Mar. 29th, 2007 | 10:00 pm
mood: blah blah

Progress at work on the database coding. [info]thedarkproject pointed me in the right direction a few times although I'm still convinced I'm the least suitable person for this task.

I code much worse when I don't have a clear idea of what I'm doing as well. Does anyone else notice similar behaviour in their own work? It's as though the confusion that I feel towards the purpose of the code is reflected in my ability to construct the code itself. As I keep getting a bit more of a grip on the overall mental picture of what it's purpose is I'm able to resolve the structure of it all.

That just makes sense doesn't it? There's no mystery at all. If I can't picture how something works in my head how am I supposed to turn it into coherent code with a purpose and function within the framework. Duh.

Hmm, feel a bit better about that. It would be nice if design had some idea of what they wanted, it would be doubly nice if Rocco WASN'T so certain about what he wanted, it would also be nice if I could only see one of their viewpoints so that I wasn't aware of the disparate mismatch between what design have asked for *now* and what we're giving them to cope with what Rocco feels they will eventually want.

This is what I guess people refer to as a classic YAGNI problem. They've asked for something and we're pre-empting their possible future requirements. I don't think this is a particularly good way to work but the results will certainly meet and exceed their demands. Whether or not I stay the course is another question.

Yeti
Tags:

Link | Leave a comment | Add to Memories | Tell a Friend

and now for Networking...

Mar. 28th, 2007 | 09:14 pm
mood: depressed depressed

Or not, I can't even gather my thoughts enough to ask about this one. Fuck I hate programming, why didn't I do something fun with my bloody life?

Link | Leave a comment | Add to Memories | Tell a Friend

Physics engines

Mar. 28th, 2007 | 08:58 pm
mood: depressed depressed

Is it better to encapsulate a physics object or to inherit one?

For example:
//my physics class
class andyPhys
{
	ODE bitWotDoesWork; //actual physics object from 3rd party lib.
	//...
}

//my inheriting actor
class andyActor : private andyPhys
{
	//...
}

//
class andyActor2
{
private:
	andyPhys physObj;
	//...
}


and does anyone have a decent scheme for laying out code in html better than the above :(
Tags:

Link | Leave a comment {10} | Add to Memories | Tell a Friend

Shock update, DB stuff.

Mar. 19th, 2007 | 09:35 pm
mood: surprised surprised
music: Soundgarden - mind riot

I'm now beginning to implement the Player Records system for the MMO we're working on. Without giving too much away this is looking like turning into a monster dataset but mostly I think it's because of the way Rocco wants it implementing.

The long and the short of it is that we don't yet know what information the designers will eventually want. We don't know this because *they* don't seem to know this. I've already burnt a week of time trying to drag the information out of them with little real success. The way that we're dealing with this is allowing for the items that we're storing to be extremely flexible.

This flexibility has come about by giving each piece of data a 6 or 7 element composite primary key. So that's 6 or 7 integer elements to store every double of data. It's insane but at the same time perfectly logical. These 7 keys are themselves held in other tables which means that they too can be expanded upon at a later date (though with a touch more pain and effort) but for now they are either small 3 entry tables or a couple of 15 to 17 entry tables.

Because of this structure I we worked out that we could be looking at almost 9.5 Billion entries in a single table! Read that again 9.5 Billion! That's for a shard that's reached capacity at 100,000 players. In practice I've stepped back from that somewhat and could only ever see it really achieving, at peak, 40% full, this is due to us clearing 1/3rd of the data every week, and a full 2/3rds every month. Then there's other economies of practicality, namely that because of that 7 entry composite key you don't need to store all of the data all of the time. You could only achieve total fill rate of that never cleared 1/3rd of data if every player had done everything possible in every single situation presented to them at least once. In other words the data in the table would be sparsely populated for each player. You might be able to store 900 things for a particular type of data but in reality you don't play that way and so would only fill a fraction of it.

It's proving to be interesting stuff, now if only I can get used to the tools and remember some SQL. I used to be reasonable at using it but it's practically Greek to me now.

Yeti

Link | Leave a comment {5} | Add to Memories | Tell a Friend

long time no see, pointless posts continue...

Oct. 1st, 2006 | 02:09 pm

SO what the hell have i been upto then?
Well very little as regards the goals i laid out previously. I managed to get into some L-system stuff but unfortunately i've had no time at all since i started working at Monumental Games, this despite the purpose of changing jobs being to have more time.

Ah well, things at work seem to be going quite well, hopefully we should have all of the mini-games done in short order and then i'll have a dirth of time on my hands. yay.

Not all is lost however as i have found some rather intersting landscape stuff written by a fascinating guy called Eric Bruneton (it's in french btw) which he used to do a rather nifty animation of the inside of Rama. So i'm basically playing around with that. Go me eh... :(

I'm also posting this from my Linux box-en. I.e. i've become a filthy iconoclast.

Andy

Link | Leave a comment {3} | Add to Memories | Tell a Friend

(no subject)

Aug. 23rd, 2006 | 02:48 pm
mood: cheerful cheerful

I've found an incredibly helpful implementation of an L-System to explore and learn from. So far i'm just getting used to it's syntax, next is to take it apart, understand it and then to write my own.
L-system fractals in OpenGL using SDL.

Going ok so far.

Link | Leave a comment | Add to Memories | Tell a Friend

Couple of ColdFire related things

Aug. 22nd, 2006 | 10:56 pm

Qbox CPU board rebuild and a bit about Qbox The first working CPU-board!, and finally a homemade FPGA dev board.

These are just a couple of links that i keep meaning to jot down somewhere meaningful because even alone they're quite impressive achievements for someone. They are also at least a little related to what i hope to achieve with a coldfire processor and an FPGA.

on a related note, where the hell do you find these incredibly talented people?

Link | Leave a comment | Add to Memories | Tell a Friend

TunnelGen meet CityEngine...

Aug. 20th, 2006 | 05:46 pm
mood: cheerful cheerful

Well i found the CityEngine paper that i was looking for, i think i must have downloaded and read this a dozen times now. Still it fascinates and informs me. Nothing in it is particularly complicated, each step is small, self-contained simple in it's concept, however together they all build up to this powerful tool for generating entire cities! I love it.

Which is why TunnelGen is going to work a lot like it. Or rather, the ideas and methods that go towards making CityEngine such an interesting and powerful tool will be utilised in a different context.


TunnelGen description )

Hmmm, project one is going to be a little complicated then. At least each of the pieces is relatively simple...

Link | Leave a comment {8} | Add to Memories | Tell a Friend

plan of action

Aug. 19th, 2006 | 01:00 pm

Having recently (i.e. yesterday) finished working for Sumo Digital Ltd i've now got the time on my hands to start doing some OpenSource coding.

Software ideas:

  • TunnelGen :- a tool for generating a set of underground tunnels using various images and parameters as inputs.

  • FreePVS :- a platform independent Potential Visibility Set library.

  • theDepths :- 3rd&1st person game in conjunction with [info]thedarkproject.

  • Armour-Geddon remake :- a remake of the classic Psygnosis game Armour-Geddon (rotten tomatoes review)



Hardware ideas:

  • MiniMig w/ColdFire :- an implementation of an SBC with Xilinx FPGA and a Freescale ColdFire processor for (eventually) emulating an Amiga (OCS, ECS then AGA) in hardware.

  • Extending above to include PCI bus and additional PowerPC processor.

  • Extending above to use PCI-e and onboard gfx.

  • Amalgamating the above into a single board computer with FPGA, ColdFire, PPC and GFX all connected by PCI or PCI-e bus.



All of the above will be fully OpenSource both during the development and upon release.

Details to follow in seperate posts...

Link | Leave a comment {1} | Add to Memories | Tell a Friend

Embedded

Jul. 29th, 2006 | 05:50 pm
mood: productive productive
music: NiN - random assortment

This is the first embedded entry for my new coding LJ, ok so still no code but I only just got this running 5 minutes ago ;)

Content comes last after all :D

This will be visible on Quantum-Thoughts as a sort of meta-content section. basically Quantum-Thoughts is my personal site an where things are actually stored, files, demos, misc funny pictures etc. However Quantum-Thoughts is devoid of content due to me being unhappy picky about what I think others should see of my precious work.

Since [info]lost_in_code, i.e. HERE, is for the further development of the demos, tools and tutorials that will appear on Quantum-Thoughts in the future I think they should really be linked.

Hopefully this will make me actually do something about them both!

Andy

NB: edited: 2006-08-19: Changed link to new http://www.Quantum-Thoughts.net from older http://www.Quantum-Thoughts.demon.co.uk

Link | Leave a comment | Add to Memories | Tell a Friend

A small first step...

Jul. 29th, 2006 | 05:08 pm
mood: creative creative
music: ISIS - Oceanic

This is the coding companion for [info]lost_in_moose.

I'm gonna use this to document the development of the various demo's and tools that i have currently floating around in my mind and various design documents spread about around me.

Somebody wish me luck?

Andy

Link | Leave a comment {1} | Add to Memories | Tell a Friend

Advertisement

Customize