What programming language does Sony's PhyreEngine use? - ps3

I'm looking into developing a title for the next PlayStation (to be unveiled on Feb 20th) and PSVita to be distributed on the PlayStation Network. I know how to get in contact with Sony and all, but I haven't submitted my application yet (even though I have a pretty good portfolio) and I was hoping to use Sony's own PhyreEngine for development of the game.
I was wondering if any of you guys knew what programming language the engine uses or is based on? As I want to be well prepared for production of the game. Also, if there's anyone who reads this and has developed a PSN game before, do you have a rough outline of how much it'd cost? (Dev Kits, SDKs, licenses etc.)
Thanks
Harry

PhyreEngine itself is written in C++. The tools are primarily C#.
Can't tell you anything about costs in general, you'd have to get in touch through official channels for that info. PhyreEngine itself is free to any licensed developer though, it's just part of the SDK.
(disclosure - PhyreEngine is my project)

PhyreEngine is based on C++, with a possibility of a few low level C libraries.
This information is from a post in this forum: http://www.3dbuzz.com/forum/threads/181890-What-runs-on-a-PS3/page2, about halfway down the page. A poster asked the same questions you did.
Hope this helps!

Related

ipad programming guidance

I'm just at the startup level in ipad/iphone programming. There is a project in my mind, but I need some guidance on key points:
fundemental requirements:
1)user interface and interaction like wired magazine app(playing movies on page,etc)
2)accessing the timeuser spent on pages and videos
more:
-accessing another application's data (and let's say that application can give permission, if there is so)
Maybe these are just easy things to figure out, but if you could point me where to look I would be pleased.
PS: I have more than 10+ top seller ebooks on ipad/ios/iphone programming and I'm started to reading them. To be clear, names of these concepts (in what way I should research accessing the time user spent on a page- I did try on google on my own words but could not get the desired result)or some material pointing the issues really ease my way.
The UI portion of your question should be pretty easy to get to, it will just take learning a lot of the Cocoa Touch library, probably even a bit of Core Foundation.
There are two books I highly recommend:
Programming iOS 4
iPhone Programming: Big Nerd Ranch
I strongly recommend Programming iOS 4, primarily because it has been updated for XCode 4.
To answer your other question: to the best of my knowledge, you are not allowed to access other application's data due to sandboxing. You can, however, share data between your own apps if they share the same App ID.
First, as to the question on sharing data between apps. You can pass data between apps - basically launching one app from another and passing arguments. This can go both ways. If this is what you want, I'll share more on that.
As to learning, I recommend devouring Apple's documents, their samples, and Stackoverflow. Most of the iPhone development books you come across on development will be useful.

learning objective-c with Xcode?

