• entries
49
86
• views
34533

Spending far too much time on Empyrean Gate and University. Trading in Sleep for Coffee and Coke.

## Caffeine

After living on Caffeine for the past few days I find that now I can't go to bed early, and I have real trouble getting up in the morning.

I can see why people start drowning their morning with coffee now. Hopefully my brain will wake up enough soon to be able to continue development.

Too many assignments to go though :/

## Documentation...

Well, as I have been going along with documentation quite well, I have found that others have not. In trying to get mp3 support (purely from a testing standpoint) for one App I was working on I found that I completely despise sdl_sound and smpeg... no documentation whatsoever...

Now to see if I can get sdl_mixer working with smpeg instead... I really should just use ogg vorbis instead...

## A barrage of Darcy pictures... as promised!

Well, I had to get some pics up again, since the last one is pretty old. Here we have a collection of 9 pictures taken over the past 3 months. But before I flood the screen with pictures, I should get some actual Developer Notes off my chest first.

I have been running through writing the SRS (Software Requirements Specification for those of you without formal education) for the Game Demo to fully flesh out exactly what I want to achieve from the project (ie, employment in Game Development) and exactly what I require it to do (mainly in terms of a testbed for AI theory).

So, as anybody who has been through the documentation stage numerous times will know, my eyes hurt and my brain is numbed by the sheer boredom of doing so... but seeing as this usually leads to a more productive project I guess the fun is balanced all round.

Now for those pictures I promised:

## Intel Graphics and F****ing Students!

Game Demo
Have been working on the audio sequencing class. This should enable a fair amount of options with regards to dynamic music in game. I hate repetitive music in game, and this should allow for something a little less predictable, but still sounds great. I have had this idea since I played the first Diablo many moons ago, and I got sick of the constant guitar strumming in Tristram...

Real World(tm)
Well, in the title of this entry the F****ing students is actually the 'Flipping' students. All I can say is THANK YOU Intel for your standard Graphics tool install options having Hot Keys enabled... In a domain for a school this is great because Kids can flip their screens whether they know how to or not (accidents happen often) and Teachers have no clue as to what is going on.

Anyway, after doing a bit of registry hacking I have the solution...

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\INTEL\Display\igfxcui\igfxsrvc\resources]
"2706"="N"

The value is either "Y" or "N". Y for Hotkeys enabled, N for Hotkeys disabled. This stops the students from being able to turn their screen upside down, while in the meantime saving the poor sap who's job it is to run around to each machine in a newly installed lab and disable it manually... Can't believe they didn't just create a Ghost Image and deploy it out instead... It's not like I haven't set up Ghost Console to do that in two clicks anyway :)

## Assignment 1!

So, last post (only a couple of days ago I know) was informing you all/myself that I was reenrolling at uni. Well, I have just completed Assignment 1 for STA2300 (Statistics/Data Analysis). Now, this assignment is due at the end of this week. THANKS A LOT USQ! To be fair though, this will be the second week of the semester, though I wasn't enrolled until Thursday last week. That is what you get for enrolling last minute and being dicked around by University Administration.

One problem for the Assignment was that I was doing it last night I was also suffering from perhaps the worst migrane ever, which inhibited my ability to think effectively. Fortunately the Assignment was a fairly easy one to do as it was more about making students read the handbook than actually do anything course related. One thing I have to pick about is that one question was "What is the title of the first message on the Discussion Group". Well, I read the book backwards, forwards, upside down, inside out etc. The answer wasn't in there (not that I expected it to be) but any mention to a Discussion Group, or how to access this was completely absent. I wouldn't normally mind about things like this except that the Assignment states that all answers can be gleaned from the book (or are linked to from the book)

After a quick google search I found the first clue, managed to log in to the appropriate area, and managed to access the Discussion Group. I was in the mind to post up an abusive message, but that probably wouldn't assist with my studies at all.

Ah, the fun of University. I can hardly believe I ever considered going back to the shit-hole.

## Assignments Complete

Assignments have now been completed.

I have checked my overall Accounting %age which sits at 78.955%. Not bad considering that I don't own the text book (and the last assignment required me to use a table of data out of the book... there went about 20% [grin])

Time to use some time to read Magician (again), work on Empyrean Gate, and study for my Exams...

## Music

I added in some stuff to the wiki today on the Music system I had been talking about some months back in this journal. ArchWizard has suggested using FModEx, and I am looking forward to seeing what it can do in comparison to SDL/SDL_mixer and OpenAL. Both of the latter I hated for various reasons. OpenAL is not simple enough to set up and maintain, and SDL_mixer annoyed me with its file streaming limitations.

