Kexec

It looks like kexec is quite usable, which is nice to know. Now I won’t have to reboot to apply that nagging kernel upgrade on my alarm machine. Eh, even then it might not be worth it.

Published
Categorized as Software

Homework

I hope I’ll be able to learn my lesson this time: if it’s assigned more than one in advance, it’ll take more than an hour to do it. I stayed up until 1:30AM to finish an econ essay, and I will have Spanish vocab studying, a Brit Lit essay, and whatever else I get today for after school. Bleh.

The Left 4 Dead demo is set to release sometime today, and the Valve server admin mailing list is spazzing out because Valve announced there will no longer be a server browser in Left 4 Dead – servers will be added to a pool of available ones, and people will be matchmake’d into them. The only control over settings server admins will have is the MOTD and a banner image. They’ve said they’re taking the piles of feedback into concideration, though, so hopefully a traditional server browser will be included. The reason they get loads of servers for only the cost of software distribution is because people get to put up a server for themselves, and they control it, call it home, and are able to possibly get a better experience if they upgrade their servers. In a pure matchmaking setting? Doesn’t seem like it. I want to be able to pick the server I play on.

Server

All the BOINC Zombies are now running Rosetta@home. I figure even if we do find aliens, what will we do? How would we communicate? I mean it’s taken us this long just to FIND them. Would they even still exist by the time we got and found some of their radio transmissions? Would they be friendly? Advanced? Then there’s the question of whether they would even be using radio waves or something different.

Also the Zombie Master dedicated is now installed, and later today I might also switch over the web server. I might want to install Mani Admin Plugin, too.

Published
Categorized as Software

Cupcakes

I learned about the diference in dictionary definitions of cupcakes and muffins today.  Cupcakes are made of cake and cooked in seemingly anything cup-shaped, whereas muffins are made of bread and cooked in cup-shaped pans.

I’m waiting on the hole in the wall for the LAN. Hopefully a friend can come over and help. We haven’t been very successful. Because the router has been crashtastic enough for me to notice, I may replace the router with a P3 box with two ethernet cards connected to a 5-port switch. I don’t know if this will cause unbearable latencies, but it does mean that I will probably be able to do fancy DNS things, a downside being I’ll probably have to figure out how to modify ZoneClient’s search keys so that it works with whatever I use for router software.

Only 14 days until Ubuntu Intrepid Ibex!

I’m now running Rosetta@Home on my rig at mom’s. The zombies are still seti.

Oblivion

Oblivion still exists. Sadly Bethesda doesn’t seem to have improved the engine much for Fallout 3 – the characters still move jerkily, and the voiceacting still leaves much to be desired.

I finished the Theives’ Guild quest. It was pretty epic and the ending gives you very, very nice things. I’m also in the Dark Brotherhood now, and the quests are kinda depressing. OOO upped the amount of gold that was required to be fenced to a whopping 15,000! I had to go down lines of shops and houses stealing anything worth money that I could get to. I got it, though. There are lots of vistas – I mean that in the sense of breathtaking view, not in an operating system full of fail – to catch one’s eye.

In other news, I’m waiting for the impending school to happen, I’m working on a HL2DM map of my house, and I have confirmed that Oblivion uses nav nodes. Which is bad. Also, I called Cavalier (for C2) and a high-level tech was able to confirm that they don’t do any filtering or blocking. W00T!

EDIT: Thanks to Ryan, I am now able to begin moving my machines downstairs into the nice, cool basement! ^^ I am happy! He helped by putting an end on the ubercable that comes down from upstairs where the Intertubes come in.

Ubuntu UTF

I was having trouble getting my Grandma’s Ubuntu Hardy box to read a CD that my uncle gave her. It was complaining about being unable to mount a UTF volume. Google to the rescue. After a page full of ultimately unsuccessful Ubuntu forum posts, I came across this post. It said largely the same thing as a post on the Ubuntu forums that I found, but it included a crucial patch. Following these directions, the CD mounted – first try. Hooray!

Stupid Vista. According to the post, it doesn’t follow UTF standards. Well, that problem’s over with now.

Published
Categorized as Software

More Coding, and 17th Birthday!

Well, I’m 17 now. Those years just keep coming. If I have any brilliant insights about age, I’ll let you know.

