Geeks3D Forums
StarCraft II - stresses your GPU with low (!) details
Intel: Three new DirectX 11 demos
Intel research threw out three new DX11 demos from the Advances in Real-Time Rendering in 3D Graphics and Games and [url=http://bps10.idav.ucdavis....
iPhone Development Tutorials and Programming Tips
Blocks – An Interesting Objective-C Addition In iOS 4
Blocks are a feature of the C language that have been added to the iPhone and iPad sdk with iOS 4.
What they allow you to do are create usable “blocks” of code that you can pass along like any object. This probably sounds a lot like a function, and they are very similar, but there is a significant difference in that they “close” around variables that are in scope before a block is declared.
I know this sounds odd, and you might be wondering when you’ll need to use them, but they certainly have their uses as there are definitely times when you will want a small block of reusable code.
You can find a complete tutorial from Mike Clark here that explains things better here:
Using Blocks In iOS 4
If you liked this, please share it!
[Via Joost Schuur]
©2010 iPhone iOS 4 iPad SDK Development Tutorials, Programming Tips, News. All Rights Reserved.
. Share and Enjoy:
CGSociety
Bryce 7
Create some personal space and environments with Bryce 7 from DAZ.
iPhone Developer News
Remove Apps Using App Delete in iTunes Connect
You can now remove any unwanted applications from your view in iTunes Connect using App Delete. There are important factors to consider when using App Delete --; for example, if you want to re-use your SKU or App Name --so be sure to read the App Delete section of the iTunes Connect Developer Guide for more information.
OpenGL
KDE to Improve User Experience with OpenGL ES and OpenGL 3
KDE is an international team developing Free, Open Source Software for desktop and portable computing. For the next major release, 4.6, of their mobile workspace they plan to port compositing stack to OpenGL ES and improve performance for desktop workspace. Looking even further into the future, for KDE Software Compilation 4.7, they plan to take advantage of OpenGL 3 features to offer even better user experience on the desktop workspace. Further details are available on developer’s blog.
Game Producer Blog
Spotify For Indie Games…? (Part 2 out of N)
Yesterday’s post about spotify for games detailed some of the ideas I had for this system. I want to openly think more about this. I’m seeing some challenges:
Technical issues?
I really like spotify: you can download the music to your computer (when you have subscribed to the service) and there aren’t too big copy protection issues there. So far I’ve managed to use the thing offline as well. So, naturally I would like that this spotify for indie game portal/service/thing would be as easy to use. No hassle playing.
I would think that probably some sort of “wrapper/launcher” software should be in use (thinking similar to Steam for example). There you could find & launch games and get recommendations and all that stuff. I don’t know what would be good technology for this. I have no doubts that it wouldn’t be possible.
Another alternative could be use of website, and play games in your browser. Games would be packed & played via browser (using a plugin). I’m thinking pjio.com here.
Getting developers in
My gut feeling is that if the system would think developers first and give the major part of the cake to them, I think there could be decent amount of developers & games that would get in the system. I also think promoting the system is to developers is not going to be the major issue.
Payment processing
With some experience on payment processing with developers and affiliates, I think this part of the system could be somewhat tricky. I don’t know how, but the system would definitely need automated tracking for payments, then list for example paypal info for each developer and then somehow (not sure if this is even possible) automatically or (more likely) with as little manual work as possible the payment could be sent monthly to developers. I’m smelling some issues here, but not too big ones.
Free version?
Spotify offers free version, but I’m not sure how well this would work in the gaming industry. Perhaps instead of showing ads, you could play demo versions for free. Not sure if this would be a good solution, but I feel that letting players play totally free, and show (annoying) ads wouldn’t work as well as it does in spotify. I might be wrong.
Anyway, the free/demo version thing should be planned & tested properly. I guess benchmarking competitors (Onlive and others) could help in this.
Getting gamers to join
And then there would be of course the trickiest part: getting gamers to actually buy something. It would require enough games, and then probably tons of promotion to get the ball moving. I’m not sure if this would require outside funding or investor (or kickstarter… or whatnot), but I don’t think is totally impossible thing to first get enuf donuts for promoting the thing, and then eventually get gamers to join. And when more gamers join, the more developers join and the snowball effect starts to kick in.
Other issues
These aren’t the only things to take care. There’s also legal issues/contracts with each party. Then there’s servers and their handling. Different platforms and so on. Probably some more.
Why say these things out loud – shouldn’t I like keep these business secrets hidden!?
Possibly… but then I wouldn’t get the ball moving.
I think this concept is a pretty good itself. But, getting from “idea” to “fully established portal” takes a bit more than writing couple of thoughts on paper.
Like said, I’m thinking out loud.
More thoughts on this? If AAA thing is somewhat covered (in several countries), and possibly more companies joining the movement… I’m pondering how well could indie/casual type of portal solution work.
What do you see as the biggest challenges? How well could this work in your opinion?
Would you be interested?
Geeks3D Forums
Monster Hunter Frontier: second benchmark "Kizuna"
2 years after the first benchmark, CAPCOM released a second one.
Download both versions from [url=http://daletto-members.mh-frontier.jp/community/benchmar...
Gamasutra Feature Articles
Demiurge's Road To Creativity
Demiurge Studios has gained a reputation as a reliable developer doing work-for-hire for larger studios like BioWare and Harmonix, but now the company has plans to break out -- studio director Albert Reed explains how it reached that juncture.
Geeks3D Forums
VLC media player 1.1.2 FINAL version available
What's new in 1.1.2
Quite soon after the 1.1.1, we were able to squash more annoying bugs, hence a new release for you!
* TS and DVB demuxing fixes
* Audio filters fixes to solve the "m...
NVIDIA Quadro whitepaper round-up
The bad orthography is not my fault... 
Mid Range BOARD FEATURES (NEW!) Quadro 6000 Quadro FX 5800 (NEW ...
[url=http://www.nvidia.com/conten...
OpenGL
Accelarating OpenGL to catch up and pass DirectX 11?
Japanese freelance journalist posted a detailed report of OpenGL BOF at SIGGRAPH. OpenGL 4.1 was the highlight.
Game Producer Blog
Some More Random Pixel Art
Here’s some more pixel art from me. I did these a week or two back, for learning purposes.
![]()
![]()
![]()
![]()
Presumably showing these things in my blog has some effect, since friend of mine wanted to hire me for some pixel art stuff. (Talk about not having multiple projects…)
iPhone Development Tutorials and Programming Tips
How To Push Out Notifications Locally Based On Time
There are times when you want to notify the user that an important event has occurred or will occur.
Push notifications are a great way to notify the user that an event has occurred and became a staple feature immediately after they were added into the iOS sdk.
Now local notifications are available that allow you to push a notification to the device that your app is running on based on time, the notifications can even be recurring.
Brandon Treb has written a great step-by-step tutorial on exactly how to do just that, which you can find here:
iPhone Programming Tutorial Notifications
Thanks for reading, if you like this please share it!
©2010 iPhone iOS 4 iPad SDK Development Tutorials, Programming Tips, News. All Rights Reserved.
. Share and Enjoy:
GameDev.Net
The GameDev.net Daily
WHY HELLO THERE. FANCY MEETING YOU HERE. Maryland has declared September 21st as Civilization V day. In a gubernatorial proclamation, Martin O'Malley, the governor of Maryland, said that September 21, 2010 is henceforth to be known as "Sid Meier's Civilization V Day." A statement went on to say that "Sid Meier is known throughout Maryland and the world as a pioneer of electronic gaming, having co-founded his first studio in Baltimore County, Maryland in 1982, and today continuing a tradition of developing the talent and creativity of future generations." The official proclamation as spoken was: "Now, therefore, I, Martin O'Malley, Governor of the State of Maryland, do hereby pay tribute to the outstanding achievements of Sid Meier on this day, July 28, 2010, and hereby recognize September 21, 2010, as Sid Meier's Civilization V Day, and call upon the people of our State to join in celebrating this salute." What a weird thing. Vanquish looks great. It also has five amusingly-titled difficulty levels. In earnings news: Nintendo reports sales down 25%, Capcom reports a 90% drop in profits year over year, and Sony Playstation Hardware and Sales increase, despite still operating at a loss. Green Bay, Wisconsin-based developer Frozen Codebase confirmed to Gamasutra that the company's Metalocalypse game has been cancelled. The game, based on the Adult Swim series of the same name, said that they "were making the game for Konami, and Konami lost the license." The studio has, apparently, known this since December of last year, though, so this is not news to them. Studio founder Ben Geisler went on to say that the company is "still moving on. We had to think quickly, but we're small, and because of that we're able to be pretty agile, so we just moved onto some new opportunities." APB and Crackdown developer Realtime Worlds revealed their new game earlier this week: Project: MyWorld. I'm, uh, actually not really sure what to think here. The game is being described as a "3D social gaming experience" and is scheduled to launch in 2011. Earlier this week, the Independent Games Developer Association announced that Zynga founder Mark Pincus would be delivering the keynote for the 2010 IGDA Leadership Forum. Mark Pincus is--wait, what? Did I miss something here? Did the definition of leadership change at some point in time and I missed the boat on the dictionary updates? Think what you will about social games -- and I'm sure there are plenty of opinions on that alone to go around -- but Mark Pincus is well-known for saying: "So I funded the company myself but I did every horrible thing in the book to, just to get revenues right away." Clearly this is someone to aspire to. I just have no idea what's going on. So, I've been on this total portable game kick lately, so this weekend is likely to be filled with rest (because I'm exhausted), dqicks (Dragon Quest IX), Shin Megami Tensei: Persona 3 & Devil Survivor, and maybe one of any number of other great DS games I've picked up recently. Oh, Starcraft 2 a bit too I guess. Happy weekend, dudes and dudettes!
GPGPU.org
Free GPU Computing Workshop in Adelaide, South Australia
eResearch SA, XENON Systems and NVIDIA invite you to attend a free workshop on GPU computing with CUDA. The workshop will be held at 1:00PM on Tuesday 10 August 2010 at Mawson Lakes, in the Mawson Centre Lecture Theatre MC1-02.
Register now by visiting: http://nvidia.eventbrite.com
CUDA is a parallel computing architecture and programming environment from NVIDIA that enables dramatic increases in computing performance by harnessing the power of the GPU (graphics processing unit).
Computing is evolving from “central processing” on the CPU to “co-processing” on the CPU and GPU. To enable this new computing paradigm, NVIDIA invented the CUDA parallel computing architecture. With over 100 million CUDA-enabled GPUs sold to date, software developers, scientists and researchers are finding broad-ranging uses for CUDA, including image and video processing, computational biology and chemistry, fluid dynamics simulation, CT image reconstruction, seismic analysis, financial computing, ray tracing, and much more.
The latest CUDA-enabled GPU architecture from NVIDIA, code-named “Fermi”, is now available in the form of the Tesla 20 series GPU computing solutions, which support many “must have” features for technical and enterprise computing. These include ECC memory for uncompromised accuracy and scalability, support for C++ and 8x the double precision performance compared to Tesla 10-series GPU computing products. NVIDIA Tesla GPUs are being used in 100s of clusters and data centers around the world, including the Nebulae cluster, currently the 2nd fastest supercomputer in the world.
In this workshop you will learn about CUDA, the Fermi architecture, and Tesla GPU Computing products. You will learn about the basics of programming GPUs using CUDA C and C++, the variety of available computational libraries for CUDA, tools for profiling and debugging CUDA applications, and approaches for optimizing CUDA parallel applications. You will also learn about CUDA-enabled desktop, workstation, and cluster computing solutions provided by XENON Systems.
Workshop Agenda
1:00 Paul Coddington – Introduction to eResearch SA and update on HPC facilities
1:10 Mark Harris – Introduction to NVIDIA CUDA, Tesla, and the Fermi Architecture
1:45 Dragan Dimitrovici – CUDA-enabled Hardware Options from XENON Systems
2:05 CUDA Parallel Programming Model and C for CUDA
2:30 Tea break
2:45 Live CUDA Programming Demo
3:15 CUDA Debugging and Profiling Tools
3:45 Optimizing Performance on NVIDIA GPUs
4:30 Update on CUDA for Fermi, Q&A
4:50 CLOSE
About the Speakers
Mark Harris
Mark Harris is a Senior Developer Technology Engineer at NVIDIA, where he works with developers around the world on software for high-performance computing and computer graphics. His research interests include parallel computing, general-purpose computation on GPUs, physically based simulation, real-time rendering, and gastronomy. Mark earned his Ph.D.in computer science from the University of NorthCarolina at Chapel Hill in 2003 and his B.S. from the University of Notre Dame in 1998. Mark founded and maintains GPGPU.org, a web site dedicated to general-purpose computation on GPUs.
Dragan Dimitrovici
Dragan Dimitrovici is the Founder and driving force of the XENON Technology Group. He founded the company in 1996 at the age of 21, when he recognised the opportunity to sell locally assembled computer hardware. The XENON Technology Group (XTG) which consists of of XENON systems, Mediaproxy and XDT develops mission critical solutions for new & emerging markets within the Defence, Scientific Research, Broadcast, film & Education industry. Its solutions are tailored to individual customer requirements. Each year XTG invest heavily in research and partners with world class Vendors including NVIDIA, Supermicro,Mellanox, ScaleMP, Adaptec, Accelereyes (Jacket for Matlab) & Microsoft. Dragan studied Information Management at Melbourne University and is a certified Intel Server Integration Specialist. In 2006, Dragan was an Ernst & Young, Entrepreneur of the year finalist.
Paul Coddington
Dr Paul Coddington is the deputy director of eResearch SA (eRSA), where he has been employed for the last seven years. He has undergraduate degrees in physics and mathematics from the University of Western Australia, and a PhD in computational physics from the University of Southampton, where he programmed some of the earliest parallel computers. He subsequently worked at Caltech, Syracuse University and the University of Adelaide on a variety of research and development projects focusing on the application of high-performance and distributed computing and the Web to a variety of scientific problems, including the development of online scientific data repositories.
To register visit: Register now by visiting: http://nvidia.eventbrite.com
Getting there and around
The workshop will be held in Lecture Theatre MC1-02 of the Mawson Centre, at the University of South Australia’s Mawson Lakes Campus. Maps of the campus and information on getting there can be found here: http://www.unisa.edu.au/about/campuses/ml.asp
Parking is available for visitors to the Mawson Lakes campus by the purchase of a Pay and Display ticket from any Ticket Machine located in the Unreserved Car Parks.
GameDev.Net
The Daily GameDev.net
Starcraft 2!!! I beat the campaign early this morning and just woke up about an hour ago after sleeping - I haven't been doing much of that since the game was released on Tuesday - which also happened to be my birthday. Best. Birthday. Ever. Now I'm hunting achievements and working on my ladder ranking - I'm currently 75th in the Platinum League (and falling fast, LOL). Best of all, however, is playing with the same friends I played the original StarCraft with back in high school. I actually made a program to steal my dad's internet password so I could sneak downstairs at night to log on and play - I generally slept through my first 2-3 periods of school classes :P So hey, if you're on Battle.net you can send me a friend request via gaiiden@blade-edge.com - or you can add me directly via name/code Gaiiden/400. But that doesn't seem to add me to your list, so if you do that, message me to say hi! StarCraft II didn't cost $100M+ - World of Warcraft did. Turns out the report I mentioned last week of StarCraft 2 topping $100M in budget monies was in error, as it turns out to actually be a figure related to the development of World of Warcraft. Blizzard says it will not be disclosing SC2's development costs "for competitive reasons". Can someone who understands business and finance explain that to me? I wanna know, dammit! It would be interesting to see where it stacks up in regards to GTA4 and GT5, for example. Tax breaks for North Carolina game devs. Says the release: "North Carolina Governor Beverly Perdue on Thursday signed into law a game industry-friendly bill that will grant tax incentives to interactive digital media productions in the state beginning January 1, 2011." Looking for tax breaks in your state? It may help to organize something like North Carolina's Triangle Game Initiative. GameStop buys Kongregate. In one of the more surprising acquisitions this week, retailer GameStop has snatched up indie Flash games portal Kongregate. What does this deal mean for indies? Gamasutra rustles up some interviews and finds out. Daily Remainders - more cool stories that didn't make the cut along with game dev articles/features. Some people collect coins and postage stamps. This dude collects CPUs. And he has a lot. Looking for work in Salt Lake City? You may be in luck, as EA just opened a new office there. Read this post in Chinese
GPGPU.org
A complete modular resultant algorithm targeted for realization on graphics hardware
Abstract:
This paper presents a complete modular approach to computing bivariate polynomial resultants on Graphics Processing Units (GPU). Given two polynomials, the algorithm first maps them to a prime field for sufficiently many primes, and then processes each modular image individually. We evaluate each polynomial at several points and compute a set of univariate resultants for each prime in parallel on the GPU. The remaining “combine” stage of the algorithm comprising polynomial interpolation and Chinese remaindering is also executed on the graphics processor. The GPU algorithm returns coefficients of the resultant as a set of Mixed Radix (MR) digits. Finally, the large integer coefficients are recovered from the MR representation on the host machine. With the approach of displacement structure and efficient modular arithmetic we have been able to achieve more than 100x speed-up over a CPU-based resultant algorithm from Maple 13.
(Pavel Emeliyanenko: “A complete modular resultant algorithm targeted for realization on graphics hardware”, Proceedings of the 4th International Workshop on Parallel and Symbolic Computation (PASCO2010), pages 35-43, Grenoble, France, July 2010. DOI link. Direct PDF link.)
Swarm-NG: integration of an ensemble of N-body systems
The Swarm-NG package helps scientists and engineers harness the power of GPUs. In the early releases, Swarm-NG will focus on the integration of an ensemble of N-body systems evolving under Newtonian gravity. Swarm-NG does not replicate existing libraries that calculate forces for large-N systems on GPUs, but rather focuses on integrating an ensemble of many systems where N is small. This is of particular interest for astronomers who study the chaotic evolution of planetary systems. In the long term, we hope Swarm-NG will allow for the efficient parallel integration of user-defined systems of ordinary differential equations.
QYMSYM: A GPU-Accelerated Hybrid Symplectic Integrator That Permits Close Encounters
Abstract:
We describe a parallel hybrid symplectic integrator for planetary system integration that runs on a graphics processing unit (GPU). The integrator identifies close approaches between particles and switches from symplectic to Hermite algorithms for particles that require higher resolution integrations. The integrator is approximately as accurate as other hybrid symplectic integrators but is GPU accelerated.
(Alexander Moore and Alice C. Quillen: “QYMSYM: A GPU-Accelerated Hybrid Symplectic Integrator That Permits Close Encounters”. preprint on arXiv, available code)
SMVM on GPU
From the paper’s abstract:
A wide class of finite element electromagnetic applications requires computing very large sparse matrix vector multiplications (SMVM). Due to the sparsity pattern and size of the matrices, solvers can run relatively slowly. The rapid evolution of graphic processing units (GPUs) in performance, architecture and programmability make them very attractive platforms for accelerating computationally intensive kernels such as SMVM. This work presents a new algorithm to accelerate the performance of the SMVM kernel on graphic processing units.
From the paper’s conclusion:
We have introduced several efficient techniques to accelerate the execution of the sparse matrix vector multiplication (SMVM) on NVIDIA graphic processing units. The proposed methods increased the performance of the SMVM kernel on GT 8800 up to 18.8 times compared to the quad core CPU and 3 times compared to previous work by Bell and Garland on accelerating SMVM for GPUs.
(M. Mehri Dehnavi, D. Fernandez and D. Giannacopoulos: “Finite element sparse matrix vector multiplication on GPUs”. IEEE Transactions on Magnetics, vol. 46, no. 8, pp. 2982-2985, August 2010. DOI 10.1109/TMAG.2010.2043511)
Ocelot: A Dynamic Optimization Framework for Bulk-Synchronous Applications in Heterogeneous Systems
Ocelot is a dynamic compilation framework designed to map the explicitly data parallel execution model used by NVIDIA CUDA applications onto diverse multithreaded platforms. Ocelot includes a dynamic binary translator from Parallel Thread eXecution ISA (PTX) to many-core processors that leverages the Low Level Virtual Machine (LLVM) code generator to target x86 and other ISAs. The dynamic compiler is able to execute existing CUDA binaries without recompilation from source and supports switching between execution on an NVIDIA GPU and a many-core CPU at runtime. It has been validated against over 130 applications taken from the CUDA SDK, the UIUC Parboil benchmark, the Virginia Rodinia benchmarks, the GPU-VSIPL signal and image processing library, the Thrust library, and several domain specific applications.
This paper presents a high level overview of the implementation of the Ocelot dynamic compiler highlighting design decisions and trade-offs, and showcasing their effect on application performance. Several novel code transformations are explored that are applicable only when compiling explicitly parallel applications and traditional dynamic compiler optimizations are revisited for this new class of applications. This study is expected to inform the design of compilation tools for explicitly parallel programming models (such as OpenCL) as well as future CPU and GPU architectures.
This paper identifies several key areas of research and open problems for optimizing the performance of data parallel programs (such as CUDA and OpenCL) that were encountered when designing a binary translator from PTX to LLVM/x86. The complete implementation of Ocelot is available open-source under the new BSD license at http://code.google.com/p/gpuocelot. Ongoing work involves translating PTX to AMD’s IL allowing CUDA programs to be executed on AMD GPUs, developing parallel-aware PTX to PTX optimizations, and exploring new programming and execution models that are layered on PTX.
(Gregory Diamos, Andrew Kerr, Sudhakar Yalamanchili and Nathan Clark: “Ocelot: A dynamic compiler for bulk-synchroneous applications in heterogeneous systems”. 19 International Conference on Parallel Architectures and Compilation Techniques (PACT2010), September 2010).
CGSociety
SIGGRAPH Thursday
Covering all the bases in the scramble of the last day SIGGRAPH sprint.
iCodeBlog
The Black Sheep: Free iPhone Apps Snoop Contacts
Blackhat has started and not surprisingly, there is quite a bit of information coming out of Las Vegas that relates to the iPhone. Lookout revealed some results from its App Genome project, which analyzed about 300,000 apps that are available for the iPhone and Android. Sometimes you get what you pay for and that may be true in the case of iPhone apps as well, in a rather negative way.
Lookout said that one third of free applications for the iPhone can potentially access a user’s location. 14% can access a user’s contacts and 23 of iPhone apps contain third party code. According to the company, new vulnerabilities will be unveiled at Blackhat, including mobile data leakage, which, however, seems to affect Android more than the iPhone.
Lookout noted that App developers need to “be more aware of best practices for accessing, transmitting and storing users’ personal data. In addition, consumers need to be aware of the permissions that mobile applications request and how that personal data is being used in the application.“
Sounds reasonable to us. Given its exposure, the iPhone has become a very attractive target platform for malicious intent. And boy, opening up the platform to all apps, whether they are App Store certified or not, may create an entirely different dimension of software threats.
CGSociety
SIGGRAPH Wednesday
At SIGGRAPH, Peddie, Pixologic and NVIDIA among a good bunch to show the way forward.
iCodeBlog
iPhone Programming Tutorial – Local Notifications
Way back when, when everyone was still complaining about Apple’s lack of support for (3rd party) multitasking, there was a simple solution put in place. This solution was known as push notifications.
Push notifications solved many of the issues associated with background processing. For example, when quitting the AIM application, the server could keep you logged in and send you a push notification when a new message arrived. You could then tap on a View button that would launch the app.
This solution is great and all, but it still requires that you have an active internet connection. As of iOS4, Apple has introduced a new type of notification that can be scheduled to fire within the device itself. It requires no complicated server programming, or additional configuration with iTunes. I am talking about Local Notifications.
Local notifications can be scheduled on the user’s iDevice to fire at any given time; you can even set them to be recurring. Today, we will explore these notifications and I will provide you with a simple example of how to schedule, view, and handle local notifications. Here is a quick screenshot of the project that we are going to create (note I am using the iPhone 4 simulator).
The project will allow a user to schedule a location notification to fire off at a given date. Using the text field, they are also able to specify some text for the notification. The table view below displays a list of all of the currently scheduled location notifications within the application.
So, by now (if you are an avid iCodeBlog reader), you are already a killer iPhone dev and I can rush through the stuff that is not related to the notifications. I will try to provide links to tutorials about sections that I rush through as well.
1. Create a View-Based Application
We will be using this as our starting point. Check out this tutorial if you are unfamiliar with doing this. Name the project Notifier.
2. Create All Properties and Dummy IBActions
This is usually a good first step when tackling an application like this. Let’s get everything set up in the .h and .m files so we only have to visit Interface Builder Once. Here is what our NotifierViewController.h file looks like.
@interface NotifierViewController : UIViewController<UITableViewDelegate,UITableViewDataSource> { IBOutlet UITableView *tableview; IBOutlet UIDatePicker *datePicker; IBOutlet UITextField *eventText; } @property (nonatomic, retain) IBOutlet UITableView *tableview; @property (nonatomic, retain) IBOutlet UIDatePicker *datePicker; @property (nonatomic, retain) IBOutlet UITextField *eventText; - (IBAction) scheduleAlarm:(id) sender; @end
Seems clear enough. We have 3 UI elements that we care about and one action. One thing to note is, your class should implement the UITableViewDelegate and UITableViewDataSource protocols. This is because we will be displaying a tableview containing all of the scheduled alarms.
Now, do all of the necessary steps in your .m file. This includes memory management for the IBOutlets and creating a dummy method for the scheduleAlarm IBAction. Your .m file should look something like this. Note: I have omitted import statements because my syntax highlighter wasn’t digging them.
@implementation NotifierViewController @synthesize datePicker,tableview, eventText; - (IBAction) scheduleAlarm:(id) sender { } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } - (void)viewDidUnload { datePicker = nil; tableview = nil; eventText = nil; } - (void)dealloc { [super dealloc]; } @end
Now it’s time to build our interface. Open Interface builder and construct an interface like this.
If you want my super sweet green button image, here it is:
After creating the interface, make sure you hook up all of the UI components to their corresponding IBOutlets and hook up the touchUpInside: method of the button the your scheduleAlarm: IBAction. For more info on hooking up IBOutlets, check out this tutorial.
3. Implement UITableViewDelegate and UITableViewDataSource Delegate methods to List Currently Scheduled Local Notifications
It may seem weird to implement the code to display the notifications before the code that creates them, however I like this approach better. This way, once we schedule the notifications, they automagically appear in our table. Add the following code to your .m file.
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // We only have one section return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of notifications return [[[UIApplication sharedApplication] scheduledLocalNotifications] count]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease]; } // Get list of local notifications NSArray *notificationArray = [[UIApplication sharedApplication] scheduledLocalNotifications]; UILocalNotification *notif = [notificationArray objectAtIndex:indexPath.row]; // Display notification info [cell.textLabel setText:notif.alertBody]; [cell.detailTextLabel setText:[notif.fireDate description]]; return cell; }
OK, finally some “real” code. Most of this code should seem pretty straight forward. If not, check out this tutorial on UITableViews.
So, the new code here is dealing with retrieving a list of scheduled notifications. Calling the scheduledLocalNotifications method of UIApplication will return an NSArray of all notifications scheduled by the current app. We just index into this array and grab each notification.
Finally, we are displaying the alertBody (text that displays when the notification fires) and the fireDate (date and time when the notification will display) in the tableview cell.
4. Scheduling Notifications
And now for the moment you’ve been waiting for… OK, probably not, but definitely the most exciting (least boring) part of this tutorial. Let’s implement that scheduleAlarm: IBAction that you framed out earlier. Update your .m file to contain the following code.
- (IBAction) scheduleAlarm:(id) sender { [eventText resignFirstResponder]; NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar]; // Get the current date NSDate *pickerDate = [self.datePicker date]; // Break the date up into components NSDateComponents *dateComponents = [calendar components:( NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit ) fromDate:pickerDate]; NSDateComponents *timeComponents = [calendar components:( NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit ) fromDate:pickerDate]; // Set up the fire time NSDateComponents *dateComps = [[NSDateComponents alloc] init]; [dateComps setDay:[dateComponents day]]; [dateComps setMonth:[dateComponents month]]; [dateComps setYear:[dateComponents year]]; [dateComps setHour:[timeComponents hour]]; // Notification will fire in one minute [dateComps setMinute:[timeComponents minute]]; [dateComps setSecond:[timeComponents second]]; NSDate *itemDate = [calendar dateFromComponents:dateComps]; [dateComps release]; UILocalNotification *localNotif = [[UILocalNotification alloc] init]; if (localNotif == nil) return; localNotif.fireDate = itemDate; localNotif.timeZone = [NSTimeZone defaultTimeZone]; // Notification details localNotif.alertBody = [eventText text]; // Set the action button localNotif.alertAction = @"View"; localNotif.soundName = UILocalNotificationDefaultSoundName; localNotif.applicationIconBadgeNumber = 1; // Specify custom data for the notification NSDictionary *infoDict = [NSDictionary dictionaryWithObject:@"someValue" forKey:@"someKey"]; localNotif.userInfo = infoDict; // Schedule the notification [[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; [localNotif release]; [self.tableview reloadData]; }
So, most of the explanation is in the comments. I’ll talk you through some of the less obvious stuff. The first tricky area is dealing with the NSCalendar. We just use the NSCalendar object to break up the date into components. Note: This demo does not require that we break the date up into components. You could have just as easily fed the date from the date picker into the notification fireDate. The reason that I’m showing you how to break it down is, you may have some sort of custom date logic to work with and this makes things much easier in the future.
Another important bit of code is where we set the alertBody or the notification. In this example we set it to the text that the user entered into the text field. You can set this to whatever you like.
The other thing I want to mention is the infoDict in the code. This dictionary is your chance to associate some additional information with the alert. For example, if you are using this alert in a game like We Rule to notify you when a crop is ready. You might want to set a key and value that contains the id of the crop that has completed. For now, we just set some arbitrary values and you can ignore them if you like.
After actually scheduling the notification, we just reload the tableview to get it to display immediately.
5. Handling Notifications After They Fire
The last piece of this puzzle is determining what to do when a notification fires. Fortunately, this step is very easy and handled inside of the appDelegate. When a notification fires, there are one of two situations. 1. The app is running and 2. The app is not running (or running in the “background”) .
Open up your app delegate .m file and add the following code.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. // Add the view controller's view to the window and display. [window addSubview:viewController.view]; [window makeKeyAndVisible]; application.applicationIconBadgeNumber = 0; // Handle launching from a notification UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; if (localNotif) { NSLog(@"Recieved Notification %@",localNotif); } return YES; } - (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif { // Handle the notificaton when the app is running NSLog(@"Recieved Notification %@",notif); }
The first thing we see here is the application badge number is getting set to 0. Whenever a notification fires, it will increase the badge count on the application. Next, we handle the case when the application launches from a notification. This happens when the user presses the view button on the notification. For now, we just NSLog the data, but you should handle the notification how you see fit for your app.
Finally, we implement the didReceiveLocalNotification method. This method is required if you want to handle notifications at all in your app. You will see this method fire when the app is running and you receive a local notification. When the app is running, you will not see the UIAlertView show up with the notification data.
And there you have it! The complete lifecycle of a local notification. You may download the source for this tutorial below. If you have any questions, feel free to post them in the comments section or write them to me on Twitter.
iPhone Developer News
See What's New in the Xcode 4 Developer Preview
iPhone and Mac Developer Program members can now download a preview of Xcode 4, the next generation of Apple's integrated development environment for creating iOS and Mac OS X applications.
With a brand-new interface, compiler, debugger and dozens of new features, Xcode 4 is faster, easier to use, and more helpful than ever before. Quite simply, Xcode 4 will help you writer better code.
Read about the many new enhancements in Xcode 4 and download the developer preview today.
Important Information about Submitting Your Apps <br>to iTunes Connect
All binary submissions to iTunes Connect must now be uploaded using Application Loader either through Xcode's built-in App Submission process, or directly using the Application Loader software. This offers a significantly improved experience over uploading through iTunes Connect, including faster uploading, a more stable connection, and early validation warnings. Make sure the status of your app in iTunes Connect is Waiting for Upload before you submit your binary.
Read the Distributing Applications section of the iOS Development Guide for more information about preparing your app for submission to iTunes Connect.
Registered Apple Developers can also download and watch these session videos from WWDC 2010 to learn more about using Application Loader for binary submission:
Game Producer Blog
“Spotify For Games”
This biz idea keeps coming to my head: spotify for games. I’ll briefly explain what spotify is for those of you who aren’t familiar with the service. Basically, with spotify, you can listen to music for free (with some ads here and there) or you can buy monthly subscription for $9.99 (or so) and listen to all the music without ads. There’s tons of music available – possibly everything you can imagine.
Now, I was thinking this same concept for games. We could start with indie games if you wish. Bit like WoW except you get to play tons of games.
Basically, for a monthly subscription (let’s say $9.99) you can play any games you want as long as you keep subscribing to the service. It might be possible to have a lite version which would show ads here and there until you get so annoyed that you want to (1) stop playing or (2) buy the subscription (or (3) more likely: find a hack)
The revenue share could go so that major part of the pie would go to developers (let’s say 70%), rest of it would be split between publisher (10-30%) and perhaps with affiliates (20%). These figures are just in top of my head.
How would developers share the pool of money? I’m thinking that the playing times (and/or downloads) could be tracked. The more downloads/playing time one game gets, the more money that game earns.
Just thinking out loud.
What you feel about this? Part 2 – “spotify for indie games” continues here.
Geeks3D Forums
CUDA, Supercomputing for the Masses: Part 19
Full story at [url=http://www.drdobbs.co...
NVIDIA Developer News
NVIDIA SIGGRAPH 2010 Selected Presentations Available
Selected theater and sponsored session screen casts are now available at NVIDIA's SIGGRAPH 2010 Developer Page. We hope you find these talks valuable! If you have specific feedback, please post...
Geeks3D Forums
70 Gigapixels Budapest - The largest photo on earth
Gamasutra Feature Articles
Addressing Conflict: Tension and Release in Games
John Rose of Nihilistic looks at the often utilized but under-discussed phenomenon of tension and release, and how games can build emotional involvement in players through intelligently crafted applications of this technique, which, in his argument, spans all art art forms.
NVIDIA Developer News
SceniX 6.0, OptiX 2.0, and Cg Toolkit 3.0 Now Available
Major software releases of SceniX, OptiX, and the Cg Toolkit are now available for public download. More details on these releases can be found on NVIDIA's Application Acceleration Engines page...
NVIDIA releases OpenGL 4.1 drivers
NVIDIA has released drivers for OpenGL 4.1. The WHQL-certified Windows drivers and Linux drivers provide full support for OpenGL 4.1 and GLSL 4.10. Download links for the drivers, as well...
Geeks3D Forums
NVIDIA Tesla Compute cluster driver 259.03 WHQL
For even greater performance, NVIDIA recommends using our exclusive TCC Windows driver. The benefits of this driver include:
* Reducing kernel launch overhead
* Enable Remote Desktop and other services
* No device timeout for optimized perf...
OpenGL
OpenGL 3.3 and 4.1 reference pages now online
You asked, we listened.The OpenGL reference pages have been updated for OpenGL 4.1 and OpenGL 3.3. Both sets of reference pages are now online.
OpenCL BOF and OpenGL BOF presentation slides from SIGGRAPH available online
Did you miss either the OpenCL BOF or the OpenGL BOF at SIGGRAPH? You can now view the presentation slides online. Included from the OpenCL BOF is the Overview with Neil Trevett, Rendering the Breeze with Graphic Remedy, Intel and OpenCL and Optical Flow with NVIDIA. The following presentations are available from the OpenGL BOF: What’s new with OpenGL 4, GLSL 4 tips and tricks, an Ecosystem update, Graphics benchmarking goes to 11, and Mixed OpenGL and OpenCL debugging and profiling using gDEBugger.
CGSociety
Toy Story 3 for the Wii
Advances in Real-Time Rendering in 3D Graphics and Games.
iPhone Development Tutorials and Programming Tips
Easy iPhone Simulator Screenshots With Status Bar Removed
If you’ve had to take screenshots of the iPhone simulator you know what I am talking about. Things just don’t look as good if you can’t see an iPhone in the image.
The problem is that when you want the simulator in the screenshot then you need to have some sort of solid background so that you can remove it afterwards, and you will need to select out the area of the screen with the simulator and then in your imaging program remove the statusbar. This gets old fast if you are taking a lot of screenshots.
I found out about this great program that you simply load up and it will take a snapshot of the simulator statusbar removed, and if you want you can very quickly and easily take multiple screenshots.
The utility can be download here:
iPhone Simulator Cropper
Definitely a very handy tool.
If you liked this, please share it!
[Via: John Muchow, Alex Curylo]
©2010 iPhone iOS 4 iPad SDK Development Tutorials, Programming Tips, News. All Rights Reserved.
. Share and Enjoy:
CGSociety
Game Papers @ SIGGRAPH
The Player Experience is discussed at a new game-themed session at SIGGRAPH.
Production Sessions
'The Last AirBender' was as big a project as 'The Golden Compass' with some spectacular CG animals presented.
Walter Murch - Part Two
Flickering Myth profiles the career of three time Academy Award-winning sound designer and film editor Walter Murch.
NVArt 5 winners
The latest CGSociety/NVIDIA contest winners have been announced on the SIGGRAPH show floor by Syd Mead.
SIGGRAPH Wonderland
Alice in Wonderland: getting down in the rabbit hole.
iPhone Developer News
Announcing iAd for Developers. A great way to promote your applications.
The new iAd for Developers program is a great way for you to advertise your own apps to millions of users across the iAd Network. When a user taps on an ad for your app, they can download it from the App Store without leaving the app they're in.
It's easy to get started. Learn more about how you can drive more customers to your app with iAd for Developers.
Exciting New Features in iTunes Connect
iTunes Connect now offers exciting new features and enhancements. The iTunes Connect Developer Guide (version 6.0) provides details about these features and how you can take advantage of them, including:
- Using the new Version Release Control to choose when your new app version goes live on the App Store;
- Delivering binaries using Application Loader;
- New states for your app including Prepare for Upload, Pending Developer Release, and Processing for App Store;
- UI Enhancements that indicate when you can edit your app information;
- Game Center functionality for the setup of Achievements and Leaderboard Categories for sandbox testing purposes.
You'll find the iTunes Connect Developer Guide available for download on the homepage of iTunes Connect.
AMD at Play
Welcome, New AMD Graphics Users!
Momentum for AMD graphics just won’t stop. As OEMs gear up for the busy fall computer-buying season, more and more are selecting ATI Radeon™ graphics cards, which are now being offered as standard on powerful work machines and built-for-fun gaming desktops, as well as mainstream desktop computers.
Whether they’re speedily editing videos or gaming on a multi-screen setup, we’re looking forward to welcoming more people to AMD graphics as these PCs make the benefits of ATI Radeon™ HD 5000-series graphics cards available to everyone:
- DirectX® 11 Support – Watch Blu-ray™ and HD video in unrivalled realism and get intense gaming performance with support for Microsoft® DirectX® 11 (HD 5400 series and higher)
- ATI Eyefinity Technology – Expand your visual real estate across multiple displays and immerse yourself in the viewing experience with ‘wrap around’ multi-display capabilities1
- ATI Stream Technology – Maximize the massive parallel processing power of your GPU and tackle demanding tasks like video transcoding with incredible speed2
So welcome to the family! Let us know what you love about your new AMD-powered desktop!
1 ATI Eyefinity technology works with games that support non-standard aspect ratios, which is required for panning across multiple displays. To enable more than two displays, additional panels with native DisplayPort™ connections, and/or certified DisplayPort™ adapters to convert your monitor’s native input to your cards DisplayPort™ or Mini-DisplayPort™ connector(s) are required.
2 ATI Stream technology works with applications which have been specially designed to enable its GPU acceleration features.
Dave Erskine is a Public Relations Manager at AMD. His postings are his own opinions and may not represent AMD’s positions, strategies or opinions. Links to third party sites are provided for convenience and unless explicitly stated, AMD is not responsible for the contents of such linked sites and no endorsement is implied
The Brainy Gamer
Blood, and Steel, and Bacon
I'm wrapping up my series of 'infatuated critic' posts on DeathSpank with my latest column over at GameSetWatch. I discuss the evolving role of comedy in games and why I think DeathSpank is worth noting in this regard. In a desperate lunge at objectivity, I also explain why I think the game falls short in a few places.
Here's a snippet:
As a comedic game, DeathSpank advances the ball down the field in some creative ways, and I'll discuss those in a moment. But I also think DeathSpank exemplifies the conundrum faced by video games that try to be funny. We can illustrate that tension with two apparently contradictory claims:
Claim 1: Video games are well-suited to making us laugh. Like a well-crafted game, a successful comedy is highly technical, based on a set of clearly-defined rules, and carefully engineered to trigger a calculated response. It relies on the precise execution of a final build, fine-tuned through iteration and feedback.
Comedy, as Henri Bergson observes in his seminal "Theory of Laughter," is "something mechanical encrusted on the living." One could easily apply the same phrase to describe games. Game developers understand how to build complex systems for interactive communication, and that's exactly what a successful comedy is. Comedy is aimed at the intellect, and gamers are smart. We can do this!
Claim 2: Video games are hopeless vehicles for comedy. They may manage to deliver wordplay and 'wackiness,' but desperately trying to 'be funny' usually results in an outmoded brand of one-liner comedy that died with the Borscht Belt. Furthermore, player agency in an interactive world (a defining feature of modern games) is mostly antithetical to comedy.
When choice, pace, and timing are handed off to the player, the potential for comedy dissipates. We may play an interactive role watching a live stand-up comic, but we don't write the punchlines; nor do we decide when to deliver them. In the same Bergson essay referenced above, he describes comedy as a "social gesture." Nearly all the 'funny' games we've seen are single-player affairs, lacking the spontaneous group-mind formed when we experience comedy in other media. We're out of our league!
You can read the whole essay here.
Game Producer Blog
Sixth Golden Rule For New Indies
I just read the five golden rules for new indies from winterwolves blog.
I’m adding sixth one:
6. finish your game
By finishing games, one learns how to finish games. That’s a crucial thing in this industry. It’s okay to prototype and it’s even okay to drop projects, but if you follow the fifth rule (“no epic projects”) then you should also focus on this rule.
What’s the next golden rule in your opinion?
OpenGL
Leadwerks Engine 2.4 and pureLIGHT powered by OpenGL
Leadwerks Engine 2.4 is now available, featuring integration with pureLIGHT lightmapping. Leadwerks deferred dynamic lighting combines with pureLIGHT global illumination lightmaps to deliver the most advanced real-time lighting in the world. Leadwerks Engine 2.4 also supports dynamic colored shadows for stained glass effects. Particles can cast translucent shadows that combine with solid shadows, and volumetric clouds can now cast real shadows on the ground. Leadwerks Engine is powered by OpenGL and supports direct OpenGL programming and custom GLSL shader effects.
CGSociety
Houdini 11 released!
Side Effects Software pushes Houdini 11 out the door at SIGGRAPH.
AMD at Play
ATI Eyefinity Validated & Ready:Not Just a Logo, It’s an Experience (Part 1)
My name is Bruce Gasson, I work in the technical group at AMD and I’m responsible for ATI Eyefinity Validated and Ready testing. Seven years ago, we launched our Certification Program to help improve the ‘End User Experience’ for our graphics cards. We look at everything, starting with packaging to make sure that the information is correct and easy to understand right up to the design of the graphics card itself.
In September of last year, we launched ATI Eyefinity technology1. This incredible technology allows you to game across multiple monitors as if they were one big seamless display. You have to see it in action to understand the impact that gaming at super wide aspect ratios has in creating a truly immersive experience.
It is simply fantastic how expanding your in-game field of view and opening up additional content can give you the feeling that you’re “in the game.” Imagine tearing down the track and seeing a car coming alongside trying to pass. What about rushing an objective while explosions tear-up the ground in your peripheral view? Simply breathtaking! Even “work” can benefit from ATI Eyefinity technology with added screen space and separate displays that save you a lot of window shuffling and minimizing.
So how do we test this hardware you ask? The ATI Eyefinity Validation and Ready testing process for hardware, focuses on how you are going to use the hardware. We still do signal integrity and other engineering tests, but we really focus in on the user experience.
We test the hardware to see if it works the way you, the user, are going to utilize it. For example, we test DisplayPort™ adapters on a variety of graphics cards, panels, and system configurations. Knowing that you may want to use the product at a variety of resolutions, we also test the hardware at several display resolution settings. We test graphics cards running games you play, in various ATI Eyefinity modes and check for visual issues – no scripts, no screen captures, minimal automation and maximum observation by human eyes. We look at the screens for things that you might experience. If all looks good to us, we list the adapter as being ATI Eyefinity Validated and Ready. If the adapter doesn’t pass muster, we work with the manufacturer or developer to address the issue or provide the information they need to get the product to a passing grade. Fundamentally it has to work and we take the extra step to test for compatibility, interoperability and ease of use.
So when you’re shopping for your next ATI Radeon™ graphics card, look for the ATI Eyefinity Technology logo. Before you buy dongles/displays/etc. to build your multi-display “Dream PC,” go to http://www.amd.com/eyefinity to find the hardware that will give you a premium experience.
In my next blog, I’ll give you an inside look into how we’re testing the latest games to make sure your ATI Eyefinity experience rocks!
Bruce Gasson, works in the technical group at AMD. His postings are his own opinions and may not represent AMD’s positions, strategies or opinions. Links to third party sites are provided for convenience and unless explicitly stated, AMD is not responsible for the contents of such links sites and no endorsement is implied.
1ATI Eyefinity technology works with games that support non-standard aspect ratios, which is required for panning across multiple displays. To enable more than two displays, additional panels with native DisplayPort™ connectors, and/or DisplayPort™ compliant active adapters to convert your monitor’s native input to your cards DisplayPort™ or Mini-DisplayPort™ connector(s), are required. ATI Eyefinity technology can support up to 6 displays using a single enabled ATI Radeon™ graphics card with Windows Vista or Windows 7 operating systems – the number of displays may vary by board design and you should confirm exact specifications with the applicable manufacturer before purchase. Systems using multiple ATI Radeon™ graphics cards can support a maximum of 8 displays (total across all cards in system) with a maximum 6 of those displays being used together in a display group (also known as a single large surface mode).
ATI Eyefinity Validated & Ready: Not Just a Logo, an Experience (Part 2)
This month, I’m back to give more insight into what the ATI Eyefinity Ready and ATI Eyefinity Validated experience means to you.1 Last time, I talked about our mindset and methodology when testing hardware. Now, I will focus on software. Having cutting edge hardware features is only a benefit when software is there to take advantage of it. We understand this and we are working with developers to make this happen.
To ensure the best ATI Eyefinity technology experience, our teams have developed an SDK (Software Developers Kit) that makes it a lot easier for developers to take advantage of the incredible vistas and panoramas possible with ATI Eyefinity technology. Combine this with full DirectX® 11 support in our latest generation of graphics solutions and you get an incredible gaming experience. 2 So what can you expect and what do we test before we list a title as ATI Eyefinity Validated or Ready?
Through working with multiple groups including software developers, a focus group from the Widescreen Gaming Forums community and our own internal engineering teams, we created a list of key criteria that make a game stand out as ATI Eyefinity Validated or Ready. The current criteria are posted here, but let’s look at it in a little more detail:
- ATI Eyefinity technology resolutions must be supported within the game for ATI Eyefinity Validated status. ATI Eyefinity Ready titles may require an edit to the game file to expose the resolution. Having access to these resolutions is the first thing we test.
- In order to qualify as ATI Eyefinity Validated and Ready, we require a greater “Field of View” (“FOV”). You should be able to see more than what you could with a single panel: more of the world is visible or more content like menus or other game content is visible. This translates directly into a more immersive game experience.
“AR” or “Aspect Ratio” must be correct for the majority of the screen space. Some minor stretching of content on the side panels is acceptable but it should not be jarring or look like a funhouse mirror. Simply stretching the image across the displays is not acceptable. Neither is cropping the top and bottom off of the image to make it fit.
- “Cut Scenes” (such as in-game movies) must be presented fully within the visible area. We make sure that there is no cropping of content. Some stretching may be acceptable if it is minor and does not detract from game play.
- Game menus and dialog boxes must be visible and not rendered off the screen. Through the tools that we have made available to developers, placement of visual elements like menus, dialog boxes and HUD elements within an ATI Eyefinity-enabled multi-display FOV is easier than before. Ensuring that these elements are visible, usable and free of distortion or loss of aspect ratio is part of what ATI Eyefinity Validation and Ready testing is all about. We strive to help developers create immersive games that work well in ATI Eyefinity mode and help you, our valued customer, find these games. We currently have a listing of ATI Eyefinity Validated and Ready software posted at www.amd.com/eyefinity and that list is growing quickly.
In my next blog, I’ll give you an inside look into the overall benefits and “economic value” of setting up an ATI Eyefinity configuration. Using Validated and Ready components, you will be surprised how inexpensive it can be.
Stay tuned.
Bruce Gasson, works in the technical group at AMD. His postings are his own opinions and may not represent AMD’s positions, strategies or opinions. Links to third party sites are provided for convenience and unless explicitly stated, AMD is not responsible for the contents of such links sites and no endorsement is implied.
1ATI Eyefinity technology works with games that support non-standard aspect ratios, which is required for panning across multiple displays. To enable more than two displays, additional panels with native DisplayPort™ connectors, and/or DisplayPort™ compliant active adapters to convert your monitor’s native input to your cards DisplayPort™ or Mini-DisplayPort™ connector(s), are required. ATI Eyefinity technology can support up to 6 displays using a single enabled ATI Radeon™ graphics card with Windows Vista or Windows 7 operating systems – the number of displays may vary by board design and you should confirm exact specifications with the applicable manufacturer before purchase. Systems using multiple ATI Radeon™ graphics cards can support a maximum of 8 displays (total across all cards in system) with a maximum 6 of those displays being used together in a display group (also known as a single large surface mode).
2 ATI Radeon™ graphics cards that support DirectX® 11 consist of graphics cards in the ATI Radeon™ HD 5900, HD 5800 and HD 5700 Series and the ATI Mobility Radeon™ HD 5800, HD 5700, HD 5600 and HD 5400 Series. Check with the manufacturer for specific support information.
Morgan3D / Twitter
morgan3d: Limbo for Xbox 360 Live Arcade http://bit.ly/bXhg2Y is a platformer for adults: beautiful, clever, and occasionally horrifying.
morgan3d: Limbo for Xbox 360 Live Arcade http://bit.ly/bXhg2Y is a platformer for adults: beautiful, clever, and occasionally horrifying.
iPhone Development
App Licensing
Google took an interesting step recently by adding a service called App Licensing to the Android SDK. I haven't looked at it in detail, but the gist of it is that it's a license validation system for third party apps. It allows third party apps to check with the Android Marketplace to see if it's authorized to run on the particular device. To simplify it beyond recognition: It's sort of like Steam for Android Apps.
This is a bit of a double-edged sword for Google, though. Steam-style online authentication isn't exactly warmly embraced by the proponents of "open" systems, but given how easy it is to pirate applications downloaded from the Android Marketplace (and then return them for a refund!), it's probably a necessary step to attract developers to the platform. Google has to at least look like they're trying to stop the rampant piracy.
But here's the thing: With an open source OS, I can think of a dozen different ways to try and circumvent something like this, and I'm hardly a 1337 hacker. Google can add complexity and make it harder to circumvent, but if someone with the right skills has full access and control over the hardware and software, you can't stop them from getting around any kind of licensing authentication scheme you create. It's like DRM. Within a few months (at most), there'll be an exploit or hack to allow pirated Marketplace apps that use App Licensing to be run without a license. I can almost guarantee it. Google can keep changing the process to fight the pirates, but it's a losing battle, and likely would entail a lot of inconvenience to developers in the process.
This is one area where a closed system has advantages. For us iPhone developers, only about 10% of our potential audience can possibly pirate our apps because pirating requires jailbreaking. That 10% is the starting point. The most it can be. Jailbraking is a quid pro quo, so 90% of our potential market can't, won't, or wouldn't know how to pirate an app. But the real number is even smaller than that. Not everybody who jailbreaks their phone pirates apps - there are other valid reasons to jailbreak (so I'm told, I've never been tempted myself) - and I know people who have jailbroken their phones who are ethical and wouldn't consider pirating an app.
There's no doubt that there are advantages to "open" systems, but there are also disadvantages. In this particular case, one of the most major drawbacks of "open" doesn't hurt Google or the Wireless providers, it hurts third party developers. If that wasn't true, Google wouldn't be devoting engineering hours to try and stop it with 'app licensing'.
Life as an iPhone Dev has it's problems, no doubt. When you have an app sitting in review for months, the way Briefs has been, when you get rejected on seemingly arbitrary or inconsistent grounds, or when you can't implement something that would benefit your users because of a term in the license agreement, it sucks. But, when all is said and done, a good app on the App Store properly promoted can make enough money for a development team to live on. Until that can be said about the "open" Android Marketplace, I simply can't buy into the "open is better" mantra.
If a curated platform offers a better user experience and allows third party developers to actually make money, I just don't see "curated" as a dirty word, no matter how many times Google's Android Evangelist tweets it.
GameDev.Net
The Daily GameDev.Net
Well, I completely forgot about my Daily yesterday. That's what I get for working a twelve hour day, I suppose. Today's Hump Day is Not Literal GameDev.Net Daily awaits! The obvious bit of news? StarCraft 2 is now out. I'm not actually a fan myself, and will probably merely play through the single player once the game hits ten dollars just like I did with the first one. However, SC2 is practically a world distorting force, so it's not a huge shock that there are a few bugs. They'll probably be patched up soon enough, but if you're having trouble you may not be alone. Social games are continuing their unstoppable, Facebook driven march across the game industry -- Disney just bought social developer Playdom for $763 million. If only I'd founded a wildly successful social games developer. And speaking of Facebook, it looks like they're in for a world of privacy related pain. You might be familiar with Curt Schilling's 38 Studios. They finally announced their joint project with Big Huge Games last week, called Kingdoms of Amalur: Reckoning. Well, the rumors are true and the company is leaving the Boston area for Rhode Island. The decision appears to be driven by a loan offered by Rhode Island in exchange for job creation. Other game developers in the area were somewhat critical, claiming that 38 values money over people. Personally I'd suggest that maybe they value not going bankrupt and firing everyone at 38 and Big Huge. It looks like Australia's fight for an R18+ game rating isn't over yet, as the motion was defeated as both major political parties failed to strongly back the change. Nintendo's been fighting hard against piracy, and it looks like they've won big in the UK; London's high court has ruled that the R4 and similar DS flash cartridges are illegal, because it requires bypassing Nintendo's security. This comes right on the heels of a decision in the US that jailbreaking iPhones, with the court determining that the DMCA only makes bypassing DRM illegal if the bypass is actually used for copyright infringement. I'm sure some of you in the UK have thought to yourself, "I love ice cream trucks but why isn't there an ice cream truck for my dog?" Well good news everyone.
Gamasutra Feature Articles
Successful Playtesting In Swords & Soldiers
Dutch usability research house Valsplat's Jeroen van der Heijden shares details and insights from playtesting Ronimo's popular WiiWare strategy title throughout its conversion to PlayStation Network.
OpenGL
NVIDIA OpenGL 4.x Talk at SIGGRAPH
Join Barthold Lichtenbelt and Mark Kilgard at an NVIDIA-sponsored session dedicated to OpenGL at SIGGRAPH 2010 to learn about OpenGL 4.x. Join the free lecture Wednesday, July 28th from 10:15-11:30 in Room 402.B for the Los Angeles Convention Center.
Geeks3D Forums
Microsoft High Performance Computing 2008 R2 round-up
Windows Server 2008 R2 HPC Edition Evaluation
[url=http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=4b013794-...







