Final year project - 3D Rally, possible for an iPhone beginner?

Nibbie
Posts: 2
Joined: 2010.07
Post: #1
Hi guys, searched but didn't much much info on this subject..

I'm entering my final year [5th] in Computer and Electronic Engineering and have been thinking about developing an iPhone game in 3d. I have good experience in c/c++ and with Java.

For the game I would like to have a rally car on a simple enough course, the car is controlled by tilting and acceleration by an on screen HUD, the game records your fastest times on the track and then uploads them to an online server like Facebook etc. I was hoping to be able in game to check the leader boards and compare with your friends, but that isn't essential right now as getting the basics of the game are priority. Can I use physics, shadowing, blur animation etc easily, or they will require more time and experience?

As a iPhone newbie [I don't even have one, the college will sort me out] what do I need, since I'd prefer to write everything myself and not use the existing 3d engines, what should i look for? any good books? any good free source code for me to look at?

I'd like to know if this is possible for me and what kind of results I can expect. Smile
Quote this message in a reply
Moderator
Posts: 3,579
Joined: 2003.06
Post: #2
It's great that you have C/C++ experience, but do you have any experience developing a game? If not, for what you want to do, assuming your timeframe is like maybe the next nine months for completion, I'd say that is rather unrealistic. You'd be much better off going with Unity3D for something like that on that timeframe without prior game and/or iPhone development experience. I don't know what Unity offers for online leaderboards and facebook integration but we use OpenFeint for that for our own stuff right now so you might check that out. OpenFeint might be compatible with Unity, I don't know. Apple is also going to be offering their own tech for social gaming soon, but I don't recall if it includes facebook -- OpenFeint does though.
Quote this message in a reply
Nibbie
Posts: 2
Joined: 2010.07
Post: #3
Thanks for the reply AnotherJake, I looked up Unity3D and it looks great, I hope it dosent take too much control out of my hands if I do use it, as this being my project I would like to understand everything going on in the code.

While I don't have much experience writing games, I do have a good understanding how they work, one of the reasons why I wanted to write an iPhone game was to do a project related to something I enjoy.

From my description, the game sounds rather complex, and it is, but I had in mind a game of more simple graphics and content with the emphasis on its structure and design, of course this can/will all change once the project gets going Rasp.

I have never used any 3d modeling programs but I always have been just to dive in and be able to get results via trial and error, the internet helps alot too. OpenFeint sounds great, I'll look into it more once the time comes.
Quote this message in a reply
Member
Posts: 144
Joined: 2009.11
Post: #4
Download Blender and spend a good solid day learning it.

If you still want to do a 3D game after your session with Blender, go for it.

I'm rather ah... artistically challenged. Getting game art is the most frustrating part of my development cycle. Thankfully on my first project a iDG member swooped in and provided some fantastic artwork, but simply put you can't plan on getting free art.

Attempting to recruit some of the art students at your school does not work. I've tried. It goes really well for the first ten minutes of "yeah, I'd love to make art for games!" and then you never hear from them again. I think Blender beats them up until they go running back to their easels and photoshop. The art students who do know 3D modeling and texturing... well, that's a good skill. They've already got jobs or internships, so why should they bother with you?

Yes, I am bitter. So what? Rasp

If you, like me, are not a Blender whiz, then you need to go into this knowing that you might have some hopelessly blocky cars whizzing around a track which is just a texture on a really big quad. Which isn't to say it's a limitation of Blender - you can get some fantastically realistic things if you work with it long enough. My artistic skill (or lack thereof) effectively multiplies the amount of time it takes for me to get the same result as a real artist by about a factor of ten. So I just prototype something quick and dirty and move on. Later on, I'll go back and fix it up - if I have the time.

Physics will be challenging. Bullet physics seems to be one of the more predominant physics solutions out there, and seems to have some iPhone functionality. I've looked through physics coding a little bit before, and it confused me.

If this is really where you want to go, then you should absolutely go for it. But spend a day with Blender. Go running around your neighborhood with a microphone and try getting some sound effects. If you're cool with all these little things that aren't coding, then you're cut out for solo game development.

My best advice is to prototype first and iterate later. Bang out some crappy interim artwork. Just get something - anything - to happen on screen. Game development is really interdisciplinary, requiring programming, artwork, sound, music (though the music is rather optional), etc. It's also interdisciplinary within programming. You might end up working with databases, networking, GL, memory management, input, audio decoding, file compression... the list goes on. If you start with a top-down approach (eg. making the audio system the best it can be, then moving on to the graphics system) you'll never get anywhere. Make it fast, make it dirty, make it work. Then go back and iterate.

iOS itself is a little challenging. You'll need a $99 Apple Developer Connection iPhone Developer Program subscription in order to deploy to a phone. You'll want that. The simulator is nice, but it doesn't do everything. You'll need a Mac, no exceptions. You'll need to learn Objective-C. And the retain-release paradigm. CocoaTouch can be a little pissy at times, too. Just starting out, the relationship between Interface Builder, your XIB files, and your code can be absolutely mystifying. But it's not rocket science (no, that's Perl Rasp ). If you're really interested in iOS development, this won't be an issue. If you're looking for a good book, I'd suggest the Hillegass book. It'll take you through CocoaTouch.

Hope I don't scare you too much, but I'd hate for you to waste 3 months of your time on a project that you later decide you can't complete. Much of this you probably already know, but sometimes it just has to be said (even if it does make the place sound a bit like an echo chamber).

Everyone's favourite forum lurker!
https://github.com/NSError
Quote this message in a reply
Nibbie
Posts: 4
Joined: 2010.06
Post: #5
Also you should realize that if you do not have an iPhone / iPad / ipod Touch you won't have any luck because you cannot test the accelerometer without an iDevice.

I found this an excellent book on objective-c: http://www.amazon.com/Programming-Object...665&sr=1-1
Quote this message in a reply
Member
Posts: 81
Joined: 2007.07
Post: #6
(Jul 22, 2010 07:45 PM)CoffeeExpress Wrote:  I'd like to know if this is possible for me and what kind of results I can expect. Smile

It all depends on how many hours you are going to work, and what level of polish you expect to have. It is certainly possible, given working 30-50 hours / week on it for several months. Starting from scratch I would think it would take you at least a week full time just to get hello world working on a real iphone and understand whats going on. Another week to get the game engine compiling and rendering a quad, and understand it. Another month to get it loading objects, textures, and sounds. Another month for controls and a level. Another month to bring it all together and get it working. By this time it will be programmer art budget looking, add as many months as you have left to make it look like a real game.

The thing about making a game is in the beginning everything seems possible, the idea is so abstract its impossible to see all of the details that are going to take the bulk of the work, and not ever be seen in the game directly. When making any of my games, it seems that when I am about 95% done, I know I'm half way there!

Words of wisdom if you want to get it done:
use as much pretested code as possible, engines!
use stock 3d models, textures, and levels
use Italian code design (aka spaghetti code), some people obsess so much over design they never get anything done, for a one off one person project design is almost worthless.
Quote this message in a reply
Moderator
Posts: 453
Joined: 2008.04
Post: #7
(Jul 23, 2010 12:47 PM)cmiller Wrote:  Attempting to recruit some of the art students at your school does not work. I've tried. It goes really well for the first ten minutes of "yeah, I'd love to make art for games!" and then you never hear from them again. I think Blender beats them up until they go running back to their easels and photoshop.

Either that, or they realize that game art is a lot of work- you'll need a LOT more models than they want to make. Modeling a car is fun, modeling 40 cars in a cohesive style is generally less fun. Add to that all the not-fun art that needs to be made like UI stuff, and unpaid artists run for the hills. (blender or not)

(Jul 23, 2010 12:47 PM)cmiller Wrote:  Physics will be challenging. Bullet physics seems to be one of the more predominant physics solutions out there, and seems to have some iPhone functionality.

*cough* Chipmunk Physics *cough* Wink

(Jul 23, 2010 12:47 PM)cmiller Wrote:  My best advice is to prototype first and iterate later. Bang out some crappy interim artwork. Just get something - anything - to happen on screen.

Definitely. This was my entire process in Reclaimed. I picked the most-needed feature and improved it a fair bit. Not too much- then I'd move on. Getting something working is top priority. Focus on making things better, not perfect.

Howling Moon Software - CrayonBall for Mac and iPhone, Contract Game Dev Work
Quote this message in a reply
Member
Posts: 144
Joined: 2009.11
Post: #8
(Aug 3, 2010 07:28 PM)AndyKorth Wrote:  *cough* Chipmunk Physics *cough* Wink

I would suggest Chipmunk, but he wants to do a 3D game. Unless it's a sidescroller where he can abstract the physics to one plane, I can't imagine a way to use Chipmunk for physics.

Everyone's favourite forum lurker!
https://github.com/NSError
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  How do I add symbols to the iphone project jeckil 1 2,203 Apr 29, 2010 10:28 PM
Last Post: OneSadCookie
  Final Fantasy tactics Clone Online Multiplayer Rhade 13 19,714 Apr 9, 2010 12:17 PM
Last Post: Rhade
  iphone beginner question robot 2 3,063 Jun 22, 2009 06:45 AM
Last Post: kendric