Intel sponsors gamedev.net search:   
IfThen Software LLCBy VBStrider      

Friday, January 15, 2010



News

The IfThen Software LLC homepage has been given a facelift. Head on over to http://www.ifthensoftware.net and check out the new site.


From the Programmer
Written by Invisible

With the bulk of my coding duties finished, I have been able to spend the last week relaxing. Unfortunately, this means that my article in this newsletter issue will be lacking in content. What programming I have done, I can't discuss since it relates to features in "Loradon 3.0" that we haven't announced yet. I will say one thing though; working on a website rather than computer software has been fun. I hope you all like the new ITS homepage. If you have any thoughts, please leave a comment.


Artist's Easel
Written by GreyKnight

iScribble Sketches #17

(Click to enlarge)



Community Spotlight
Written by Jay

With the "Loradon 3.0" Preview being so close to completion, several players from ITS's older game Loradon Online have come back to the forums to express their long-held excitement for the game. A topic named "Duuuudes! 97%!" was created by Vayne, a "legend" of Loradon Online, in order to show just how close we are to this grand new game's release.

Comments: 0 - Leave a Comment

Link



Friday, January 8, 2010



News

Overall progress for the Loradon 3.0 Preview has reached 98%!
www.ifthensoftware.net/loradon_online/progress/


From the Programmer
Written by Invisible

I spent most of the past week brushing up on my HTML/CSS/javascript knowledge since we are working on a new site for IfThen Software. The site will use our Facebook page and my Twitter account as news sources, rather than have its own. However, while the widget provided by Twitter can be customized, the Facebook widget is fairly static. After testing the site, we decided that the widgets made it look ugly, so I started researching ways to get the Twitter and Facebook status without using their widgets.

Twitter provides an easy way to do this; visiting the address http://twitter.com/statuses/user_timeline/<name>.xml returns an xml document which includes all of the information for each status update (up to a max). Using XMLHttpRequest (a core part of AJAX) I can visit that site and parse the xml that it returns, displaying it in whatever format we need it in.

After unsuccessfully trying to find a similar link for Facebook, I started looking into alternatives such as parsing the Facebook page itself for the status. Doing so would not have been pretty. Luckily for me, johnhattan of #gamedev on AfterNet pointed out that the page has an RSS feed which I could use just as easily as the Twitter link.

