Page 1 of 1

I want to help develop Oolite.

Posted: Sat Jul 23, 2011 9:04 pm
by RyanHoots
The title pretty much says it all, but there are catches:

1. I have never programmed anything. :roll:
2. I don't know Objective C.
3. I know HTML.

I want help, and I want to help. I don't want to see Oolite enter a state of non-development again.

Edit: Anyone know the best way to learn Objective C?

Re: I want to help develop Oolite.

Posted: Sun Jul 24, 2011 12:39 pm
by another_commander
If you have never programmed anything, then I am afraid that Oolite may not be the first project you want to dive in, at least not before you have acquired some familarity with coding and programming principles.

My suggestiom would be to buy a beginner's C programming book and read it carefully and thoroughly, at the same time writing programs yourself as much as possible. Start with simple things, text input/output stuff like a small text adventure. Then, when you have the basics in hand, start with simple 2D graphics and set target projects, like breakout or tetris. Write programs as much as you can and move to bigger projects once your current ones are completed. When you can understand C, it could be possible to move to Objective-C. Ojc-C is not difficult if you have previous experience with programming.

All this is by no means simple, by no means easy and it will take you a few years of dedicated effort before you can approach a project like Oolite, which contains more than 500,000 lines of code. I apologize if this sounds discouraging, but this is how it is. Trying to dive into the Oolite source without any prior programming experience will only result in frustration and waste of time. If you are as motivated as I think you are, you must understand that the process will be long and difficult, but should not give up.

A simple Google search for Obj-C tutorials brings up many results. I still believe that the book approach will be the best, but in case you want to see what you are getting yourself into, try having a look at this example: http://cocoadevcentral.com/d/learn_objectivec/ . This is a Mac-based tutorial, but the principles should be the same for Linux. Another tutorial that is more GNUstep oriented (consider GNUstep to be a standard library of methods and classes for Objective-C under Linux/Windows) is http://gnustep.made-it.com/GSPT/xml/Tutorial_en.html. There is plenty of material to study there, but in any case I would not recommend starting with them before you have the basics under your belt.

An excellent general resource about Obj-C is http://developer.apple.com/library/mac/ ... C/ObjC.pdf. Worth downloading.

Re: I want to help develop Oolite.

Posted: Sun Jul 24, 2011 2:17 pm
by RyanHoots
Thank you, I will start with C. Oolite is a very large project, and I know I'll need to work a lot to help with my favorite game ever. Making a tetris type game sounds like fun. :D
I'll take a look at those links (I allready have them all open in new tabs), and I'll report back when I think I have the basics down.

Re: I want to help develop Oolite.

Posted: Sun Jul 24, 2011 3:14 pm
by DaddyHoggy
RyanHoots wrote:
Thank you, I will start with C. Oolite is a very large project, and I know I'll need to work a lot to help with my favorite game ever. Making a tetris type game sounds like fun. :D
I'll take a look at those links (I allready have them all open in new tabs), and I'll report back when I think I have the basics down.
A volunteer is worth ten pressed men. Good luck.

Re: I want to help develop Oolite.

Posted: Sun Jul 24, 2011 4:11 pm
by Thargoid
And as a lead-in, maybe try some Javascript and code up a script-based OXP or few. It's not the same language, but it would give you a taster for such project work and planning. And knowing one will help you follow the other somewhat too.

If you know HTML then JS can be useful there (it's where I first used it), and so may make it doubly useful to you.

Re: I want to help develop Oolite.

Posted: Sun Jul 24, 2011 6:26 pm
by RyanHoots
Sounds good. I don't use HTML in my daily like much, but through a complicated turn of events that will soon ocur, I think I can use one of the old computers at my house for a server, so JS might be useful.

Re: I want to help develop Oolite.

Posted: Sun Jul 24, 2011 6:37 pm
by Dragonfire
When I learned how to program, I kinda stepped up. I started with VBScript, for use with a game making software I used to use (called Adventure Maker...I don't recommend it if you want a half-decent end result. Anyway, no real support.) Then I graduated to Visual Basic, which lead up to XAML, an XML sub-language (and the heart of Silverlight). For technical reasons, I dumped the .NET platform and switched to the considerably easier (and actually free) Python.

I'll eventually step up to Objective-C, but that is more complex than Python, I know (as Python is a high-level programming language, as opposed to Objective-C, which is closer to machine level.)

Scripting languages are always best to start with, tho, because they teach you the basics, such as variables, classes, modules, scope, type, etc...

Re: I want to help develop Oolite.

Posted: Sun Jul 24, 2011 6:40 pm
by RyanHoots
Then it seems like I'm starting with JS or Python...

Re: I want to help develop Oolite.

Posted: Sun Jul 24, 2011 7:13 pm
by Capt. Murphy
Well if your start with JS and some OXP scripting you will also be learning something about how the innards of Oolite are structured and so will give yourself a head start. If you are anything like me you'll then find yourself browsing the SVN repository regularly trying to decipher the Obj C to see what makes things tick.