[Monkey] Monkey der Start

Übersicht Andere Programmiersprachen Allgemein

Neue Antwort erstellen

Dottakopf

Betreff: Monkey der Start

BeitragDi, Jan 21, 2014 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Blitzer !

nun.. auf die Gefahr hin gepeitscht, geteert und gefedert zu werden möchte ich dennoch einen ganz allgemeinen Thread starten.

Was für Voraussetzungen brauche ich für Monkey?
Was für eine Sprache ist es... was brauche ich wirklich zum Entwickeln?

Einfach etwas in diese Art, finde das fehlt hier in der Rubrik "Monkey"

Gruß
Dottakopf
Rechtschreibfehler gelten der allgemeinen Belustigung!

Farbfinsternis

Betreff: Re: Monkey der Start

BeitragDi, Jan 21, 2014 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Dottakopf hat Folgendes geschrieben:
Hallo Blitzer !

nun.. auf die Gefahr hin gepeitscht, geteert und gefedert zu werden möchte ich dennoch einen ganz allgemeinen Thread starten.

Was für Voraussetzungen brauche ich für Monkey?
Was für eine Sprache ist es... was brauche ich wirklich zum Entwickeln?

Einfach etwas in diese Art, finde das fehlt hier in der Rubrik "Monkey"

Gruß
Dottakopf

Warum das Rad neu erfinden? --> http://www.monkey-x.com/Monkey/_index_.php

Dottakopf

BeitragDi, Jan 21, 2014 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
hm nun ja.. aber etwas mehr erfahrung und emotion aus dem Portal Smile

Alternativ zu obigen link den ich bereits kenne:
http://www.monkeycoder.de/
Rechtschreibfehler gelten der allgemeinen Belustigung!

biggicekey

Betreff: Re: Monkey der Start

BeitragMo, Jan 27, 2014 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Dottakopf hat Folgendes geschrieben:
Was für Voraussetzungen brauche ich für Monkey?
Was für eine Sprache ist es... was brauche ich wirklich zum Entwickeln?
Das kommt drauf an für welche Platformen du entwickeln möchtest. Erstmal brauchst du nur Monkey und kannst sofort loslegen. Monkey entpacken, .exe starten, in der Hilfe die Samples anschauen und sofort für HTML5 kompilieren und testen!

Midimaster hat außerdem schon schöne Tutorials geschrieben. Wäre auch schön wenn hier noch mehr über Monkey und die verschiedenen Targets geschrieben wird.
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller
Nothing more to register - you've cleaned us out![/size]
 

PhillipK

BeitragDi, Jan 28, 2014 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Also mir hat vorallem die Blitzmax erfahrung geholfen.

Obwohl monkey in meinen augen moderner ist, kann man vielen Quellcode von Blitzmax mit geringem aufwand in Monkey übernehmen.
Desweiteren ist eine Anständige IDE pflicht - wie zb die Jungle IDE (nachfolger von Blide für Blitzmax), da ich persönlich keine der "standart IDE's" aus dem hause Sibly mag.

Und ein dritter punkt: Hohe tolleranzschwelle. Wenn du bereits BlitzMax kannst, dann bist du eventuell wie ich: Du vergisst die groß und kleinschreibung.
Ich würde schätzen, das 80% der fehler die ich anfangs in Monkey hatte nur durch falsche groß/kleinschreibung kam. Das hat mich in den ersten tagen so dermaßen frustriert, das ich immer wieder direkt aufgehört hab^^


Nun zu den Speziellen Targets:
Je nachdem wofür die programmieren willst, musst du die Lowend Hardware bedenken. Ausserdem hat jedes ziel seine eigenheiten - übermäßiges setzen von Farben und / oder Alphawerten beim zeichnen bringt zb unter Html5 einen extremen einbruch im punkto leistung.
DH du musst dir teilweise schon beim programmieren schön viele gedanken über die Leistung, die du benötigst, machen.

Ich konnte bisher nur auf Flash / Html5 / Android und GLFW builden. Glfw rennt wie hulle, flash schneidet am schlechtesten ab. Html5 bringt gute leistung, zumindest mit einem OpenGL patch der irgendwo im monkey-coders forum hausiert.
Android ist handyabhängig, mein testgerät hier packt zumindest einiges. Obgleich es nie im leben mit einem PC mithalten kann.. Doof: Mein spiel kriegt die meiste kritik in der Schriftgröße bei kleineren Geräten. Es ist einfach nicht lesbar, allerdings war ich bisher zu fein zum fixen (bzw was neues einzubauen, damit das problem behoben wird). Ergo: Auch die Bildschirmgröße ist relevant beim programmieren.