I am a PHP developer, and want to learn objective-c usage withing its well known IDE - XCode to start building IOS apps for iphone and then sell them on AppStore.
my questions are:
What's the best (and easiest) documentation to start with ?
Is it that easy for me (as a beginner objective-c developer) to attract customers on AppStore and get them to buy my IOS apps, or is there a huge competition among experts on AppStore so that there is no chance for beginners on AppStore?
If there is any chance to sell my apps on AppStore, what's the possible profit for them on AppStore ?
thanks in advance.
What's the best (and easiest) documentation to start with?
I found this link (for PHP programmers):
http://mohrt.blogspot.com/2008/10/objective-c-crash-course-for-php.html
Otherwise go with books, and use xCode and read code.
Learn Objective - C: (Programming Objective C 2.0) - http://www.amazon.com/Programming-Objective-C-2-0-Stephen-Kochan/dp/0321566157/ref=sr_1_1?ie=UTF8&qid=1298891453&sr=8-1
Learn iOS coding: (Big Nerd Ranch) http://www.amazon.com/iPhone-Programming-Ranch-Guide-Guides/dp/0321706242/ref=sr_1_1?ie=UTF8&s=books&qid=1298891484&sr=1-1
Is it that easy for me (as a beginner objective-c developer) to attract
customers on AppStore and get them to buy my IOS apps, or is there a huge
competition among experts on AppStore so that there is no chance for
beginners on AppStore?
If your idea is good and your app is well written sure. But there are a few competitors.
If there is any chance to sell my apps on AppStore, what's the possible profit for them on AppStore ?
There is no easy answer to your question here, but you will have a profit from apple with 70% of the product prize.
Good luck out there.
I have learned IOS programming using big nerd ranch guide. It is very nice, updated (this is important because the development environment keeps changing) has lots of good examples and most importantly teach you each concept by making you write the code itself. Following it throughly will result shortly.
Writing an attractive app is a different issue. But if you improve yourself in UI design a little bit, tackle the challenges of the mobile environment and provide functionality & stability to your app, you will have a chance to shine. But I do not like the idea of trying to create an app which profits well. Build an app with good quality and make people willing to support your work instead; profit should be a result, not the aim.
In response to your questions:
The best (and easiest) documentation to start with is definitely Big Nerd Ranch's Objective-C Programming for beginners. It may seem overwhelming at the beginning but if you're able to plug away at server side languages day after day then you will eventually grasp objective-c very well. Also recommend watching Stanford University's iOS videos on youtube in your down time to become more familiar with the terminology while learning the language.
It seems the app store is no different from doing a website Google search for results, so you may want to consider marketing initiatives to get your app up-voted in order to become recommended by others or possibly just grow your download numbers. This answer is purely subjective.
Depends purely on your marketing efforts to grow interest.

GameSalad like tools for PC

Anyone knows of a tool like GameSalad for PC in which you don't have to write scripts or anything but just use the existing behaviors and events to create custom game logic?
Thanks
If you are looking for a cross platform game constructor you might want to try Flowlab, which runs in a web browser.
Construct from Scirra is a free, open-source, drag and drop, game engine. There is however talk of them making a paid version of Construct in the future.
I've only used Construct once, so I don't know that much about it, but i do know a lot about GameMaker.
As long as your not trying to do something complicated like a 3D or MMO game, (both of which GameMaker supports, but with major limitarions) I would recommend you use it, especially if your just starting out. GameMaker is one of the easiest if not the easiest programming language to learn. It also teaches good programming skills. As I mentioned before GameMaker uses drag and drop so you can easily transition from the D&D to the progeamming aspect of GameMaker.
As mentioned in the above posts RPG Maker is another popular tool , but it's limited to RPG games, and doesn't allow you to easily transition to an actual programming language. It's also very restrictive in what you can do.
When you feel like getting into some more advanced gaming engines, Blender is a great tool to use for creating 3D games. It can also be used to create 3D modules and has the ability to create animated movies.
I've never used PyGames before, but Python is a easy language to learn, and would probably be the best way to transition from a D&D program to a programming language.
*GameMaker can be extended in functionality with DLLs and Blender can be extended with Python.
So to summarize, GameMaker is a great tool for creating Games. RPG Maker and Construct are other possibilities, but from my view there not as good as GameMaker. when your ready to get out of Drag&Drop gaming engines Blender, PyGames, and GML(Game Maker Language - the advanced part of the GameMaker product) are all great resources.
PlayBits has an interface similar to GameSalad and makes games for Windows Phone 7, using your PC. Here's the link: http://www.playbits.com/?page_id=171
RPG maker here you can find it is a light weight game engine but if you are clever you can make really good apps
In terms of game development for iOS and Mobile development using the Windows platforms you might want to have a look at these two:
http://www.giderosmobile.com
and
http://www.stencyl.com/
Although I haven't, yet, used the Gideros solution, it's targeted specifically for Mobile platform development and has what looks to be a tidy UI with code folding and syntax coloring if you're comfortable with a traditional coding approach.
Stencyl is an interesting product, it sits beyond the capabilities of Gamesalad and uses a blocks metaphor for programming which works well.
Personally, I wouldn't use any tool that has a single platform for output, which is why I stopped using Gamemaker (I'm aware it now has a Macintosh client, but the quality of the application has been terrible and their player isn't much good either.)
If you're looking for GameSalad for Windows you might want to check out our HTML5 game engine Construct 2 which functions in a similar way.
It's also got an event based system with no programming required, and there's an extensive free edition available for you to try out as well.
You can use Yoyo Game's GameMaker:Studio also.
GameMaker is one such tool.
There is also The 3d Gamemaker, by the same people who make other rapid-game-development tools like DarkBasic.

