Intel sponsors gamedev.net search:   
The Unofficial 'Empyrean Gate' JournalBy dwarfsoft      
Game Programming Alchemy - The Future of RPGs Wiki - ArchWizards Journal (for BGC Updates)
University
  • Semester 1 2007
  • Semester 2 2007
  • Semester 2 2008

  • eBusiness Assignment 1
  • eBusiness Assignment 2
Project BGC
  • Design document
    • Story
    • Ingame Mechanics
    • Combat System
    • Magic System
  • Technical Specification
Other Life Related Stuff
  • MCSE Exam 1 (70-270)
  • MCSE Study (Exam 2 70-290) booked: 2008-07-09
  • Get Degree (1 class remaining)
  • Earn more money (thankyou 1xNew Job + 2xPromotions)
  • Have kids
Legend - To do - In Progress - Done - On the Backburner

Monday, January 30, 2006
Now why is it that when you want to be able to fade out one stream and fade in another, that SDL_mixer says "thanks for the new file" and cuts short the old to start up the new. I would have thought it possible to have ogg streams running on different channels, but as yet have been unable to actually stream more than one file. Instead I have to load both files as Chunks (which can cause a slight delay during loading, especially of larger files) and fade the channel that it is operating on (not particularly difficult).

There must be some implementation of SDL_mixer which allows crossfading of streams... surely...

Comments: 0 - Leave a Comment

Link


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


Comments: 2 - Leave a Comment

Link


Just had to post this after the previous few comments...

MP3 Licensing is teh suck
Long Live OGG

WinLAME - MP3->Ogg Conversion (thanks to Rob Loach)

Although mp3 licensing is not such a problem for games of less than 5000 copies, it is still some obvious problems when you start to reach close to those numbers (I wonder how they count distributions, if it is shared amongst friends etc do each of those copies count as one copy?)

Comments: 0 - Leave a Comment

Link



Sunday, January 29, 2006
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...

Comments: 6 - Leave a Comment

Link



Tuesday, January 24, 2006
So, I was getting on with development of the Game Demo, and doing quite nicely with it, until such time as work intervened.

So everything had gone wrong. I had to rip up half the driveway and repair some pipe-age. Then the pool needed some attention. So far in the 11 months we have owned our house we have been swimming less than 10 times, and the pool has been available for less than a month, either due to cold weather, or broken equipment. So after some more fixing I am now working my ass off to clean the pool filters every few hours (when I am not at work) to clean the scunge off them.

... Hopefully this weekend I can actually use the pool, and get more on the Demo done ...

Comments: 0 - Leave a Comment

Link



Thursday, January 19, 2006
So I have started playing with SyncToy for synchronizing files across computers/folders (in particular to my USB key which gets utilized so much as a Ghost Boot Device that it is common for things to get totally screwed up). One little gripe I have with synctoy is that if you schedule it, I find that if I want it to run through a user account that is not logged on (ie, background uninteractive) it tends to fail out. If I schedule it to run through my logged on user account then it likes to take poll position on the screen.

Even after running it through a VBScript to run in the background hidden, or minimized it would also fail. Additionally I have been having problems running it on my old K6-2 333MHz (download machine/webserver/ftpserver) I keep getting JIT Debugger messages. Maybe its time to reinstall dotnetfx... the second :/

and now for a word from our sponsor ... Project Game Demo ...
As a minor update, I continue to write the SRS for my Game Demo. As everybody could have guessed I am doing a small Isometric style game with emphasis on the story driven engine I had been developing some time ago (wow, has it really been 3 years?)

As for SRS, I really have to say I dislike documentation writing, though it has already given me insight into what I hope to achieve that I hadn't previously thought through. Indeed Documentation does make things clearer in the form of requirements that the project must adhere to, and for each feature what outcomes are to be expected. This is a great guard against feature creep (and aren't we all a victim of that at some time or other?)

Comments: 0 - Leave a Comment

Link



Monday, January 16, 2006
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.

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

   if num1 = "" and num2 = "" then
      WScript.Quit
   elseif num1 = "" then
      StringAddition = num2
   elseif num2 = "" then
      StringAddition = num1
   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
      StringAddition = num2
   elseif num2 = "" then
      StringAddition = num1
   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
         StringAddition = TrimLeadingZeros(StringAddition(Mid(num1,1,Len(num1)-1),Mid(num2,1,Len(num2)-1)) & result)
      else 
         StringAddition = TrimLeadingZeros(carry & result)
      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
      StringSubtraction = "-" & StringAddition(num2,Mid(num1,2,Len(num1)-1))
      Exit Function
   Elseif Mid(num2,1,1) = "-" Then
      StringSubtraction = StringAddition(Mid(num2,2,Len(num2)-1),num1)
      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 < 0) 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
         StringSubtraction = TrimLeadingZeros(StringSubtraction(Mid(num1,1,Len(num1)-1),Mid(num2,1,Len(num2)-1)) & Abs(result))
      else 
         StringSubtraction = TrimLeadingZeros(Abs(carry) & Abs(result))
      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



Comments: 2 - Leave a Comment

Link


So I got a couple of short Videos (mov's) of Darcy running around. Seems like this is turning into the Darcy fan club journal.

I'll probably start posting code up from some of my recent work (well, over the past year of scripting, coding and ideas)

Movie 1 and Movie 2

Comments: 0 - Leave a Comment

Link



Friday, January 13, 2006
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:


Comments: 6 - Leave a Comment

Link



Thursday, January 12, 2006
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.

Comments: 4 - Leave a Comment

Link


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 :)

Comments: 3 - Leave a Comment

Link


All times are ET (US)

Dwarfsoft.com | The Future of RPGs

ANGRY DWARF!
 
S
M
T
W
T
F
S
1
2
3
4
5
6
7
8
9
10
11
14
15
17
18
20
21
22
23
25
26
27
28
31

OPTIONS
Track this Journal

 RSS 

ARCHIVES
July, 2008
November, 2006
September, 2006
June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
March, 2005
September, 2004
August, 2004