Sooo^^ Mehr fällt mir nicht ein Very Happy

Eine brauchbare IDE, eine höhere Toleranzschwelle was groß/kleinschreibung und deren Fehlern angeht, eventuelle erfahrungen mit Blitzmax, ein Konzept was kleinere Bildschirme und schwächere Geräte miteinbezieht und schon kanns losgehen^^

Dottakopf

BeitragDi, Jan 28, 2014 12:57
Antworten mit Zitat
Benutzer-Profile anzeigen
na das ist doch schonmal was danke Smile

Ja monkey stuff findet man echt noch recht wenig.

Hm es wird in sprachen "überseitzt" Html .. Flash... wie bekomme ich am besten raus welche übersetzung für welche Plattform an sinnvollsten ist ?
Rechtschreibfehler gelten der allgemeinen Belustigung!

Farbfinsternis

BeitragDi, Jan 28, 2014 15:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Dottakopf hat Folgendes geschrieben:
na das ist doch schonmal was danke Smile

Ja monkey stuff findet man echt noch recht wenig.

Hm es wird in sprachen "überseitzt" Html .. Flash... wie bekomme ich am besten raus welche übersetzung für welche Plattform an sinnvollsten ist ?


Das kannst Du Dir nicht aussuchen:

Android/OUYA = Java
Flash = Actionscript
HTML5 = Javascript
GLFW = C++
iOS = ObjC
XNA = C#

Dottakopf

BeitragDi, Jan 28, 2014 16:27
Antworten mit Zitat
Benutzer-Profile anzeigen
und monkey übersetzt es in jeweils in die richte sprache?.. wenn man so darüber nachdenkt eigentlich voll krank Smile

Wie sauber funktioniert diese übersetztung den bisher ? Bzw. was ist der große vorteil wenn man z.b. nicht in Monkey sondern direkt java programieren würde.
Rechtschreibfehler gelten der allgemeinen Belustigung!
 

PhillipK

BeitragDi, Jan 28, 2014 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst einheitlichen Code erzeugen bzw schreiben.
Dann, wenn du bereit bist zum testen, gibts oben in den IDE's ein dropdown menü.

Dort wählst du dein "Target" aus - dh zb HTML5 oder Android.
F5, warten.

Pro "Target" wird der code eigenständig übersetzt und dann im letzten schritt gebuildet (zb mit nem Javacompiler wird der java-code der aus dem monkey-code gebaut wurde gebaut)
E voila fertig.

Vorteil? Ganz klar. Einmal arbeiten, fünf-fach verbreiten.
Dabei besteht auch die möglichkeit, nativen code über extern-blöcke einzubauen.
Zb habe ich für meine Html5 testumgebung ein paar Js-funktionen per extern geschrieben, um eine inputbox auszulesen oder auch die Canvas größe anzupassen. Über einen extern block wurde das ganze dann in monkey eingebaut.

Es gibt auch die möglichkeit, Compiler Anweisungen einzubauen (wesentlich besser wie unter blitzmax!)

Zb:
#if target="html"
Print("ich werde nur in html angezeigt")
#end

so kann man dann auch eigenständige funktionen für spezielle targets abfangen.

Ps: Nativer code wird nicht übersetzt - warum auch. Er liegt bereits in der entsprechenden sprache vor - also java, javascript, actionscript, c#, - einfach in der, für dessen target sie ist.
Darüber lassen sich mehrere dinge zu einer funktion im monkeycode zusammenfassen und mit wenigen änderungen am fertigen programm kann man es im browser, als exe oder als app verbreiten.
Ergo, monkey verbindet Gewohnt-einfache Syntax mit einem Faulheitsbonus.

Wenn man hingegen nur ein einzelnes target - wie zb Android - im sinn hat, sollte man eher auf die entsprechende Sprache wechseln, sofern man sie kann. Für alle anderen (die, die mehreres im sinn haben oder die zielsprache nicht beherrschen) ist Monkey durchaus der bringer.

DAK

BeitragDi, Jan 28, 2014 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Dottakopf hat Folgendes geschrieben:
Bzw. was ist der große vorteil wenn man z.b. nicht in Monkey sondern direkt java programieren würde.


