1/24/2011 Status Update
by Michael Perry · in iTorque 2D · 01/24/2011 (10:01 am) · 44 replies
Welcome!
Hey everyone. First, let me welcome all of our new iTorque 2D users. The number of you who have joined our ranks is astounding. To those who have stuck with us through thick and thin, welcome back =)This status update is to let you know we are getting back into full swing. It took some time to get things going, but I think we may have broken a record for getting a company off the ground. iTorque 2D work has been occurring silently during the transition, but most of our long time users already knew about this. I have written a quick summary of what is going into v1.4.1. I wanted to post this to get feedback from you all and gather anything critical that is missing from the list. Let's start with fixes and useful additions:
Tracked tasks (logged in Jira)
- ITGB-95 Add new music demo- ITGB-94 Import Aquarium Project
- ITGB-93 Fix stopiPhoneAudioStream usage string
- ITGB-92 Setting status bar bugs
- ITGB-91 Cleanup full screen variables
- ITGB-90 MainWindow.xib targeted for iPhone OS 2.0
- ITGB-89 Reading XML - error notify has filename hardcoded
- ITGB-88 iPhoneOGLVideo::rotateToAngle() gives unpredictable results
- ITGB-87 Returning very long strings from a function causes crash EXC_BAD_ACCESS in audio driver
- ITGB-86 Cannot create polygon objects in editor
- ITGB-85 Spatial information initially incorrect
- ITGB-84 Gameplay Template Build And Run broken
- ITGB-83 Use of custom OSX folder icons
- ITGB-82 Using GUI causes all objects to disappear in OSX iTGB editor
- ITGB-81 Windows 7 "Unable to Open Project"
- ITGB-80 Apps referencing wrong directories
- ITGB-79 isFile() and OpenForRead() broken
- ITGB-78 iDevice Resolution will always default to SMALLW/H
- ITGB-77 Sounds come out static on Mac version
- ITGB-76 Black screen on playiPhoneMovie
Untracked and regression tasks:
- Verify loading of external files for tilemaps, particle effects, and audio- Add new shooter demo
- Update docs
- Multi-touch enhancement integration
- File I/O Issue
Overview of 1.4.1 goals based on Conor O'Kane thread
Fixed or not an issue in 1.4.1:
- Delete the /scripts folder from the new project as old torque projects use /gamescripts instead
- Set the correct level file to load in game.cs as loading "%level" doesn't work
- Replace all the instances of clone() in your game with cloneWithBehaviors() since clone() is bugged
- Add a %this.setUsesPhysics(true) for every moving object in the scene in its onLevelLoaded callback (do not use the editor checkbox - this doesn't work)
- Edit the engine source so that particle effects continue to play after leaving the camera
- Edit the engine source so that particle systems load correctly
- Ignore the fact that the audio doesn't work on the Mac
- Change all of your onMouseDown scripts to oniPhoneTouchDown
- Do the same for mouseDragged and mouseUp
- Manually edit the .t2d file replacing every particle effect's load path, since saving a level wipes these
- Make sure you're building for current OS
- Make sure you're compiling with GCC 4.2
Most likely fixed by the above:
- Discover that many of your objects aren't showing up or moving properly
- Updated documentation and the need for a clean demo
Note - The above list was generated based on Conor's feedback, which is extremely valuable. The goal is to solve the most glaring and basic usability problems via the bug fixes, update docs, and demos.
Looking forward to your feedback.
About the author
Programmer.
#2
My other concern that I don't see addressed in these notes are reports of memory leaks, even if it's a pain in the butt because of a bug in the editor, I would want my end user to have a reliable application as this would affect sales.
Likewise it's important we can build for latest SDKs, new users can't obtain old SDKs via Apple's site when I last used it.
This post especially has my interest http://www.garagegames.com/community/forums/viewthread/123841.
Many thanks
01/24/2011 (11:45 am)
I would also like to see an update soon, or if QA is important, I would like to see a BETA release inc docs.My other concern that I don't see addressed in these notes are reports of memory leaks, even if it's a pain in the butt because of a bug in the editor, I would want my end user to have a reliable application as this would affect sales.
Likewise it's important we can build for latest SDKs, new users can't obtain old SDKs via Apple's site when I last used it.
This post especially has my interest http://www.garagegames.com/community/forums/viewthread/123841.
Many thanks
#3
As for the other comments:
3.2 is an option but only as deployment target.
Base SDK would be 4.2 given you have the 4.2+ SDK installed.
I would actually welcome if the SDK selection was changed to use Apple standards:
Base SDK should always be the most current installed (thats what apple expects), with a warning if the major is insufficient for sending to apple, refusing to build anything then at all (so if no 4.x SDK is present, don't build, if no 4.2+ SDK is present, refuse any ipad building)
Any possible SDK related setting in iTGB then would apply to Deployment Target instead
01/24/2011 (4:00 pm)
Good list, looking forward to these fixes and changes to be present already out of the box in a way thats not user done and thus hopefully more future proofAs for the other comments:
3.2 is an option but only as deployment target.
Base SDK would be 4.2 given you have the 4.2+ SDK installed.
I would actually welcome if the SDK selection was changed to use Apple standards:
Base SDK should always be the most current installed (thats what apple expects), with a warning if the major is insufficient for sending to apple, refusing to build anything then at all (so if no 4.x SDK is present, don't build, if no 4.2+ SDK is present, refuse any ipad building)
Any possible SDK related setting in iTGB then would apply to Deployment Target instead
#4
1. You did not list the problems I had saving using "while" and "for" loops that I am pretty sure you fixed. http://www.garagegames.com/community/forums/viewthread/121299
2. Also, don't forget to incorporate the fix for reading files (the code doesn't look in the one place you are allowed to save). http://www.garagegames.com/community/forums/viewthread/118719/1
3. Tilemaps working now? http://www.garagegames.com/community/forums/viewthread/122695
4. The selecting bitmaps in the Gui Editor Bug? http://www.garagegames.com/community/forums/viewthread/122091
5. And of course the Multi Touch Enhancement that really should be part of the code: http://www.garagegames.com/community/resources/view/19809/
Thanks for your help!
01/24/2011 (4:13 pm)
Hi Michael, great news! As to the list above: 1. You did not list the problems I had saving using "while" and "for" loops that I am pretty sure you fixed. http://www.garagegames.com/community/forums/viewthread/121299
2. Also, don't forget to incorporate the fix for reading files (the code doesn't look in the one place you are allowed to save). http://www.garagegames.com/community/forums/viewthread/118719/1
3. Tilemaps working now? http://www.garagegames.com/community/forums/viewthread/122695
4. The selecting bitmaps in the Gui Editor Bug? http://www.garagegames.com/community/forums/viewthread/122091
5. And of course the Multi Touch Enhancement that really should be part of the code: http://www.garagegames.com/community/resources/view/19809/
Thanks for your help!
#5
@All - Sorry for the confusion. My copy/paste from the old thread could have used a side note. The original problem was that the Xcode projects were being shipped with the SDK values set to a hard value (like 2.0). What I have already done is switched every Xcode project to use the handy new setting Apple provided: "Use Latest SDK". So long as they don't deprecate that, future proofing should be likely.
01/24/2011 (5:17 pm)
Quote:As for the other comments:
3.2 is an option but only as deployment target.
Base SDK would be 4.2 given you have the 4.2+ SDK installed.
@All - Sorry for the confusion. My copy/paste from the old thread could have used a side note. The original problem was that the Xcode projects were being shipped with the SDK values set to a hard value (like 2.0). What I have already done is switched every Xcode project to use the handy new setting Apple provided: "Use Latest SDK". So long as they don't deprecate that, future proofing should be likely.
#6
1. Yes, fixed on my end
2. Unverified, but still working on it
3. Fixed for the same reason that particles were fixed. Additionally, there were all kinds of things wrong with the file I/O used by both the runtime and the editor.
4. Indeed fixed. As you can see in my original reply, this was an extremely annoying bug. I might look "idiot proofing" it before the release, but base functionality had to come first. Gah..stupid asterisks in file names =/
5. Definitely in
01/24/2011 (5:23 pm)
@Warthog - Ah, thanks for the reminders.1. Yes, fixed on my end
2. Unverified, but still working on it
3. Fixed for the same reason that particles were fixed. Additionally, there were all kinds of things wrong with the file I/O used by both the runtime and the editor.
4. Indeed fixed. As you can see in my original reply, this was an extremely annoying bug. I might look "idiot proofing" it before the release, but base functionality had to come first. Gah..stupid asterisks in file names =/
5. Definitely in
#7
I think it was added with 4.2 but thats a reasonable min requirement anyway, apple is far less forgiving being a lazy pretender instead of being an iOS dev and remaining on the latest non-beta SDK :)
Also 4.2 is a min requirement anyway as ipad can otherwise not be targeted at all.
01/24/2011 (7:13 pm)
hehe welcome the change to use latest SDK flag :)I think it was added with 4.2 but thats a reasonable min requirement anyway, apple is far less forgiving being a lazy pretender instead of being an iOS dev and remaining on the latest non-beta SDK :)
Also 4.2 is a min requirement anyway as ipad can otherwise not be targeted at all.
#8
Anyway, back to work. Keep 'em coming folks. It's not too late to point out glaring holes in this release. I really want this release under the GarageGames banner to be solid.
01/24/2011 (7:31 pm)
@Marc - Spot on. One of the few times Apple's "tough love" of developers works in my favor :). In all seriousness, when the first post on our forums reported the "Base SDK Missing" bug my heart dropped. The lag between dev->QA->release gave just enough time for Apple to release the new SDK, which broke a release we were very happy with. The out of box experience was more broken than it ever had been. This new flag is a big relief and I really hope Apple sticks with it. I learned my lesson on that and greatly appreciate the extra effort put toward future proofing.Anyway, back to work. Keep 'em coming folks. It's not too late to point out glaring holes in this release. I really want this release under the GarageGames banner to be solid.
#9
Some usability improvements for huge amounts of objects would be great. I'll be looking at what I can do to the desktop engine's editor first, and show you what I end up with.
The list of bugs seems to be under control, so I won't comment on that.
01/24/2011 (10:03 pm)
@Mich: You've seen my rants and ideas about the TGB editors in general :)Some usability improvements for huge amounts of objects would be great. I'll be looking at what I can do to the desktop engine's editor first, and show you what I end up with.
The list of bugs seems to be under control, so I won't comment on that.
#10
Maybe additional points include
Touch Controls
Working with GUI and Splash Screens incorporating them into the game
Work Flow of a Simple Game
I'm glad to see the Engine of Garage Game revving back to life and that the good times are here.
01/26/2011 (9:32 am)
Michael knows I'm a stickler for good documentation and I do understand that more information is coming soon which is good. May I suggest for the Tutorials one that goes into making a full game from Start Menu to End Screen. It can be as simple as taking the Aquarium Tutorial and adding the additional information to it.Maybe additional points include
Touch Controls
Working with GUI and Splash Screens incorporating them into the game
Work Flow of a Simple Game
I'm glad to see the Engine of Garage Game revving back to life and that the good times are here.
#11
I'd also love to see a tutorial on randomization. I know how to use the random function and to generate random numbers, but I'm having difficulties to link a scene object with a random sprite selected from a predefined list.
Last but not least, a tutorial on how to integrate basic iphone screens in an iT2D project. For exemple, if you have a main menu and you want one button to link to a standard iPhone webkit viewpage (for exemple) or any screen designed with the iPhone sdk UI Builder.
Can't wait to see 1.4.1, any hint if we'll see it's release in februray ?
01/31/2011 (6:34 am)
I totally agree with XanthorXIII. We definitly need a full featured tutorial (including music maybe)I'd also love to see a tutorial on randomization. I know how to use the random function and to generate random numbers, but I'm having difficulties to link a scene object with a random sprite selected from a predefined list.
Last but not least, a tutorial on how to integrate basic iphone screens in an iT2D project. For exemple, if you have a main menu and you want one button to link to a standard iPhone webkit viewpage (for exemple) or any screen designed with the iPhone sdk UI Builder.
Can't wait to see 1.4.1, any hint if we'll see it's release in februray ?
#12
01/31/2011 (7:58 am)
The goal is to get a build into the hands of QA on 2/7. If the first 24 hours go well, then I will upload a release candidate of 1.4.1. The release candidate will not have gone through our full internal QA process, but it will give everyone a chance to see what the new demos look like, preview the docs and check to see if the bugs being fixed are exactly what they wanted. If a showstopper bug appears in our QA or the release candidate build, we get a chance to address it before we let the final build out the door.
#13
A lot of you may recognize the BehaviorShooter project. It still exists in Torque 2D. A reduced version used to ship with iTorque 2D in the early iterations, but it was terribly unoptimized and a lot of the code did not make sense. I am reworking the demo and will wrap a new tutorial around it, but you can imagine what gets covered:
- Input (multi-touch)
- Scene management (object creation, pooling, destruction)
- Behaviors (shooting, movement, etc)
- C++ components (C++ version of behaviors)
- Particles (static and dynamic)
- Collision (projectiles on ships, world limits)
- Spawning (dynamic and random creation of enemies)
- Game play sound effects (pew-pew noises and explosions)
- Background music (background mp3)
- Project deployment (from scratch to device)
- Optimization (turning TorqueScript into C++, many sprites into a sprite sheet using UnChaos, modifying scripts to simplify code)
This will not be a full port of the original BehaviorShooter. I'm reducing the graphics myself. I'm writing optimizations that might reduce code elegance for the sake of usability and speed. More to come on that. My overall goal is to have a simple game that has a clear start and finish, runs well, is more fun than any of our other demos and is wrapped up neatly with a tutorial. Every critical line will commented and the tutorial should show every step.
If it is well received, I will turn it into a video tutorial as well. In addition to the shooter demo, we will have the Aquarium simulator and "for fun" music player demo. Each shows off some unique elements of either the engine or iOS.
01/31/2011 (8:07 am)
@XanthorXIII - I have been working on a demo that will be turned into a new tutorial. The creation of this demo also allows me to test the functionality of the engine as a whole, rather than individual pieces during bug fixes. Due to a lack of artists, I am forced to recycle some old assets and concepts.A lot of you may recognize the BehaviorShooter project. It still exists in Torque 2D. A reduced version used to ship with iTorque 2D in the early iterations, but it was terribly unoptimized and a lot of the code did not make sense. I am reworking the demo and will wrap a new tutorial around it, but you can imagine what gets covered:
- Input (multi-touch)
- Scene management (object creation, pooling, destruction)
- Behaviors (shooting, movement, etc)
- C++ components (C++ version of behaviors)
- Particles (static and dynamic)
- Collision (projectiles on ships, world limits)
- Spawning (dynamic and random creation of enemies)
- Game play sound effects (pew-pew noises and explosions)
- Background music (background mp3)
- Project deployment (from scratch to device)
- Optimization (turning TorqueScript into C++, many sprites into a sprite sheet using UnChaos, modifying scripts to simplify code)
This will not be a full port of the original BehaviorShooter. I'm reducing the graphics myself. I'm writing optimizations that might reduce code elegance for the sake of usability and speed. More to come on that. My overall goal is to have a simple game that has a clear start and finish, runs well, is more fun than any of our other demos and is wrapped up neatly with a tutorial. Every critical line will commented and the tutorial should show every step.
If it is well received, I will turn it into a video tutorial as well. In addition to the shooter demo, we will have the Aquarium simulator and "for fun" music player demo. Each shows off some unique elements of either the engine or iOS.
#14
01/31/2011 (9:48 am)
Sounds excellent. I've had a game in the works through GLBasic since that was cheapest way I could do iPhone work without it being expensive. Since it was cheap for me to get a license for iT2D I'll be porting that over this week with what work I have done. My goal for February is to have a working game.
#15
01/31/2011 (12:26 pm)
@Michael: sounds really cool. Can't wait to have a look at it (and the new docs)
#16
General Doc Work: Create a revised documentation layout. No more lingering TGB specific docs. This may shrink some of the content, but sometimes bad docs are worse than no docs. If a guide is pertinent, it will be kept. In general the layout might change again.
Shooter: Shows how to create an auto-scrolling shooter, similar to R-Type. This will be a clean port of the Torque 2D BehaviorShooter project, with assets reduced and optimized for iT2D. Will utilize a "thumb stick" for controls and as many iT2D features as possible.
iOS Series: Series on how to use each iOS feature exposed (input, music player, movie, etc).
Rainy Day: Convert T2D tutorial to an iOS friendly version. What's currently available online should not be there. I'm not sure why that version made it in, but the iT2D version is nearly finished. Utilizes accelerometer and touch for input, plus a few extra features added in to spice up the demo.
iAquarium*: Shows how to create a fish aquarium simulator. The base tutorial is already up, it just needs a review to make sure it still works. I also want to add a section for input reaction, such as tapping on the screen to scare the fish.
C++ Behaviors: Explains how to create a few behaviors in C++ and link them to TorqueScript. Example code already exists, but is not covered anywhere in the docs.
FAQ: Documentation containing answers to a long list of frequently asked questions based on past user experience and community posts.
What do you think? Useful? Something missing?
02/01/2011 (4:06 pm)
Just posted this in the Official Documentation Feedback Thread:Goals for 1.4.1 Docs
I proposed the following list of tutorials for 1.4.1 and beyond. I would like to get all of these in, but if something can't be completed it will be rolled into the next version. It should be noted that most of these can be shipped as completed demos as well.General Doc Work: Create a revised documentation layout. No more lingering TGB specific docs. This may shrink some of the content, but sometimes bad docs are worse than no docs. If a guide is pertinent, it will be kept. In general the layout might change again.
Shooter: Shows how to create an auto-scrolling shooter, similar to R-Type. This will be a clean port of the Torque 2D BehaviorShooter project, with assets reduced and optimized for iT2D. Will utilize a "thumb stick" for controls and as many iT2D features as possible.
iOS Series: Series on how to use each iOS feature exposed (input, music player, movie, etc).
Rainy Day: Convert T2D tutorial to an iOS friendly version. What's currently available online should not be there. I'm not sure why that version made it in, but the iT2D version is nearly finished. Utilizes accelerometer and touch for input, plus a few extra features added in to spice up the demo.
iAquarium*: Shows how to create a fish aquarium simulator. The base tutorial is already up, it just needs a review to make sure it still works. I also want to add a section for input reaction, such as tapping on the screen to scare the fish.
C++ Behaviors: Explains how to create a few behaviors in C++ and link them to TorqueScript. Example code already exists, but is not covered anywhere in the docs.
FAQ: Documentation containing answers to a long list of frequently asked questions based on past user experience and community posts.
What do you think? Useful? Something missing?
#17
02/01/2011 (4:08 pm)
Depending on whether we can get the additional writer(s) I've requested, we might be able to do a full reference push for iT2D...similar to what we did with T3D. If you are unfamiliar with the T3D Reference Project, check out this blog. It is in no way a small task. iT2D is not as complex at T2D, but a full reference pass is more work than a single person working full time can handle in time for a 1.4.1 release. However, it's on my proposal for a 2011 enhancement.
#18
02/04/2011 (1:34 pm)
Bug fixing going well. Knocking tickets out left and right. Also, had one of our programmers start working on eliminating warnings. He already resolved 600 for the Xcode project and is now working on the iOS projects. The goal would be to ship with 0 warnings, but we'll see how far we can get before QA and decide from there.
#19
Also, what about onMouseDragged? Any fixes there.
Thanks and keep up the good work.
02/04/2011 (9:58 pm)
By replacing onMouse commands with onIPhone commands, does this increase accuracy of touch events at all. Sometimes, not all by any means. But occasionally I pound my device taps with to no avail.Also, what about onMouseDragged? Any fixes there.
Thanks and keep up the good work.
#20
Personally I have been fighting with scrolling the camera around in a natural feel with touch.
02/04/2011 (11:17 pm)
@Mich it would be really cool if we could get some deeper touch and tilt and gyro examples, like using each to move an object, the camera etc. Personally I have been fighting with scrolling the camera around in a natural feel with touch.
Torque Owner Chris W Hill
Thanks for compiling this list. I know you've said 'soonish' for a release...does that mean by end of week, end of month, end of feb?
I have noticed a lot of issues with iT2D but I will try to document this stuff moving forward. A couple glaring issues from my limited experience:
The 'Quickstart Guide' points to an iPhoneShooter demo that doesn't exist.
In your notes:
- Make sure you're building for current OS 3.2 (for iPad in this case. It's set to 2.0 by default) - I don't have 3.2 as an option, only 4.2. I think this may be related to when you have installed xCode.