Now, on to the interesting stuff. I now have a saving function that saves the position of the win area as well as information about the player. With help from my instructor, my collision detection only checks for collision with crates that are relatively close to it. I had the idea when I noticed that when I triggered noclip, my framerate got much better, and as expected this feature improves framerate greatly. With the improved saving I can now do level editing entirely within the game. I just need to feed it a base file full of crates with a location for the win area, a starting position and direction, and gravity and jump velocity settings. Given that crouching and jumping work great now, I hope to finish with sound. When I only had one crate, I could create a sound instance specifically for that crate. Now that I have more like 300 to 350, I can no longer do that. I’ll make a global sound-maker that is passed the location where it needs to make a sound, with a capacity for around four simultaneous sounds. This finite number (as far as I know, it’s not four specifically) of possible concurrent sound sources (mixing would help, I’d think) can be noticeable in some games where there’s loads going on – some sounds do not play. Well, back to coding to the beat of Basshunter!

Maze Progress

I still haven’t fixed that crouch bug, but hopefully I’ll still have time to do so. I now have level transitions, and it will replay the last level if it can’t find a next one. There was a bug in that code where I only declared one ifstream, and on Linux when I used it multiple times it worked just fine, but on Windows it wouldn’t actually read the file. It turned out that Windows needed a fresh ifstream every time, which was pretty easy to do once we figured it out. To sum it up: Windows will let you use one ifstream multiple times, (yes, I did the close the file) but it won’t actually open more than one thing, and it’ll tell you it did. I say Windows because it works perfectly on Linux. 🙂

Published
Categorized as Software

Maze

My maze demo for CAEN is going well. I now can edit map files live in-game. With the help of Mitchell, our instructor, I now use a vector instead of an array to store crates, which allows for the deletion of individual values by swapping it to the end and resizing the vector so it no longer holds the now-null value. My big glitch at this point is that although going down into a crouch works fine, and even halves your move speed as it should, it is impossible to come out of a crouch without jumping.  While trying to uncrouch while not jumping, the negative z-axis velocity goes through the floor into the negative thousands. If it gets high enough, depending on the framerate, it gets to the point where it can fall entirely through a crate in a single tick – and fall through. I hope I can get rid of that by Friday. I like jumping around, and on a related note added a feature so you must hit the jump key each time you want to jump and can’t just hold it down. I do this by making the keypress routine only setting m_controls.jump to true when it isn’t already, and it only gets set to false when you’re on the ground while it calls m_player.jump(). If anyone’s interested I’d be happy to release my source. I’m using the open-source Zenilib library, which is written by my instructor.

Published
Categorized as Software

Coding, and Bootable CDs

The coding of the final project is going well. I’m adapting our first 3D project – a crate with collision detection that you can jump on – to a crate maze with the addition of crouching, illusionary crates, and external level files. There is currently an anomaly with collision detection where, because of the library I’m using, the player is shaped like a capsule, which is a line segment with a radius coming out of it in all directions. This means that it’s possible to partly fall off an edge and not be able to get back on except by jumping. The instructor has told me that I can combine a box and an infinite column to get the cylinder I want – something he has not yet implemented. I may yet do that, but I should finish the other features first. One interesting bug that I ran into, which seems to be mostly fixed now, is that if I jumped into the bottom of a crate and held jump button, I would not fall, and it would think I was on the ground, which would allow me to float around on the bottom of the crates if I continued holding the button. If I floated off the edge of a box, I would fly upwards. This was because it would check if I was on the ground if, after minusing 150 for gravity, applying the z axis was invalid. If this move was invalid, it took it to mean that we were on the ground. If the velocity was upwards, running into the bottom of a crate would mean this was true. I made it so it checks to see what the velocity is relative to zero. This is fixed, but an upper collision does not absorb upwards momentum, which looks weird. I hope I’ll be able to fix this one too, probably by making a statement checking to see if an upward move is invalid and killing upward momentum if that’s the case.

The server was down due to my own fault once again. I applied updates remotely, and one of them was a kernel upgrade. I had to reboot so it could load the new kernel, and avoid potential module problems if the latest modules are not loaded. Even though I checked after I had run the reboot command, I guess it had been unmounted by that time, as I had left a bootable CD in the drive, which the machine happily booted into. My mom was nice enough to take out the CD and reboot it for me. I really should change the BIOS boot order to hard drive first, but I’m hoping I won’t have to use this Pentium 3 box as a server for much longer.