Der Vorteil in einer der Zielsprachen zu programmieren ist, dass du in Monkey nur das machen kannst, wofür es schon einen Wrapper gibt.
Monkey kann von sich aus so ziemlich nur den gemeinsamen Nenner von all den Zielsprachen. Wenn du nur simple Spiele programmieren willst ist das absolut kein Problem. Wenn du aber irgendwelche coolen Tools bauen willst, dann stehst du mit Monkey alleine an.
Um darum herum zu arbeiten kannst du in der Zielsprache einen Wrapper schreiben, den du dann in Monkey einfügen kannst.
Das heißt, wenn du alle Limitierungen von Monkey umgehen willst, musst du gezwungener Maßen die Zielsprachen auch können.

Eine häufige Limitierung ist wenn du bestimmte APIs verwenden willst, was vor allem bei Werbe-APIs der Fall ist. Soweit ich mitbekommen habe existieren für Monkey Wrapper für die APIs von zwei Werbe-Anbietern. Willst du Werbung von anderen Anbietern rein nehmen... Pech gehabt.

Ein anderer Nachteil ist, dass du die ganzen Tools, die für die jeweiligen Zielsprachen existieren, kaum oder nicht verwenden kannst. Für Android gibt es z.B. einen coolen GUI-Editor, mit denen du dir deine Menüs einfach zusammenklicken kannst. Das wird dann nicht funktionieren.


Das hab ich nicht geschrieben um Monkey schlecht zu machen. Es ist ein tolles Produkt mit seinem eigenen Recht. Es war nur, weil du nach Vorteilen von in Zielsprachen schreiben gefragt hast.
Gewinner der 6. und der 68. BlitzCodeCompo

Dottakopf

BeitragMi, Jan 29, 2014 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke DAK.. dein Post ist eigentlich ziemlich genau das was ich etwas im hinterkopf hatte und auf das thema hinzielen soll.

Ansich ist monkey wohl sehr leistungsstark. Aber ich hatte mir schon gedacht das (zum aktuellen Stand) man wohl etwas die Target sprache beherschen sollte.

Danke für die Beiträge bisher.. endlich mal etwas Meinungsfluss über Monkey hier Smile
Rechtschreibfehler gelten der allgemeinen Belustigung!

DAK

BeitragMi, Jan 29, 2014 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist so ziemlich wie BB/B3D was das angeht. Die Sprache kann von Haus aus alles was du brauchst um Spiele u.Ä. zu machen, aber wenn du irgendetwas besonderes machen willst (wie z.B. die Maus außerhalb des eigenen Fensters kontrollieren oder die Registry auslesen), dann brauchst du DLLs (oder im Monkey hald Programmteile in den Target-Sprachen).
Gewinner der 6. und der 68. BlitzCodeCompo

Farbfinsternis

BeitragDo, Jan 30, 2014 11:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Dottakopf hat Folgendes geschrieben:
[...]Aber ich hatte mir schon gedacht das (zum aktuellen Stand) man wohl etwas die Target sprache beherschen sollte.[...]


Wenn Dir das, was Monkey mit bringt, für Dein Projekt ausreicht musst Du über die Zielsprache nicht das Geringste wissen.

Dottakopf

BeitragFr, Jan 31, 2014 8:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Also angucken werde ich es mir auf jedenfall mal.

Danke für das tolle Feedback
Rechtschreibfehler gelten der allgemeinen Belustigung!
 

PhillipK

BeitragFr, Jan 31, 2014 11:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich persönlich kann nicht behaupten, das Monkey "wenig" funktionsumfang bietet.

Ein komplettes spiel damit zu realisieren war kein problem. Einzig die Android-Menüelemente konnte ich nicht einbauen - aber eine eigene GUI sieht eh wesentlich besser aus Very Happy

Intressant ist aber (das fällt mir grade noch ein), das sich manche sachen unterschiedlich auf den Diversen targets verhalten.
Eine angeblich eingebaute streamreader-funktion für alle targets (von Monkey aus, brl stuff) funktioniert auf HTML, Android, GLFW und XNA super, aber unter Flash kommt nur humbug bei raus. (Total verdrehte bitreihenfolgen werden ausgelesen. Warum auch immer, flash fällt für mich als Target aber eh flach, da HTML5 auf entsprechenden seiten wie Kongregate auch unterstützt wird und wesentlich performanter ist.)

Dann sinds halt nur kleinigkeiten die beim programmieren genervt haben. File Write operations sind auf HTML5 nicht möglich, auf Android etwas anders als unter GLFW, HTML5 bricht im punkto Color() und Alpha() schon bei geringerer anzahl aufrufe ein, sowas eben.

Und: Die anderen Sprachen zu lernen ist meist kein problem. Man wird nicht von jetzt auf heute zum vollprofi, aber kleinere spielereien kann man sich aus sourcecodes via google leicht einbauen und erweitern. Ich habe mich bisher mit 5? Sprachen in meinem leben auseinander gesetzt. Auffällig ist, das es immer gleich ist - man muss nur einmal fix die syntax durchlesen und kapieren, dann mangelts eigentlich nur an einem mangel ums wissen, was möglich ist.