We had a bit more of a chat about Boozing and Whoring in the game. Seems like it might actually be fun to play :P

## Darcy ... RAWR!

And for everybodies satisfaction a Darcy Rawr!

... and a biggar one ...

Darcy is our puppy, and he has just recovered from some fairly nasty infections. The Vets thought he was going to die (most of the 4 days he was with the Vets they said this). Anyway, he is now terrorizing the house and barking at bigger dogs... very amusing. I should try and get some video up here.

## Nearly Sober...

OK, I am nearly sober after the "Brisbane Game Developers Conference" which consisted of Andrew Russell, Evolutional, Boolean and myself getting together for a few beers and general discussion.

By the time I had to leave things were fairly interesting and the discussion had ranged between GameDev back-end code, Stick Soldiers 3, GameDev teams, Uni, Workplace, Servers, Goatse, and the old Lounge.

Having left at around 6:30pm to catch my bus out of Brisbane back to Toowoomba (after drinking since 12:30pm) I am only just starting to sober up. The challenge is simple; should Oli be at the same drinking table as me in the future I shall endeavour to drink him under the table ;)

I am nearly sober, and shall go to bed now :P

Nearly forgot to mention that a couple of pics are available from http://dwarfsoft.com/GameDev/BGDC/

## Exhaustion

I am almost at exhaustion point. Since exams last semester, I have been running around crazily trying to learn everything for this semester. That includes studying MCSE, Toshiba Procare Training, IBM product training, Custom SBS 2003 Installation Scripts (eg. Exchange Scripting, as the rest is simple), SQL, Java, ERD's, Network Management (from a hopelessly outdated text), etc. The last four being specifically for Uni.

If that weren't bad enough I've started looking for a new job, in the Public Sector... It sure would be good to not be expected to work my ass off for minimal pay for once. Let's hope I can get into a job there within the next month or two and then half of my Todo list disappears.

That way I can use that spare time to get my ass back into gear on Empyrean Gate.

## Releases of Tension

So I was just reading Mithrandirs latest journal entry and I was quite surprised when I started a slight introspection on my own life. I have recently become quite an angry bastard, or at least grumpy might be a better way to describe it.

I think I can put this down to a few reasons:
My parents show favoritism towards my sister, have been eager to help her out financially, talk to her constantly - while I have been left to go it alone and talk to them a couple of times a month. This doesn't bother me in itself, but leaves me feeling somewhat left out.
My mother in law decides when she wants to turn up and live at our house and I have almost no say in telling her to @#$% off (except after she has been there a month). I moved 1200km away from my friends to please my wife, and as such am stuck in a place where I get on with relatively NOBODY (for over a year now). I used to play Indoor Cricket as my relief of tension about 3-5 times a week before I moved. I have not played Indoor Cricket (or any sport) in the 14 months since I moved here I am now studying full time as well as working full time, which leaves me with - no time (or -1*time). My other outlet for frustration used to be during programming. Time contraints now pretty much eliminate that (though perhaps next semester I can do this on assignments - since I am not doing any programming related classes at the moment) Gaming is non existent. I still haven't had any time since I bought Morrowind and NeverWinter Nights however many years ago to actually play them. The Warcraft III Collectors Edition Chest is relatively unopened. Having to care for my dog takes up more time, and my wife now resents that I spend no time with her (despite the fact that she pushed me into finishing uni). Don't get me started on the little things that piss me off at work either :/ Now when I should be blowing off steam by smashing runs or bowling bodyline I tend to rant and shout. Not very good for relationships that, ranting and shouting. I feel like I am in a permanently grumpy mood. If it wasn't for the couple of beers on the weekend with the GDNet guys I wouldn't have seen any friends in over a year. ## BANG! Accounting! Accounting is down, now just Monday and Wednesday of next week for the other two... here's hoping. I also hope that my less than spectacular effort in this Accounting exam actually gets me 50% of the mark. I probably should have spent more time studying. ## Stagnance Empyrean Gate has been in a state of Stagnance of late. Not due to any lack of interest from my part, but more due to a lack of time. That should all change after Monday (in the few weeks leadup to exams) as the majority of assignments will have been completed at that stage. I had 10 hours of sleep over Tuesday Night... because there had been too many 3 hours sleep nights in a row. Then i quickly followed that up with Last Night going to bed at 4am, for another 3 hours of sleep... I can't wait until my uni stuff actually is related to programming, at least then I can DO the assignments in my sleep. [grin] I will try to get onto Empyrean Gate sometime over the weekend if I can finish off those assignments quicksmart! ## Beginning of another year So it has again been some time since my last Journal entry. Work goes on as does family life. My wife and I have a dog now, Darcy, whose picture I now use as my avatar. Work, like I said, goes on... Trying to find time to study for MCSE's and build a game demo up this year. Most of my coding for the previous year was creating Server Disk Health information and predictions on their estimated date of being completely full. On top of this I have finally been able to pull enough information out of Windows XP/2003 to find out Disk Extents information... but enough about server. I have also pondered creating a game in Batch just for the fun of proving it can be done. Perhaps this can be a 4eX entry, as in the first Four Elements competition someone had a batch file as a joke. Anyway, lets hope I can get the Requirements done on the Game Demo first. Hopefully I can find some time to update the journal on at least a 6 monthly basis in future :) ## ANGRY DWARF! So Archy has been discussing Race Relations in his journal. He wants a peaceful world where harmony abounds... but realistically nobody wants to play in hippy fairy land. We want conflict, and thats what Dwarves and Elves do best when in the same room... CONFLICT! ANGRY DWARF! ## Marketing This subject is the bane of my existence. I could handle Statistics and Accounting with no problems. There is nothing creative that has to be done with those numbers. But Marketing... Sheesh. First I have to search for heaps of information on market segments, growth etc, and consumer spending in particular areas. The only problem with this is that most of that information is owned by (you guessed it) marketing companies, and they are willing to give it to me for a meagre US$1300 (hardcopy) or US\$3900 for PDF. How kind of them...