What are the most valuable parts of Computer Science studies for Cocoa developers?

What are the most valuable parts of Computer Science studies for Cocoa developers?
Another way I might word this question is:
If I’m not going to go to school for Computer Science but want to be a developer working primarily with Cocoa, what are the things I should make sure I learn that I otherwise might miss by being self-taught, and be worse off for it.
Update: Replaced the term "professional Cocoa developer" with "developer primarily working with Cocoa", in hopes that the intent of my question is somehow clearer.
To be clear, I've been working with Cocoa for two years and am comfortable with Objective-C and the Cocoa frameworks, as well as Cocoa design patterns and the developer toolset, and thus am for the most part fluent with the Mac and iPhone platforms. But I have wondered whether I'm missing important CS or SE elements due to being self taught/no formal training, and not coming from other languages or platforms.
This question is for Cocoa developers.
There are many, but things that come to mind imediatly
-Design Patterns (the Cocoa framework relies on many Design Patterns, if you follow them it will make your life very easy, most obvious example is MVC)
-Algorithms and Data structures(this applies to any framework really)
-Memory Management (No garbage collection on the iphone!)
I would question whether there's really such a thing as a "professional Cocoa developer" (from a philosophical standpoint), or if you would want to be one. There's "professional developer", who may work with Cocoa primarily. A professional developer is language-agnostic and as such has a solid career ahead of him/her. A language- or platform-specific hacker has very limited usefulness.
The question to ask is do you want to be a developer or not? If there aren't any good Cocoa jobs available at the moment, or Cocoa is replaced by something newer and better and very different, a professional developer changes gears and follows. Are you OK with that?
If so, a computer science degree definitely cannot hurt. If not, you should probably not put all your eggs in the Cocoa basket and pursue a non-CS degree.
In addition to what's been pointed out already, I highly recommend reading "The Pragmatic Programmer". It contains a wealth of information on how to write software, how to manage projects, and how to develop your career, advice that goes well beyond the documentation you look at every day in Xcode. Some of the topics they cover are ones that you might have been exposed to during a standard computer science degree.
"Professional" is a relative term.. but anyways, this is what i had to go through so that i could easily learn a new language anytime i want and also master it:
started by learning a simple console language (pascal or c++, but i consider pascal being simpler than c/c++), then learned another language just to see if i can do it (c++)
i learned a lot of algorithms and data structures, until i was able to recreate them and even create my own
i moved to a visual approach on programming with Visual Basic 6 (another simple one to start with), and tried to copy lots of apps just to see if i can do it
i learned about Object-Oriented Programming and finished by mastering it
from this step on, learning a new language was like a hobby, like playing!
then i wanted to learn some different topics, like design patterns, multithreading, and so on..
moved from windows to mac, and started learning objective-c: because i already knew lots of languages, it took me 5 days to learn objective-c, and yes, i took breaks like any human being :P
after i learned obj-c, i now had to learn cocoa... this one took me a lot of time to learn, and i still don't know it all.. but i do know most of it :D
What are the most valuable parts of Computer Science studies for Cocoa developers?
Learn that it's important to understand the differences between languages, not learning a particular language.
Are you writing numerical method solvers with a Cocoa frontend? You'll want to take numerical methods. Writing a 3-D plugin with a Cocoa UI? Better learn about Catmull-Rom splines.
A good understanding of computer graphics is required if you want to make some good looking animations :)

How hard is it for a software developer to learn how to program a microcontroller?