Mein Fazit (etwa 1/2 jahr mit Monkey gearbeitet, ein Spiel und ein größeres, Privates Framework zusammen mit AnniXa entwickelt):
Monkey reicht vollkommen aus. Es gab bisher nichts ausser einer Screenshot funktion die ich nicht umsetzen konnte. Es nervt das man keine Pixmaps mehr wie unter Blitzmax hat, aber sonst vermisse ich kaum etwas.
Es ist nervenaufreibender, diverse dateien zu laden, und man muss vermehrt mit compilerflags arbeiten die man teilweise aus den brl-codes raussuchen muss.
Am schlimmsten ist aber: Googlesuche ist aufgrund des bescheuerten namens "Monkey" unendlich schwer. Aber irgendwann gewöhnt man sich dran.
Monkey kann ein bisschen mehr, als nur den gemeinsamen nenner ALLER targets: Es gibt funktionen (wie eben Stream-write), die nur auf einem Teil der Targets umgesetzt sind und bei anderen Targets eine fehlermeldung ausgibt.
Vieles was nervt, hat man ziemlich schnell raus. Hier mal n compilerflag, da mal eine Config-erweiterung und man hats.

Wenn ich allerdings mal vorhabe, eine Android-only Anwendung zu entwickeln dann...
Würde ich dennoch monkey nehmen. Vieles müsste ich zwar erst in Monkey reinwrappen, aber: Alles in monkey ist "modulbasiert" - wenn man seine codes insprechend wie Imports behandelt, packt man es sich irgendwo in den Monkey modul-ordner und kanns beizeiten wieder benutzen^^

DAK

BeitragFr, Jan 31, 2014 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
PhillipK hat Folgendes geschrieben:
Am schlimmsten ist aber: Googlesuche ist aufgrund des bescheuerten namens "Monkey" unendlich schwer.


Hehe, da hast du absolut recht. Was sich Mark mit dem Namen gedacht hat würde mich schon interessieren. Vor allem, weil es ja auch nicht grad wenige Frameworks gibt, die Monkey im Namen haben (wie z.B. das doch sehr große JMonkey).

PhillipK hat Folgendes geschrieben:
Wenn ich allerdings mal vorhabe, eine Android-only Anwendung zu entwickeln dann...
Würde ich dennoch monkey nehmen. Vieles müsste ich zwar erst in Monkey reinwrappen, aber: Alles in monkey ist "modulbasiert" - wenn man seine codes insprechend wie Imports behandelt, packt man es sich irgendwo in den Monkey modul-ordner und kanns beizeiten wieder benutzen^^

Java hat das aber auch. Dort hast du Klassen in Paketen die du dann als Bibliotheken einbinden kannst. Da kannst du dir dann genau die "Feinkörnigkeit" aussuchen, die du haben willst, also ob du eine Klasse, ein Paket oder eine Bibliothek machst, die du dann in weitere Projekte einbauen kannst.

Sowas hat eigentlich eh fast jede halbwegs moderne Sprache.
Gewinner der 6. und der 68. BlitzCodeCompo

Farbfinsternis

BeitragFr, Jan 31, 2014 12:31
Antworten mit Zitat
Benutzer-Profile anzeigen
PhillipK hat Folgendes geschrieben:
[...]Am schlimmsten ist aber: Googlesuche ist aufgrund des bescheuerten namens "Monkey" unendlich schwer.[...]

Genau aus diesem Grund heißt es jetzt "MonkeyX".

Holzchopf

Meisterpacker

BeitragFr, Jan 31, 2014 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich mache auch gerade meine ersten Schritte in Monkey. Mit Google hatte ich nur kurz Probleme, denn ich habe mir schnell angewöhnt, "monkeycoder" als Schlagwort zu benutzen*. Aber ja, als Anfänger ist man schnell frustriert, wenn selbst Google einen nicht versteht und man Ergebnisse zu Dingen kriegt, die aber auch absolut gar nichts mit dem gewünschten zu tun haben. Die Unkreativität der Programmiersprachen-Gurus setzt den Suchmaschinen sowieso stark zu. C und LaTeX sind zwei berühmte Beispiele, die für falsche Treffer prädestiniert sind Wink

* Auf die Idee, MonkeyX zu verwenden, bin ich noch nicht gekommen Embarassed
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Neue Antwort erstellen


Übersicht Andere Programmiersprachen Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group