And of course now my assingment looks great with all these (assumed) tags in it because ther is no relevant data. Surely the universities should be providing mock data in these situations if they expect students to waste their time searching for non-existent data (or unrealistically priced data)

## Now for Code and a Rant

So, what exactly is with VBScript and its useless implementation? Why can't I have integers larger than 32Bit, or more to the point, why can't they be 64bit at LEAST?!

So, I know that some people are going to ask why I am using VBScript at all. VBScript happens to make a lot of sense simply for the way it can be used to interact with Active Directory on Domain Controllers, and the simplicity of making WMI calls. Plus, VBScript is so easy to start using and has a lot more immediate use than programming, and a wider feature set than Batch.

So I come to start developing a script that is checking for changes in drive sizes of Dynamic Disks and possible changes to the configuration of Extents within Partitions, and I can't compare two numbers returned from WMI or the DiskExt.exe program (do a search on the net, the most USEFUL thing I found in regards to disk extents for Dynamic Disks).

So I basically had to write my own string math functions (Addition and subtraction).

So here is that code, available for those who want it, those who need it, and those who are interested in it.

' Cleanup
num1 = Trim(num1in)
num2 = Trim(num2in)

if num1 = "" and num2 = "" then
WScript.Quit
elseif num1 = "" then
elseif num2 = "" then
end if

if Asc(Mid(num1,Len(num1),1)) = 13 then
num1 = Mid(num1,1,Len(num1)-1)
end if
if Asc(Mid(num2,Len(num2),1)) = 13 then
num2 = Mid(num2,1,Len(num2)-1)
end if
if Asc(Mid(num1,Len(num1),1)) = 10 then
num1 = Mid(num1,1,Len(num1)-1)
end if
if Asc(Mid(num2,Len(num2),1)) = 10 then
num2 = Mid(num2,1,Len(num2)-1)
end if
if Asc(Mid(num1,Len(num1),1)) = 13 then
num1 = Mid(num1,1,Len(num1)-1)
end if
if Asc(Mid(num2,Len(num2),1)) = 13 then
num2 = Mid(num2,1,Len(num2)-1)
end if

if num1 = "" and num2 = "" then
WScript.Quit
elseif num1 = "" then
elseif num2 = "" then
end if

'fix an errar
if Len(num2) > len(num1) then
num1 = "0" & num1
end if
if Len(num1) > len(num2) then
num2 = "0" & num2
end if

j = 1
p = Int(Right(num1,j))
q = Int(Right(num2,j))
result = p+q
carry = Int(result) \ 10
result = Int(Int(result) mod 10)
if Carry 0 then
num1 = StringAddition(Mid(num1,1,Len(num1)-1), carry) & result
end if
if Len(num1) > 1 Then
else
end if
End Function

Function StringSubtraction(num1in,num2in)
' Cleanup
num1 = Trim(num1in)
num2 = Trim(num2in)

