Continuing the level build out phase. There has to be a world to operate in first.
I redid all the rocks and added bushes. The player character got a work over. Added in some sky and changed the camera angle.
Learning much about Modo lately. I installed service pack 3 which appears to be a little more unstable. It was necessary to reset all the preference files but it appeared to resolve the issues on the Mac. Clothing modeling is a really pain with the modo physics engine.
Things are getting to the fun part -- AI and monsters.
Here are some more iPad screen shots of the progress and have a happy Thanksgiving day!
I've spent much time lately building out an initial level and doing gardening. Though, some interesting lessons learned.
First lesson is: How big do I need to make my textures? Initially, I was going to go with one mungo terrain texture ( last blog post ) but I changed strategy to tiling a smaller texture with repeat. The answer is the max estimated size that textured polygon will show on the screen. If this rule is followed, then you can set your min and mag texture filters to nearest -- basically turn the texture filtering off. Min filter is used when the polygon gets smaller and mag filter is when its getting larger. But we already have a texture that is the maximum resolution needed. If filtering is on, the you'll get a slightly blurred texture image which is really noticeable close to the camera. ( last blog post )
Second lesson: Tiling with an atlas is not likely to work. There are going to be two problems. The min/mag texture filtering and mip maps are going to creates seams on the texture repeat boundaries -- it will make your scene look like graph paper. You can get around the seam from the texture filtering by using a larger texture and turning off the filtering. ( lesson one ) But then you have a seam from the mip mapping. If you turn the mip mapping off, you can get rid of the seam tear but the high res texture is not going to look well with objects in the distance -- really need the mip mapping. So, tiling using gl repeat and a texture atlas will not work in most situations. The benefit of the atlas is you would bind one texture and map the uv coordinates in the fragment shader. In OpenGL ES 2 / iOS your limited to 8 texture units. So, things get tight with the bump mapping and shadow mapping thrown in too.
I've been working on landscaping. No, not in the yard but in 3D. :)
Trees are rather difficult to render. Depth and alpha blending can become issues when integrating trees into a landscape with OpenGL ES. To make it more complicated, the models can have high polygon counts proportional to the number of leaves. Vue 9 does a good job at generating trees. I'd recommend getting a tree generator rather than making trees by hand. There was an old program called Dryad that was free a couple years ago. But its no longer available for download but I've still got it. The best optimization strategy is to get as many of the leaves into images as possible. Then replicate these billboards onto the branches. My general experience, is the tree generator will not get the polygon count low enough.
Another problem is discard in OpenGL ES. On the Imagination gpu hardware, discard is a performance problem -- not so on the Mac or PC. It has to do with how the hardware does tiling and does depth checking early in its processing. The trick to get around this is to set alpha to 0 instead. If you are projecting shadows through transparent textures, you really need the discard to avoid writing into your depth buffer! So, it might not be enough to set alpha to zero to solve that problem. Before, I was encoding the depth into a rgba texture. But going forward, I'm going to use the standard approach with the depth buffer -- more accuracy but now I need discard.
After some more consideration, I've decided to put my old iOS games into the vault. In other words, they are no longer available on the App Store. I'd recommend backing up your apps to iCould or syncing with iTunes. These apps are no longer in the store: Astroidica, Sea Assault, Ant Planet, Emerald Run and Rollerz.
There are lots of exciting UI and 64 bit features coming to the iOS platform. At the end of the day, I have to make a calculation as to whether upgrading old games is worth the time and effort. Perhaps, I would have upgraded the games, if customers were willing to pay a higher premium. But that is not the case -- especially for such small games. I've decided to move forward with new projects.
Regarding my efforts here, I'll be focusing more on iOS iPad games in the future.
Today, I updated my test iPod 5th generation to iOS 7 preview 4. It was time to regression test apps. Surprisingly, the 5 game apps are running well without modification. I do not think there will be any updates necessary. The graphics and iOS 6 based UI look fine. Though, if an update is necessary, I will use Xcode 4.6.3 .
I did build and install using Xcode 5 preview 4 as a test. The problem using the new tool is it changes the behavior of the status bar. The standard widgets look radically different too. So, the question is : Is it worth the level of effort to make the UI fixes in Xcode 5 and conform to the iOS 7 paradigm? I concluded it is not. All 5 of the game apps will go into maintenance mode with Xcode 4.6.3. One of the other factors in the decision is the visibility in the app store -- no improvements there. ( and I do not expect any either )
Astroidica has already been in this mode for a while and now the other apps will join it. It was cut off in the transition from Xcode 3 to 4 -- I have not upgraded the app in a long time but it still works fine. When in this mode, if Apple breaks the app in an iOS update, then I pull the plug on that app. But it keeps on chugging …. sort of reminds me of the old calculator app on the Mac. It will be interesting to see it play out.
A minor Rollerz iOS app update was submitted today. The radar blips have been fixed and the radar background image improved. Collision responses are improved. The animation rate logic was tweaked and the game should run smoother on iPad 3. If the game is paused and the user rotates the screen should refresh properly. There are other minor bug fixes in the free update.
I'll give Rollerz and the other games some additional testing when iOS 7 nears completion.
Well, time for a website refresh -- the flat look.
Small operation here and I've been going with the Sandvox tools. Seems to be working….
Sea Assault and Ant Planet have been updated for the new 4 inch retina display. In addition, the games now support both landscape orientations. These games originated in iOS 3 days. So, some retro fitting was needed. Both game updates have been submitted to the store.
Currently, the best option is to build the games with Xcode 4.5.2. Thus, that implies no more armv6 support. In other words, iPod 2nd generation and iPhone 3G will no longer be supported. iOS 4.3 is the lowest choice. The twist is only armv7 devices were allowed to update to iOS 4.3 and not armv6 devices. And you cannot downgrade devices to iOS 4 without serious magic. I was reluctant to build with the new tools -- there are too many new devices to support that require the new development tools.
The current game offerings work well on the new iPad. Well, I'll call it the 4th generation iPad. Everything looks to be running as expected. No maintenance updates will be needed for this case.
I've tested Rollerz on the iPod 5 today. There were some more issues but the game is now working with the 4 inch display. These fixes will address issues with iPhone 5 too because it has the same screen dimensions.
Locally, the iPod 5 has been in the store for two days. The store was sold out of black and white color models. I opted for blue. :)
All the other games appear to be compatible.
I really like the lightning connector on the device. When developing you upload to the device all the time. It feels almost instantaneous. The ear buds are much better too. Another surprising aspect is how light the device is.
So many devices to test these days…iPad 1,iPad 2, iPad 3, iPod 2, iPod 3, iPod 4, and iPod5. And throw in a phone or two. The situation is starting to get the pc video card feel. Still its better than dealing with ati and nvidia video card differences and permutations.
Its official, "Reliabit" is now a officially registered trademark with the USPTO and is registered to Reliabit,LLC. The trademark is in Int. Cl.: 9 For "DOWNLOADABLE COMPUTER GAME SOFTWARE VIA A GLOBAL COMPUTER NETWORK AND WIRELESS DEVICES". The trademark was approved on September 18, 2012. The mark was first used on October 3, 2002.
Please refrain from using Reliabit® without approval from Reliabit,LLC.
Its been a busy day preparing for iOS 6 which comes out on September 19th. Frankly, I thought things were going to go more smoothly.
Now that I have the gold master for Xcode and the gold master for iOS 6, I've done some regression testing.
It appears there are two serious issues with Emerald Run and Rollerz. The fist has to do with shader validation. The validation method changed! So, there was a validation failure. This issue has been corrected. But it would result in the game not drawing. That is black screen. Apple recommends removing shader validation in released code.
The second issue that has been addressed is view rotations. There is a different methodology doing this on iOS 6. Emerald Run had problems with screen rotation on iOS 6. This has been corrected. Rollerz uses storyboards which appear to have dodged this issues.
Another issue is Xcode 4.5 supports a minimum of iOS 4.3. So, Emerald Run users will now have to have at least iOS 4.3 to run the latest and greatest Emerald Run. Moreover, the new Xcode does not even build for the old armv6 anymore. Though, there is now a new build architecture option of armv7s specifically for iPhone 5.
Rollers was approved for sale in Apple's App Store. There were some minor glitches in the initial submission that created a delay of one week -- resubmitting puts the app at the end of the queue. Since I had to resubmit again, I improved the settings view layout and fixed some other minor issues too. The game is available for iOS 5 or greater.