Game Development Community

Mentionable 1.5 Improvements

by Michael Perry · in iTorque 2D · 07/28/2011 (9:26 pm) · 67 replies

Greetings all. As another dev day winds down, I look back at the code that was written. So far, people seem pretty happy with the improved input system, which is really encouraging. Each release brings a big feature or change, but sometimes it's the little things that make people cheer. What you will not see is a big blog focused around the following list of subtle improvements. I thought you might want to see these to bide some time between now and the next release. Existing users will probably understand this a little better, which is why I made a forum post instead of a blog.

File Association Changes

Most long term iTorque 2D users know a golden rule when installing a new version. Uninstall everything else first. This includes Torque 2D and previous versions of iTorque 2D. Why? Well, they all share the same executable names and project file extensions. If you double click a .t2dproj on Windows, there is a good chance you might launch the wrong editor. Imagine my development environment: one trunk and five branches of iTorque 2D, plus the Torque 2D repo trunk, plus installations of the final products. It's a real PITA, but you know that.

1.5 final will ship without this problem. iT2D project files will now be .it2dproj (little i before everything, right Apple?). While I'm at it, I will be changing the name of certain executables, templates, registry entries and plist files to make sure this is a much smoother installation on both Windows and OS X.

More Editor Shortcuts

Simple, but a major time saver. I have removed the Visual Studio 2005 button from the Project tab. Two new buttons have replaced it. One will take you to the Xcode project for the OS X runtime, the other will open the new Visual Studio 2010 solution.

Improved Level Datablocks Dialog

The introduction of level datablocks was smart. A great idea worth extending. The following three key improvements are on my radar for the 1.5 final. They are not solidified, but I have high hopes:

1. Mass selection removal (already in the second preview). You can multi-select entries on both sides to add or remove datablocks.

2. Organization. I'm still dabbling here, but I hear everyone loud and clear. The dialog is just fine for something like RainyDay, which only has three or four datablocks. However, the presentation does not scale well with dozens and dozens. There is no real ordering of the datablocks or clear separation. I have a couple of ideas I'm kicking around, such as a "Sort by" option and explicit separators (of some kind) between types.

2. Semi-auto management. I do not want to go overboard here, but I do think there is some room for helping users out with adding level datablocks. My initial approach will be to automatically add image and animation datablocks for anything in the level when the play button is pressed.

Macro Reduction

Can anyone name all the macros that can be toggled for the various optimizations and feature add-ons for iTorque 2D? How about the list and the explanation? Yeah, not great. I already mentioned this in another thread, but I'm going to start eliminating certain flags and preprocessor definitions that are no longer useful. A prime example is Use Multi-touch. There was definitely a purpose to this flag previously, but this is actually a surefire blocker to using the improved input system. This is just one example. The list will grow as I continue evaluation.

Source Code Stripping

There are quite a few source files that carried over as far back as the original Torque 2D days. Anyone use the turrets or foliage system in iTorque 2D? Didn't think so. I'm going to eliminate what I can, including the example components that no one seems to know exists. These will be taken out of the engine, but provided as downloads in tutorials that show C++ behaviors

The Common Folder

I started my own personal project on the side. The first thing I did was gut the the game's common directory. From my IRC discussions with other users, I'm not the only one. It took very little time, increased load speed and is generally easier to parse. This is not an actual task or anything I planned for the 1.5 final, but this change could make a great Saturday morning improvement.

These changes have made developing iTorque 2D a lot easier for me, so there is some merit in revealing them ahead of time. This is the kind of stuff that doesn't get the marketing treatment for an engine release, but I love it. If I think of any other subtle improvements, I will list them in this thread. I'd really like your feedback, so don't hesitate.
#41
09/10/2011 (2:47 pm)
@Scott

that approach works fine at startup; the only problem with it is that if the user puts the app in the background (pressing the home button) and then starts it again, then the nib with the splash screen pops up *again* :-)

this is very clear if a breakpoint is put here
- (void)applicationDidBecomeActive:(UIApplication *)application
#42
09/10/2011 (2:52 pm)
Pedro, you are correct, I see this as a feature :)

- you'll playing CC

- you fire off a mail

- relaunch cc

- you get a nice reminder that you did indeed press the cc button and not something else

- you'll back to where you were

:)
#43
09/11/2011 (4:50 pm)
@rennie

here's an example of the 128x128 images I display with %obj.setSize( 64, 64 ) in retina: the sound and home buttons.

the tiles are not optimized for retina, so they don't look so well: they are 60x60 images that I display in the tile layer with a tile size of 60.

The text is a text object with the known size issue.

www.garagegames.com/community/forums/viewthread/127717
#44
09/12/2011 (10:51 am)
Are we still getting a post today about 1.5 update?
#45
09/12/2011 (12:18 pm)
@Johnny - Depends on another person posting a blog. Eric has an announcement he wants to post very soon, which I do not want to overlap the iT2D 1.5 blog. So either today or tomorrow.
#46
09/16/2011 (1:26 pm)
Sneak peak of Monday's blog. This is the same level, same objects, on all three devices. Built completely in the editor, no special script hackery or multiple .t2d files:

(click to see larger vesion)
img696.imageshack.us/img696/4827/uaslr.jpg

Top left: iPod 2nd Gen
Top right: iPod 4th Gen (also works on iPhone 4)
Bottom: iPad 2

#47
09/16/2011 (1:35 pm)
Very nice :)
#48
09/16/2011 (2:50 pm)
@Michael - Are they using different image sizes? Also, like how the ipad is in the box.
#49
09/16/2011 (3:52 pm)
@Johnny - Excellent question. I'll answer that on Monday =)

Quote:Also, like how the ipad is in the box.
Ha. Yeah, I don't have a case for it and hate it when the devices get scratched up on the back. Yes, I am neurotic.
#50
09/17/2011 (12:44 am)
Neurotic devs keep the bug count low :)
#51
09/17/2011 (1:30 am)
@Michael,
The restart btn in the top left device is much larger and in a different position. Is this simply because you may have moved it, or is something special going on?


ps. nice work.




//////
#52
09/17/2011 (6:35 am)
@rennie - Something special going on. I'll talk about that on Monday
#53
09/17/2011 (7:54 am)
sweeeet. I like special.

:::)()(
#54
09/19/2011 (5:29 pm)
@Michael - Are we still getting a post today about 1.5?
#55
09/19/2011 (5:45 pm)
@Johnny - Sorry, I posted in the last blog but not here. No blog today. Two critical bugs cropped up from the QA report. I also had to organize the team for the final pass on the engine, so I didn't have time to finish the blog.
#56
09/19/2011 (6:00 pm)
Thanks for update.
#57
09/19/2011 (6:12 pm)
Looking forward to some news :)
#58
09/20/2011 (4:15 pm)
The next iTorque 2D 1.5 blog has been posted: Universal App Support. Only one more left =)
#59
09/21/2011 (6:52 am)
Great. Hi @Michael, not like it really matters I am sure, but what was the special reason for the one enlarged restart btn?

Thanks.


::))(
#60
09/21/2011 (8:31 am)
@rennie - It was a gut decision I made to allow the button to render at a larger size on an iPod Touch (not 4th generation). It demonstrates per-device objects and universal resolutions. In other words, it's as designed. I was the designer.