if num1 = "" and num2 = "" then
WScript.Quit
elseif num1 = "" then
StringSubtraction = num2
Exit Function
elseif num2 = "" then
StringSubtraction = num1
Exit Function
end if

'the following fixes newlines in the input
if Asc(Mid(num1,Len(num1),1)) = 13 then
num1 = Mid(num1,1,Len(num1)-1)
end if
if Asc(Mid(num2,Len(num2),1)) = 13 then
num2 = Mid(num2,1,Len(num2)-1)
end if
if Asc(Mid(num1,Len(num1),1)) = 10 then
num1 = Mid(num1,1,Len(num1)-1)
end if
if Asc(Mid(num2,Len(num2),1)) = 10 then
num2 = Mid(num2,1,Len(num2)-1)
end if
if Asc(Mid(num1,Len(num1),1)) = 13 then
num1 = Mid(num1,1,Len(num1)-1)
end if
if Asc(Mid(num2,Len(num2),1)) = 13 then
num2 = Mid(num2,1,Len(num2)-1)
end if

if num1 = "" and num2 = "" then
WScript.Quit
elseif num1 = "" then
StringSubtraction = num2
ExitFunction
elseif num2 = "" then
StringSubtraction = num1
ExitFunction
end if

If Mid(num1,1,1) = "-" and Mid(num2,1,1) = "-" Then
StringSubtraction = StringSubtraction(Mid(num2,2,Len(num2)-1),Mid(num1,2,Len(num1)-1))
Exit Function
ElseIf Mid(num1,1,1) = "-" Then
Exit Function
Elseif Mid(num2,1,1) = "-" Then
Exit Function
End If

wib = WhichIsBigger(num1,num2)
if wib = 2 then
StringSubtraction = "-" & StringSubtraction(num2,num1)
Exit Function
end if

'fix an errar
if Len(num2) > len(num1) then
num1 = "0" & num1
end if
if Len(num1) > len(num2) then
num2 = "0" & num2
end if