I'm a software developer. I've been programming in high level languages for a few years.
I would like to know, how to take my first step into programming hardware. Not something crazy complicated, but maybe some ordinary CE device? Assuming I don't need to put the PCB together with varies components, but just to program the tiny cpu?
How low-level do I have to go? ASM? C? manipulating registers? or are the dev kit quite high level now? Is Java even in the picture? OO coding in hardware, is that even a dream or a reality? Need a reality check.
I also tend to learn better with books or sites that are written in a tutorial format. Something that guides the way for me from something simple to something more complex. Any recommendations? Maybe something that will introduce me to the popular hardware (microprocessor/micro-controller) available today?
Much appreciated, thank you everyone.
The actual programming isn't a big deal. The frustrating, annoying part is getting your development environment setup and getting the tools working. Once you've done that, you're half done.
I'd suggest buying a development kit ('dev kit') that has USB built in and works with your chosen OS. Get that working, and you're halfway done.
If you're missing the knowledge, it's also important to know the basics of how a processor works. You'll be programming at a much lower level than any other programming, so the fundamentals are a bit more important.
If you know C then it's only a matter of learnig the tool chain steps to download the code.
Easy place to start (cheap hardware/software) http://www.arduino.cc/en/Guide/HomePage
I have been coding in C both as a hobby and professionally for about 16 years now, but always for userland code (i.e., programs, not kernel or drivers). Most of my jobs involved high level languages (I have done a lot of Perl and Ruby programming, with the occasional Java, Python and shell scripting in between). I did develop a lot for MS-DOS (which was probably as close to bare-metal programming as you would get on a x86 machine), but my last job involved 5 years of Perl and Ruby on Rails web development.
That being said, I am now a senior engineer for embedded Linux development, developing drivers (including an emulator for a legacy simple microprocessor inside a kernel module) for uClinux on the Blackfin platform. There are times when my inexperience with hardware related issues (i.e., floating signal levels due to lack of a pull-up/pull-down on a pin) did get in the way, but it has been mostly a highly enjoyable and thrilling experience. As stated by others, understanding your tools is essential -- for uClinux, that meant the GNU Toolchain, which fortunately I was already familiar with due to my background on FOSS technologies.
The Blackfin is hardly an entry-level microprocessor (in particular, it does not have a MMU, which has some relevant effects on Linux development), but as already stated, you can buy a Beagleboard for around US$200 with all required accessories and start messing around with it in just a few days. If you want something simpler, there are many Arduino options out there, though if you have some real development experience under your belt I believe you will find their development environment a little limiting (I know I did).
After you get comfortable with your tools you might want to spend some money on an in-circuit emulator (or ICE). These are usually highly platform specific (both in terms of target architecture and development environment), but are highly recommended for anything beyond the usual blink-LEDs-after-button-press examples I am sure you will quickly outgrow.
In few months you will find yourself building custom images for hackable customer devices using Buildroot and having a lot of fun. All I can say is, go for it, it's highly addictive and not particularly expensive to do nowadays.
Also something to look into is the Microsoft Robotics Studio. They support quite a lot of hardware boards (including CE), and with it is is fairly easy to get a small robot up and running. And what's more cool a project to learn embedded programming?
It all integrates nicely in Visual Studio (express) and their devkit also comes with a free express edition.
Get a beagleboard. Cheap, lots of users (community support will be key), many OS options. http://beagleboard.org/
Well, if you want to know what you're doing, you need to understand the assembly language of the processor and the processor's architecture.
You will need to learn C to be competent in microcontrollers. There is no way around that.
There are some VM-level languages on embedded systems. I see the Java out-of-memory exception from time to time on my cell phone(which also helps to give me a strong opinion on VM-level embedded languages).
The ARM has some support for hardware-level Java bytecodes.
Your best bet is to pick up something like the PIC or the Atmel chips and begin hacking with them.
If you want to do it with your existing hardware, get a hypervisor for your PC and begin writing a basic kernel.