Objective-C erlernen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Objective-C erlernen

    Hallo liebe Community,

    ich habe mich gerade hier angemeldet, und hoffe dass ich hier richtig bin.
    Und zwar möchte ich eine App für das iPhone programmieren.
    Das Konzept steht schon, jedoch fehlt es mir an den Objective C Kenntnissen, um die App derzeit umsetzen zu können.
    Die App soll ein 2D Spiel werden, mit wenig bis keinen Animationen.
    Vergleichen kann man das etwa mit einem Point and Click Adventure.

    Um schon im Vorhinein zu wissen, auf was ich mich einlasse würde ich gerne wissen, wie lange ich dafür ca. brauchen werde.
    Ich würde euch bewusst darum bitten keine Monats oder Jahresangaben zu machen, da diese mir etwas zu vage sind (die einen arbeiten 2h pro Tag, die anderen 10h).
    Aus diesem Grund würde ich euch bitten die Zeit auf Stunden zu schätzen.
    Das man dies nicht genau machen kann, ist mir klar. Jedoch würde ich mich freuen, wenn ihr es versuchen würdet.

    Ich habe bereits Erfahrungen, wenn auch nicht viele, mit Java und Delphi gemacht.
    Die Erfahrungen beschränken sich jedoch auf Spiele, wie beispielsweise Tik Tak Toe und Hangman.

    Freuen würde ich mich auch über Tipps, um einen guten Einstieg , bzw. die Langzeitmotivation zu sichern.
    Ich werde mir auch ein paar Bücher bestellen, die hier im Forum empfohlen wurden.
    Kennt jemand von euch vielleicht auch Kurse im Raum des Ruhrgebietes und Niederrheines, bzw. Umgebung?
    Bzw. könnt ihr diese empfehlen?

    Liebe Grüße
  • codevoid schrieb:


    Aus diesem Grund würde ich euch bitten die Zeit auf Stunden zu schätzen.
    Das man dies nicht genau machen kann, ist mir klar. Jedoch würde ich mich freuen, wenn ihr es versuchen würdet.

    Tja, ich scheitere schon am Versuch. Das ist etwa genauso präzise zu beantworten wie "wieviele Stunden braucht man um Klavier zu lernen".

    Die einen machen im Alter von 6 Jahren schon Konzertreisen und werden Wolferl gerufen, die anderen können es bis an ihr Lebensende nicht.

    D.h. schätze Dich selber ein. Bist Du ein Schnell-Lerner für neue Themengebiete oder dauert es lange, ist mühsam und braucht externe Motivation?

    -- hns
  • Moin,

    also deine Vorkenntnisse im Bereich 'Spiele' sind schon mal sehr gut und hilfreich, dann brauchst Du die Grundlagen der Spieleentwicklung nicht verinnerlichen.
    (Daran arbeite ich seit ungefähr 3 Jahren, pardon, 180 Stunden.)

    Nur der Delphi/Java Kram wird hinderlich sein. Nimm die Zeit, die Du für Deine Erfahrungen in Delphi und Java gebraucht hast, und multipliziere sie mit 2.
    Immerhin bist Du jetzt ein bisschen älter und wirst Dich vermutlich von Deinem vorherigen Wissen in die Irre leiten lassen.

    Mit einem guten Tutorial und einigen Anleitungen wirst Du das Ganze vielleicht innerhalb von 120 Stunden hinbekommen.
    Zuzüglich der Zeit, die Du für weitere Level investieren willst. ;)

    Mit SpriteKit und iOS 7 könnte das eine realistische Schätzung sein.

    Wenn es ansonsten auch etwas 3D sein darf wird das Ganze natürlich aufwendiger.
    Auch da gibt es etliche nette Tutorials und Bücher.
    Die Meisten zielen zwar auf den Mac ab, doch das lässt sich schon irgendwie umbauen.

    Wenn dir Objective-C überhaupt nicht liegt, kannst Du es auch gern mit OpenGL und reinem C probieren. Auch dafür gibt es ein Buch.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Hallo,

    also Kurse im Ruhrgebiet kann ich nicht empfehlen, aber Hotels in Heidelberg ;)

    Nein im Ernst, du darfst auf alle Fälle nicht davon ausgehen, das du einen 3 Tage Kurs besuchst und danach alles kannst. Du bekommst so viel Stoff um die Ohren gehauen das dir nach drei Tagen nur noch die Augen kullern. Danach geht es auch mit einem Buch oder Tutorials weiter. Es beschleunigt die Sache, du bekommst einen Überblick und du hast einen Dozenten, den du fragen kannst und der die Sachen auch mal "mit anderen Worten" erklären kann. Das spart dir ein paar Wochen - aber es bleiben trotzdem noch genug Wochen.

    Ich bin ein schlechter Geschäftsmann: Für Firmen lohnt sich das auf alle Fälle - privat...

    Gruß
    Manfred
    Seminare, Artikel, Code. ObjectiveCeeds - alles für die Apfelzucht.
  • Schon einmal danke für eure Hilfe :)
    Ich werde mir dann jetzt ein paar Bücher, und vor allem einen Mac bestellen :D Sind nur leider immer so teuer die Dinger ...

    Ich habe mir jetzt auch eine Art Stundenplan gemacht, von wann bis wann ich lernen will.
    Das ist denke ich ganz gut, um irgendwann ein Ende zu finden, und dass ich mich nicht davor drücken kann.
    Ich werde in den nächsten Tagen/Wochen mal schauen, wie dieser Plan sich umsetzen lässt, da ich das alles nebenbei machen muss.
  • Einiges günstiger (weil auch mit Win/Linux möglich und keine/günstigere Lizenz) würde dich die Entwicklung für Android oder als WebApp (HTML5 Canvas) kommen.
    Ist das nicht vielleicht eine sinnvolle Alternative?
    Bücher zum Thema gibt es mittlerweile auch in vielen Bibliotheken oder gebraucht zu kaufen. Neu sind Fachbücher schon teuer.
  • Daran habe ich auch schon gedacht.
    Jedoch spiele ich schon seit längerem mit dem Gedanken mir ein Macbook zu kaufen, und die App wäre ein guter Grund dafür das jetzt auch zu tun.

    Auf Dauer würde ich die App auch gerne sowohl im App Store, als auch im Google Play Store anbieten wollen, und ich habe gehört die Portierung von iOS auf Android sei einfacher als andersherum. Bzw. spätestens dann bräuchte ich einen Mac + Lizenz.
    Jedoch verlasse ich mich da jetzt nur auf Informationen, die ich durchs googeln in Erfahrung bringen konnte.

    Und die 99$ Lizenz, die Apple verlangt sind glaube ich das geringste Übel :D
  • codevoid schrieb:

    ich habe gehört die Portierung von iOS auf Android sei einfacher als andersherum.

    Ha. Haha. Hahaha.
    Das nimmt sich absolut nichts.

    Apple will einmal pro Jahr 79€, Google will einmalig 25€.
    Beide idealerweise zahlbar per Kreditkarte, alles Andere wird hakelig.
    AFAIR besteht Google auf ein Google Wallet Händlerkonto mit hinterlegter Kreditkarte – da kann man jetzt von halten was man möchte.

    Wenn Du Objective-C lernen möchtest, dann tu genau das.
    Wenn Du viel lieber Java lernen möchtest, dann tu lieber das.
    Und wenn dir Webentwicklung noch viel mehr liegt, dann gib Gas.

    Die Sache mit dem Stundenplan ist super, doch bedenke eines: auch in dem Stundenplan Pausen einbauen und in diesen Pausen idealerweise raus an die Luft und ein paar Schritte gehen. ;)
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Schon einmal danke für all eure Hilfe :)

    Da mir Apple etwas sympatischer ist als Google, wollte ich lieber mit Objective C anfangen.
    Oder würdet ihr mir eher zu Java raten?
    Kann mir jemand von euch die Sache mit dem portieren noch etwas näher bringen?
    Wie viele Java Kenntnisse bräuchte ich, um von iOS auf Android zu portieren, bzw. wie viel Objective C Kenntnisse, um von Android auf iOS zu portieren?

    Ich denke ich werde mir ein Macbook Pro holen, jedoch ein US-Modell.
    Gibt es da noch weiter Unterschiede, neben dem Netzstecker, bzw der Tastatur?
  • codevoid schrieb:


    Kann mir jemand von euch die Sache mit dem portieren noch etwas näher bringen?


    Ich bringe dir näher es erstmal sein zu lassen. Da gibt es keinen einfachen, schnellen oder guten Weg. In der Regel musst du die Programme einfach doppelt erstellen - mit den jeweiligen Eigenarten des Systems. Alle Versuche "einmal programmieren und beide Welten bedienen" resultieren so weit ich weiß in zwei Programmen die weder in der iOS noch in der Android Welt gut sind.

    Außerdem denke ich, dass dich eine Programmiersprache mit all ihren Facetten bereits auslasten wird, egal welche du wählst :D
  • ioscampus schrieb:

    codevoid schrieb:


    Kann mir jemand von euch die Sache mit dem portieren noch etwas näher bringen?


    Ich bringe dir näher es erstmal sein zu lassen. Da gibt es keinen einfachen, schnellen oder guten Weg. In der Regel musst du die Programme einfach doppelt erstellen - mit den jeweiligen Eigenarten des Systems. Alle Versuche "einmal programmieren und beide Welten bedienen" resultieren so weit ich weiß in zwei Programmen die weder in der iOS noch in der Android Welt gut sind.

    Außerdem denke ich, dass dich eine Programmiersprache mit all ihren Facetten bereits auslasten wird, egal welche du wählst :D
    Das denke ich auch :D
    Nach meinem "Stundenplan" habe ich eh kaum noch Freizeit :D

    Das mit dem Portieren würde auch erst relevant werden, wenn ich die App fertig gestellt habe.
    Jedoch müsste es doch eine Möglichkeit geben die App zu portieren ohne sie neu schreiben zu müssen?
    Ist bei den PC/PS/XBox-Entwicklern doch nicht anders, oder irre ich mich da?

    Ich hoffe auch etwas Geld mit der App verdienen zu können. Demnach wollte ich im App Store eine Bezahlapp reinstellen,
    und im Google Play Store eine kostenlose mit Werbung, und eine Bezahlapp ohne Werbung.
    Und Ingame Inhalte, die man kaufen kann.
    In welchen der beiden Stores könnte man demnach statistisch auf die höchsten "Erträge" hoffen?
  • Würde sagen, dass im iOS-Store eher etwas gekauft wird, im Android-Store Werbung mehr verbreitet ist. Aber das ist nur ein Gefühl, nicht empirisch belegt.

    Ich kann dir auch 1GAM und GameJams wie LudumDare empfehlen, um Routine in das Entwickeln und Fertigstellen von Spielen zu bekommen, denn das 'Fertig machen' - so dass es Fertig wirkt und Spaß macht - ist das größte Problem (zumindest meins). Über kurz oder lang ist es Nebensache, für welche Platform und mit welcher Sprache du ein Spiel entwickelst, wichtig sind Programmierkonzept, Grafiken, Musik, Spielkonzept, das gewisse Etwas ('das Finishing') und Durchhaltevermögen. Portieren wird dann das kleinere Problem. Manche Spieleengines (Cocos2d-x, Unity, Stencyl, HaxeFlixel, ...) nehmen dir viel Arbeit ab und bieten die Möglichkeit 'mit einem Knopfdruck' auf eine neue Platform zu veröffentlichen.


    Gruß David
  • Danke für die Tipps, das kommt auf jeden Fall auf die To-Do-Liste.

    Ich sehe das genau so, dass im iOS Store mehr gekauft wird, bzw. Apple-Kunden eher bereit sind Geld für eine App auszugeben.
    Jedoch sagt mir mein Gefühl, dass aus dem Google Play Store insgesamt mehr Apps runtergeladen werden, und somit auch ein gutes Ergebnis durch die Werbung erzielt werden könnte.
    In Verbindung mit den Ingame-Inhalten, die es zwar auch unter iOS geben soll, könnte ich mir vorstellen dass es unter Umständen rentabler sein könnte,
    da mehr Spieler -> mehr Ingame-Käufe.
    Jedoch muss man auch da die Einstellung der Kunden mit einbeziehen, wie gewillt sie sind Geld auszugeben, die auch hier unter Apple-Nutzern wahrscheinlich höher wäre.
    Außerdem muss man ja auch sagen, dass eine Spielapp die größte Abnehmergruppe wahrscheinlich unter Jugendlichen und jungen Erwachsenen findet,
    und in meinem Umfeld haben die meisten jüngeren ein Android Gerät. Jedoch lässt sich das nicht verallgemeinern.
    Auf 3 Androiden kommen vielleicht 2 iPhones, jedoch ist das nur meine subjektive Wahrnehmung.

    Ich werde denke ich erstmal weiter mit Objective C machen, und mich jedoch zeitnah über den Markt informieren.
    Vielleicht hat hier schon jemand Erfahrungen damit gemacht, die er mit mir teilen kann?

    Die Grafiken für das Menü, Ladebildschirm und Icon wollte ich designen lassen, da ich mir das nicht selber zutraue, bzw. ich würde das Design machen, ein anderer müsste es nur umsetzen.
    Für das Spiel an sich sind schon so gut wie alle Bilder vorhanden.
    Die Musik stellt mich jedoch vor ein weiteres Hindernis. Ich würde mich zwar nicht als unmusikalisch bezeichnen, aber groß etwas komponieren, oder gar umsetzen traue ich mir nicht zu.
    Hier würde ich versuchen auf meinen Bekanntenkreis zurückgreifen zu können.
    Hat jemand vielleicht schon einmal Erfahrungen damit gemacht, wie teuer diese Sachen wären?

    Das Spielkonzept steht bereits. Bis zur Fertigstellung werde ich dieses aber Wahrscheinlich weit mehr als nur einmal überarbeiten.
    Außerdem wollte ich einen Art "Vorlauf" starten, in dem ich die App von mehreren Leuten mit verschiedenem Alter testen lassen will.
    A um zu wissen, ob das Konzept so überhaupt in Ordnung ist, oder ob ich es noch einmal komplett überarbeiten muss.
    Und B um so viele Verbesserungsvorschläge wie möglich zu sammeln, damit ich eine fertige und ausgereifte App anbieten kann.

    Was genau meinst du mit "Finishing"? Meinst du damit "das gewisse Etwas"?
  • codevoid schrieb:

    Jedoch müsste es doch eine Möglichkeit geben die App zu portieren ohne sie neu schreiben zu müssen?
    Ist bei den PC/PS/XBox-Entwicklern doch nicht anders, oder irre ich mich da?

    Klar ist das möglich. Fällt dann unter 'Cross-Compiling'.
    Bei PC/PS/XBox Entwicklern gibt es allerdings auch das Problem, dass die pro Plattform mindestens ein Team haben, das sich um das Cross-Compiling kümmert.
    Das ist nix, was man mal eben als Einzelner macht.

    Wenn Du unbedingt für möglichst viele Plattformen ein Spiel basteln willst, solltest Du Dir eventuell mal Unity ansehen.
    Ansonsten wirst Du vermutlich nur leiden.

    Natürlich steht es Dir frei, alles in C/C++ zu tippen und nur rudimentäre Anpassungen zu machen, so dass Du den Großteil der Codebasis wiederverwenden kannst.
    Android wird Dir da vermutlich einen Strich durch die Rechnung machen, da das Java Native Interface ordentlich Overhead produziert.

    codevoid schrieb:

    Ich hoffe auch etwas Geld mit der App verdienen zu können.
    ...
    In welchen der beiden Stores könnte man demnach statistisch auf die höchsten "Erträge" hoffen?

    DAS habe ich befürchtet.
    Sollte Dein oberster Antrieb für das Lernen 'ich will die Mega-App schreiben und damit reich – reich – REICH!!! werden' sein: lass es.
    Es ist nahezu ausgeschlossen, dass das passieren wird und daher als Antrieb einfach ungeeignet.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Marco Feltmann schrieb:

    DAS habe ich befürchtet.
    Sollte Dein oberster Antrieb für das Lernen 'ich will die Mega-App schreiben und damit reich – reich – REICH!!! werden' sein: lass es.

    Jo, finde ich auch ein wenig lustig. Hat etwas, von jemand, der überlegt Medizin zu studieren, und schon einmal fragt, mit welchen Geräten man am besten seine Praxis einrichtet und ob man sich lieber auf Brust-OPs oder Nasen-OPs spezialisieren soll :D
    C++
  • macmoonshine schrieb:

    Das mit dem reich werden ist doch total einfach: Du brauchst nur Deine geniale App-Idee umzusetzen und zu verkaufen. Das ist doch nun wirklich nicht schwer. +scnr+ :D ;)

    Die blöden Deppen von Endbenutzern kapieren nur einfach nicht, dass das die ultrageniale App-Idee ist. Die sind nämlich alle zu blöd dafür! +mimimi+
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P