j = 1
p = Int(Right(num1,j))
q = Int(Right(num2,j))
result = p-q
if (result then 'and (wib 2) then
carry = 1
result = result + 10
end if
result = Int(Int(result) mod 10)
if Carry 0 then
num1 = StringSubtraction(Mid(num1,1,Len(num1)-1), Abs(carry)) & Abs(result)
end if

if Len(num1) > 1 Then
else
end if
End Function

' Works out which integer (stored as a string) is larger
' this is used because the large numbers we are using are not capable of being stored
' in conventional VBScript Data Types
Function WhichIsBigger(num1, num2)
WhichIsBigger = 0
if Len(num1) > Len(num2) then
WhichIsBigger = 1
elseif Len(num2) > Len(num1) then
WhichIsBigger = 2
else
for i = 1 to Len(num1)
if (Int ( Mid (num1, i, 1) ) > Int ( Mid (num2, i, 1) ) ) then
WhichIsBigger = 1
i = Len(num1)+1
elseif (Int ( Mid (num2, i, 1) ) > Int ( Mid (num1, i, 1) ) ) then
WhichIsBigger = 2
i = Len(num1)+1
end if
next
end if

End Function

## The Wiki Wiki Wild Wild Web

Well, it appears that my current Collaboration with ArchWizard has been Outed. So I have been trading in sleep for work. I wouldn't have said that it was a Baldurs Gate/NWN clone, because I couldn't hope to put in as much technical skill as NWN has, but I certainly hope to get something similar to a Baldurs Gate game finished (well, in terms of the game, not the content).

Additionally, I announce the release of The Wiki of RPGs. This is the long awaited wikification of that tremendously outdated document I wrote, The Future of RPGs. Now with some community help it can once again be considered relevant and useful to todays game developer generation.

Feel free to email off for an account, I just wanted to make sure there wasn't going to be any more defacement of the wiki by some unnamed Tiberians ;)

## Ignorance.

I simply can't believe some of the absolute rubbish that is required in assignments for subjects like Marketing.

Perceptual Mappings, I mean seriously! Sure, draw pretty graphs to make the mumbo-jumbo appear scientific, although the same conclusions could be gleaned without the stupid 2D graphing of how customers percieve your product. Ridiculous.

If that weren't bad enough, I have Statistics on one hand telling me that I shouldn't draw conclusions from data, because you can't just prove causation because the data proves a link. But in my marketing class they are simply throwing rules like this out of the window and running with whatever hype they can find.

I feel like burning marketing down, but lucky for them I am an external student. *sigh*. It is so funny how one department can just ignore the basic principles of another that are teaching to students in the same semester at the same time...

I wrote up a Game idea for a High School game, but this won't commence until after Empyrean Gate (and 4e5 for that matter)

## Skill Trees

It's amazing what you can accomplish at 2am, when you think that your brain is completely asleep you can come up with some surprisingly interesting ideas.

I will check back on what those ideas were when I wake up tomorrow morning. In the meantime, I might see if I can have some more creative ideas to put into the Skill Trees.

## Systems Engineer

So I am now sitting here at 11pm on a work night, trying a little to get a business working, and also trying to learn whatever I can about Windows Server 2003, and more importantly Group Policies and Active Directory.

I somehow managed to land myself a fulltime job doing server builds and maintenance for Schools here through a pretty good company. What I lack at the moment is the skills they require, but I am happy to say I am learning the ropes, and I am glad they were desperate.

This is still a long way from the dreams of programming I had starting about 12 years ago, but I guess we all have to be content with what we get to do in life, and my job is pretty good now. At least I wont get put off programming from being forced to do it day-in day-out, and can then use income and free time for future pet projects.

I seem to be working 24 hours a day 8 days a week at the moment as I have the captioning contract stuff coming up in Brisbane over the next week when they need some hand-holding while they go live. This is a being a little crazygonuts with my schedule and I am just gonna have to ride it out until I have time to swim in my pool.

Did I mention that? I have recently moved from Canberra to Toowoomba (a good 13 hour drive it was) and am now living here with my wife (Philana) in our lovely 3 bedroom house and Pool. We have left the Appartment in Queanbeyan behind (currently tennanted) and moved on to bigger and better things. The only downside is the huge amount we are now indebted to the financial institutions for our mortgages, but I guess you can't just buy a house outright without that kind of commitment (or lottery winnings anyway).

Hope somebody reads this one day, someone that isn't me that is :P

## SDL_Mixer and WinLame saved my life...

Gotta love SDL_Mixer for ease of use and documentation.

Great place to start and Where to get the stuff

Wasn't too difficult to rebuild the sdl_mixer libraries, just a matter of adding the right include and lib directories for SDL, then for building the project remembering multi-threaded dll's settings. Yay for Google

## Oh my... Overtime is a killer..

I have been working pretty hard over the last couple of weeks on a Server that seems to have had a spike take down every component in it. The server still runs but I am unable to create RAID arrays in any way shape or form. I am still awaiting a replacement motherboard, but this has been far more trouble than I had anticipated. I have put in a fair bit of overtime including nights, mornings and saturdays to get something resembling the server together - and KEEP it together.

On the other hand I managed to get some time to myself yesterday and the day before. I managed to get some OpenAL with Ogg sample code up and running (after a fairly nasty problem with my alut.lib). So I now am looking at crossfading ogg streams now that I can mix them myself.

And thank god for being able to use two different ogg streams simultaneously! Thanks for NOTHING SDL_mixer.

## Accounting

I just completed an online test for accounting last night. Wouldn't have been such a big deal had I done any previous accounting study in my life. So apparently this online exam takes about 1.5 hours for students who are enrolled in the course to complete. Well, I started at 8:00pm, and I finished at about 1:00am. 5 hours with all that study and searching.

So after that I ended up with 92.92%. Not bad, I thought that the last 5 (out of 45) questions were suspect because my judgement had gone to hell by then... but looking back over the answers I gave I found the inconsistencies in the first 10 questions... And they were simple errors in calculation. Don't you just hate that! ;).

## One of those weeks...

It has been one of those weeks where everytime you try to get something done, something stands in your way. I have found on my new 300GB HDD none other than Bad Sectors. Not so much of a problem as it is still under warranty, but considering that my Boot partition has gone off wandering a number of times now, NOT HAPPY JAN!

So I have now ghosted my boot partition and all its contents to a 40GB HDD and am working on transferring all my data off the 300GB drive.

But in the meantime I have installed Baldurs Gate II and NeverWinter Nights again. I have also pulled out my old savegames for the both of them. I have even managed to get both of them running in windowed mode on seperate monitors (however a GeForce MX440 on PCI doesn't handle running games at 1024x768 quite as well as I would like :P). The AGP card can get nice high framerates, though the PCI one gets around about 10FPS on NWN. Though that isn't so bad, because I can always play it on the other monitor if I really want to :P.

I have a screenshot of having them both up and running here, but it is a monster picture, so 56k users beware.

Hopefully I will get some time to have a proper look at openAL as SDL_mixer didn't have a few features I was looking for...