Thus armed, I started work on the actual code to download and parse the xml returned by those two links. XMLHttpRequest makes this a very simple task; you just tell it where the page is, then wait for it to return the result. However, no matter what I tried, it kept returning a status code of 0 (200 means success, 0 means it didn't even get to the point where it could return a failure code). After looking around the internet for a solution, I finally found the cause; apparently the browser does not allow you to access a remote site using XMLHttpRequest. With this information in mind, I created a simple php script which accesses the Twitter/Facebook XML document and returns it. As far as the browser is concerned, it is connecting to the same website.


Artist's Easel
Written by GreyKnight

iScribble Sketches #16

(Click to enlarge)


(Click to enlarge)



Community Spotlight
Written by Jay

Just a week ago RageMan1990 decided to quit SAO and give his account information to the public. This came as quite a shock to the community because of his high level and seemingly great interest in the game. RageMan1990 will be missed by some, and disregarded by others.

Last week, InvisibleMan released information that a new ITS website is in the making. Many players and loyal fans had many questions about what the new site would look like, but to no avail; they were told to wait until it's released. We will do just that; and we look forward to the amazing new look.

Comments: 0 - Leave a Comment

Link



Thursday, December 31, 2009



News

Stick Adventures Online version 1.2.4 has been released! This version adds a ping display to the lower right corner of the game window.

Overall progress for the Loradon 3.0 Preview has reached 97%!
www.ifthensoftware.net/loradon_online/progress/


From the Programmer
Written by Invisible

A general warning to those of you who are porting from Direct3D8 to Direct3D9: VSync is disabled by default in D3D8, but enabled by default in D3D9. Naturally, this will cause Direct3D to stall and will force your program to be capped at 60FPS (probably). While this is probably not a problem in some cases, it can be very confusing if you are comparing FPS results between the two versions. I was quite puzzled when one of our older games was running quicker than a new one.

The font system is finally at a stage in which it can perform all duties required of it. The way in which it handles varying font sizes and styles is clunky at best, but it works well enough to create a demonstration video.


If you are having trouble with grainy sound coming from DirectSound, make sure that you do not have an old version of it's DLL anywhere that the OS might find it. After 6 hours of debugging, I finally tracked down the problem to being caused by an old dsound.dll file in the "Debug" output folder. I most likely put it there originally to make use of a debug version of DirectSound.


Artist's Easel
Written by GreyKnight

iScribble Sketches #15

(Click to enlarge)


(Click to enlarge)



Community Spotlight
Written by pifreak

This has been an anxious few years for many of us in the community; waiting for the Loradon 3.0 preview to be released. It is interesting to see all the work that has been finished and all the features which will make the upcoming game more enjoyable.

In the Stick Adventures Online forums, SadisticusMaxim has posted a comic with the underlying theme of forum etiquette played out with analogies. The title is "The Supreme Generation" and the description or subtitle: "The Battle is Over, but the War is Never-ending." This fan-made comic has inspired some light-hearted comics to follow, such as the spoofs jay and miotatsu created: "The Supreme Parody".DarkTrinity also posted a comic titled "a Dark Comic" with an SAO setting.

There has not been much activity in the Loradon Online section of the forum, but there are a lot of fun games and discussions going on in the Off Topic section. And, as always, IRC is active and it is easy to join even if you don't have an IRC client. Remember that you can visit http://irc.ifthensoftware.net/ and start chatting with the community and developers! Happy New Year to everyone out there!

Comments: 2 - Leave a Comment

Link



Thursday, December 17, 2009



News

There is no news to report this week.


From the Programmer
Written by Invisible

Earlier this week I realized that there was a problem with the clock system in the engine. In order to time various events, the game uses a "clock". The state update code would use either GetTickCount() or QueryPerformanceCounter() (indirectly through a system that wrapped them). This in itself works fine, but the problem occurs due to the way the state is updated. I use a fixed timestep, which means that when the state is updated, it is being updated for a specific point in time which is most likely in the past. So the counter provided by the previously mentioned functions will be slightly incorrect for the time that the state is updating for. The problem gets worse after a "lag" spike (the program freezes for a certain amount of time for whatever reason), since the main loop will attempt to catch up and update all of those missed states at once.

The problem has been fixed by using a 0 based counter that is set to the correct time for the update that is currently being performed. The counter represents how many milliseconds are between the start of the program and the current update. The update code can access this counter using a function supplied by the core system. This also ensures that there is only one counter value throughout the update, which was not true before.


Artist's Easel
Written by GreyKnight

iScribble Sketches #14

(Click to enlarge)


(Click to enlarge)



Community Spotlight
Written by Jay

This week, an SAO player known as RageMan1990 suggested that a boss-like monster be added to SAO in the next update. Though it's not an original idea, the thought of having a boss brought along a discussion of what a boss would be like. Whether or not a strong boss creature is added in the future, many players will always have hopes that one will one day appear.

Comments: 0 - Leave a Comment

Link



Thursday, December 10, 2009



News

There is no news to report this week.


From the Programmer
Written by Invisible

After struggling with manually keeping track of system dependencies and which systems need to be rebuilt due to changes in other systems, I have found a way to automate this.

Microsoft Visual C++ 2005 has a couple tools which make keeping track of a complex engine much easier.
  • Project Dependencies - Using project dependencies in a solution, you can set the order in which the projects are built.
  • Custom Build Step - Gives you the ability to copy the header files required to use the engine into the output directory when the engine is built. Additionally, this makes your header files part of the build process, meaning it will check if they need to be copied to the output directory or not, and cleaning the project will also clean out the headers from the output directory.

I'll give a short tutorial on how to set this up. This tutorial assumes that there is an "include" folder located in the same folder as the solution which will contain the header files for the engine once it has been built.
  1. First off, you need to create the engine's solution and add the system projects into it (right-click the solution in the Solution Explorer and select "Add->New Project" or "Add->Existing Project").
  2. Right-click on the first project in the Solution Explorer and select "Project Dependencies..." (this option will only appear if there are multiple projects in the solution).
  3. In the window that appears, place a check-mark next to each project that this one depends on.
  4. Repeat steps #2-3 for each project in your solution.
  5. In the Solution Explorer, right-click on the first header file that is required to use the engine. Select "Properties" from the menu that appears.
  6. In the Configuration drop-down box, select the first configuration that you want the automatic header output to apply to (probably "Debug").
  7. In the tree to the left, select "Configuration Properties->Custom Build Step->General". The header file we have selected is called the "Input" for the custom build step. We want to copy this header file from its current location into the output "include" folder. So make use of the "copy" DOS command by placing this into the field labeled "Command Line": copy "$(InputPath)" "$(SolutionDir)include\$(InputFileName)"
  8. Now we need to tell MSVC++ what file the command line that we entered previously will be outputting. MSVC++ checks if the output is an older version than the input, and runs the command line if it is (or if the output doesn't exist). Place this into the field labeled "Outputs": $(SolutionDir)include\$(InputFileName)
  9. Repeat steps #6-8 for each configuration that you want this to apply to. (probably just "Release" after you finish "Debug").
  10. Repeat steps #5-9 for each header file in the solution that is needed to use the engine.



Artist's Easel
Written by GreyKnight

iScribble Sketches #13

(Click to enlarge)


(Click to enlarge)



Community Spotlight

Sorry, there isn't a community spotlight article this week.

Comments: 0 - Leave a Comment

Link



Thursday, December 3, 2009



News

IfThen Software's servers are back online, after last week's long downtime due to maintenance. Sorry for any inconvenience that the downtime caused.


From the Programmer
Written by Invisible

I spent most of last week reinstalling our dedicated server, so I don't have much to say on the topic of programming.

I am currently working on getting the font and text systems finished. So far, the font system works well enough for raster fonts, and the text system supports basic text storage and style changes. Getting rich text to work will be fun, and will involve creating some sort formatting system, possibly similar to HTML. I'll give further details when I get to that point.


Artist's Easel
Written by GreyKnight

iScribble Sketches #12

(Click to enlarge)


(Click to enlarge)



Community Spotlight

Sorry, there isn't a community spotlight article this week.

Comments: 0 - Leave a Comment

Link



Thursday, November 19, 2009



News

No news to report this week.


From the Programmer
Written by Invisible

The file I/O system will provide classes for I/O operations on various file formats. For example, there will be a class that handles reading/writing from/to an INI file. This class will make use of a basic file I/O object that handles the details of reading and writing bytes from/to the file. The INI handler doesn't care where the data is, so it is possible for data to be in memory, on disk, or even on another computer.

The system will also support archive formats, allowing multiple files to be stored in the same file. This will also allow a more advanced archive system, similar to a file system, which has directories and file names. The entire archive could be encrypted, as well as individual files within it.

If all game-data is stored in an archive, a game could (in theory) consist of only an executable and the data file. However, there is a disadvantage to doing this. As an example, if a particular API to decode an audio file permits no way to give it the data directly rather than a filename, the audio file must reside in the normal file system. You could get around this by unpacking the audio files into the file system when the game starts, and then deleting those files when the game ends, but then you run the risk of cluttering these files on the user's hard drive in the event of a crash, not to mention longer load/shutdown times.


Artist's Easel
Written by GreyKnight

iScribble Sketches #11

(Click to enlarge)



Community Spotlight
Written by Jay, Dead9000, and Invisible

This passed week, InvisibleMan made some improvements to the SAO server, and Acaceol has fixed various things in HAL (the SAO chat/moderator bot). The change to the server got rid of a bug known to the community as the "pit glitch" (RIP). A couple problems with the banning system were fixed, and various small things were done to the moderator commands. The swearing filter has also been upgraded, and will now block the message and issue a private warning. Hopefully this encourages players to not swear. As far as HAL is concerned, some changed were made to moderator commands, moderator-only messages are no longer sent to the non-mod channel, and message colors now reflect the ones in-game.

It has only been about 6 months since he started, and yet he rose to heights most reach in a year if not more. He surpassed players in the Top 10 weekly, sometimes even daily, without breaking a sweat. I speak of Toraneko of course, and this week he achieved level 52 making him rank 2nd on the Unofficial Top 10 list.

An SAO mod archive has been made recently by a player named Zecronious. This site features news about up-and-coming mods, a list of mods, the option of uploading your mod to the website, as well as Ace's "Automatic Mod Installer".

Comments: 0 - Leave a Comment

Link



Saturday, November 14, 2009



News

The winners have been selected for the IfThen Software Pumpkin Carving Contest 2009! Thanks to everyone who entered, and congratulations to the winners!

First Place - Giygas


Second Place - SadisticusMaxim


Other Entries







From the Programmer
Written by Invisible

I am currently working on the font and text systems for the engine.

The font system will support both raster and vector fonts. They both use a generic interface so that a font can be used in the same way no matter what its data format is. Due to limitations with the rendering system, vector fonts won't be immediately available. However, once the rendering system has been upgraded, vector fonts will be possible.

The text system will have two classes; plain text and rich text. The rich text class will support word-wrap, margins, text color/size/style changes, the ability for a section of text to respond to mouse events, embedded images, and other features. When only simple text display is required, an instance of the plain text class is used.


Artist's Easel
Written by GreyKnight

iScribble Sketches #10

(Click to enlarge)


(Click to enlarge)



Community Spotlight
Written by Jay

Zecronious, a new member to the SAO community, has been busy creating a World War II mod and a mod archive. He has a Sci-fi mod currently in progress. The community expects a lot from Zecronious as he becomes even more active.

Comments: 0 - Leave a Comment

Link


All times are ET (US)

 
S
M
T
W
T
F
S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

OPTIONS
Track this Journal

 RSS 

ARCHIVES
January, 2010
December, 2009
November, 2009
October, 2009
September, 2009
August, 2009
July, 2009
June, 2009
May, 2009
April, 2009
March, 2009
February, 2009
January, 2009
December, 2008
November, 2008
October, 2008
September, 2008
August, 2008
July, 2008
June, 2008