meine verrueckte idee - ist sowas moeglich

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
Michael Schneider
User
Beiträge: 567
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Bremen
Kontaktdaten:

Beitragvon Michael Schneider » Freitag 21. September 2007, 08:04

Hallo Waturs,

erstmal - und in jedem Fall - viel Glück für Dein Vorhaben! :-)

Bei den Begriffen 3D und Irrgarten fiel mir gerade pyOpenGL und PyGame ein. Es gibt da ein 10-stufiges Tutorial, in dem Dir pyOpenGL nähergebracht wird. Und wie der Zufall so will wird im 10. Teil eine 3D Umgebung in Form eines Labyrinths demonstriert. Das Tutorial funktionierte nur mit Pfeiltasten, aber mit wenigen Minuten Aufwand hatte ich die Maus integriert und schon stand ich in einem Wolfenstein-Ego-Shooter (ohne Kanone). ;-)
Leider lässt einen das Tutorial dann dort sitzen und weitere Gegenstände muss man sich selbst bauen, daher sollte man auch diesen Ansatz mit Vorsicht genießen. Zudem wolltest Du ja das meiste selbst machen. :D

Gruß,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Benutzeravatar
tromai
User
Beiträge: 92
Registriert: Mittwoch 26. April 2006, 11:20

Beitragvon tromai » Freitag 21. September 2007, 09:25

Aber ich denke, dass das doch schonmal ein Klasse Ansatz ist auf dem man aufbauen kann. Das komplizierteste sollte es doch wirklich sein, eine 3D-Umgebung zu basteln durch die man sich dann auch noch bewegen kann. Und wenn man das quasi schon serviert bekommt, dann ist denke ich das schlimmste schon überstanden.

Jetzt noch irgendwelche Texturen reinzubekommen ist zwar auch nicht ganz so ohne, das sollte man allerdings, wenn es eine gute API-Dokumentation gibt, irgendwie hinbekommen.

Ein Link zum Tutorial wäre klasse! Das ganze hat jetzt irgendwie auch mein Interesse geweckt.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Freitag 21. September 2007, 09:53

Ich hatte vor einigen Monaten in unserer Python-User-Group vorgestellt, wie das Python-Scripten in Blender funktioniert. Hier mal die beiden Mails, die ich danach rumgeschickt hatte:

Blender+Python
Blender Game Engine + Python

Jeweils mit einigen einfuehrenden Links und den recht gut kommentierten Beispieldateien, die ich vorgefuehrt hatte. Ich habe auch angefangen, das ins Wiki zu schreiben ([wiki]Blender[/wiki]) bin aber drueber weggekommen, das zu Ende zu fuehren... :oops:

Als Einfuehrung in die Game Engine (keine Vorkenntnisse noetig) empfehle ich den Link aus meinem ersten Post.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Freitag 21. September 2007, 14:51

Michael Schneider hat geschrieben:Es gibt da ein 10-stufiges Tutorial, in dem Dir pyOpenGL nähergebracht wird.

Wenn du jetzt noch den Link ins Spiel (unintended pun) bringst... :)
waturs
User
Beiträge: 8
Registriert: Montag 13. August 2007, 01:12

Beitragvon waturs » Freitag 21. September 2007, 21:03

Guten Morgen zusammen :wink: (7.47 Uhr in Auckland)

ja ein link zum tutorial waere echt nicht schlecht. 10 stufen hoert sich jetzt auch nicht zu aufwendig an. was danach passiert muss man eben schauen und auf sich zukommen lassen. ich merke ja gerade was fuer tolle unterstuetzung man hier bekommt :o
das allergroesste problem ist immernoch die zeit und ein anderes problem:

ich muss mir mit meinem schatz einen laptop teilen...whaaaa...diese heimlichkeit, links verstecken, wenn ich programme installiere "och, ich will mal was ausprobieren " :wink: und vor allem zusehen dass er nicht immer in der naehe ist.
zum glueck kann ich auch etwas auf der arbeit machen, aber eben nicht allzu viel.
Irgendwie waechst mein beduerfnis und meine sehnsucht nach meinem alten computer, den ich schwere herzens in deutschland gelassen hab.
Aber wie gesagt ich will mich jetzt nicht total stressen, ich hab noch andere sachen in petto (schreibt man das so??).
nichtsdestotrotz, das fieber hat mich gepackt, es machte riesen spass (blender) und ich freu mich auf tolle weitere Outcomes dieses threads...

Vielen Dank nochmal.
:!:
achja, mir faellt da noch ein, in den naechsten stufen wenn dann hoffentlich mal was steht, muesste ich doch das spiel mal testen lassen, von irgendwem...bzw es wird hoechstwahrscheinlich nicht funktionieren zuerst. wie koennte man denn zum beispiel eine unfertige spiele datei von blender euch nahe bringen? kann ja schlecht den code hier reinschreiben, kann man sowas irgendwo hochladen, ein ftp oder so? ich mein ich braeuchte ja irgendwann mal konkretes feedback bzw. eher hilfe. mit screenshots ist doch auch keine loesung. und vor allem hoffe ich seid ihr auch etwas neugierig geworden oder?
Die nicht jugendfreien sachen werden auch rausgelassen :wink:

Dann nochmal viele Gruesse aus Auckland
und VIELEN DANK
*ueberwaeltigt bin von der anteilnahme*

Eure W
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Beitragvon mawe » Samstag 22. September 2007, 04:16

waturs hat geschrieben:Die nicht jugendfreien sachen werden auch rausgelassen

Damit hast du mich als Tester verloren :D
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Sonntag 23. September 2007, 12:49

http://www.mindhog.net/~mmuller/project ... index.html habe ich heute bei freshmeat gesehen. Scheint eine kleine mit Python Erweiterbare Game-Engine zu sein ;)
My Website - 29a.ch
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
Michael Schneider
User
Beiträge: 567
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Bremen
Kontaktdaten:

Beitragvon Michael Schneider » Sonntag 23. September 2007, 14:10

Hi,

entschuldigt, dass ich es gestern nicht mehr geschafft habe.

Das Tutorial findest Du in nehe1-10.zip auf
http://www.pygame.org/gamelets/

Meine kleine Änderung findest Du hier:
http://paste.pocoo.org/show/4190/

Als Textur kann man quadratische! Grafiken verwenden, z.B. diese:
http://blender-archi.tuxfamily.org/images/HortonRockWall2.jpg
... einfach in das Verzeichnis mit meinem Skript unter 'seamless_wall.jpg' speichern - oder alternativ den oberen Teil des Skriptes ändern.

Genauso leicht kann man auch den sich drehenden Würfel mit verschiedensten Texturen belegen. Man kann auch mehrere 3D-Flächen erzeugen und dann mit entsprechenden Bereichen einer Textur belegen.
Wichtig dabei ist nur, wie die Texturkoordinaten (glTexCoord...) den Vertices (glVertex...) zugeordnet werden.

Gruß,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Sonntag 23. September 2007, 17:38

Michael Schneider hat geschrieben:Das Tutorial findest Du in nehe1-10.zip auf
http://www.pygame.org/gamelets/

Ach, das meinst du. Nun, das Original bringt einem OpenGL bei, aber nicht PyOpenGL. Und die Python-Ports der Tutorials sind nur Code, hat mit Tutorials also wenig zu tun. Leider ist beides in Kombination auch nicht so der Renner. Mit Zeit und Google kommt man dann aber doch irgendwann in die Nähe eines Lerneffekts ;) Hat bei mir jedenfalls geklappt ("been there, done that, but it wasn't pretty").

Michael Schneider hat geschrieben:Als Textur kann man quadratische! Grafiken verwenden, [...]

Soweit ich weiß müssen Breite und Höhe zudem Zweierpotenzen (z.B. 128, 256) sein, was anderes hat bei mir nicht funktioniert.
Benutzeravatar
Michael Schneider
User
Beiträge: 567
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Bremen
Kontaktdaten:

Beitragvon Michael Schneider » Montag 24. September 2007, 07:22

Y0Gi hat geschrieben:
Michael Schneider hat geschrieben:Als Textur kann man quadratische! Grafiken verwenden, [...]

Soweit ich weiß müssen Breite und Höhe zudem Zweierpotenzen (z.B. 128, 256) sein, was anderes hat bei mir nicht funktioniert.


Hi Y0Gi,

ich habe das "quadratisch" auch nur empirisch ermittelt, da der Programmablauf bei nichtquadratischen images ewig langsam wurde. Zwischen beliebiger Kantenlänge und einer Zweiterpotenz habe ich bei meinen wenigen Versuchen keinen merklichen Unterschied festgestellt. Ich wollte das oben schon schreiben, war mir dann aber doch nicht sicher und habe es weggelassen.

Es wäre auch verhältnismäßig belanglos, denn man kann ja beliebige Texturen auf ein 2^n-Quadrat verformen und dann nachher wieder auf ein Rechteck mappen. :-)

Da die Abhängigkeiten (PyGame, pyOpenGL, ...) ziemlich umfassend sind, die Doku (wie ich auch schon feststellte) relativ mager und in Blender ja schon erhebliche Fortschritte gemacht wurden, sollte man sich vom vorgelegten Werk nicht zu sehr verführen lassen, wenn man dafür nicht weiter kommt. Aber man kann sich ja aus Tutorial 10 die Technik abgucken.

Grüße,
Michael
Grüße,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Beitragvon Joghurt » Montag 24. September 2007, 22:14

Also ich würde von PyOpenGL abraten. OpenGL ist sehr low-level und um mehr als einen Würfel darzustellen muss man schon einiges an Zeit investieren, und 3 Monate halte ich da für zu knapp.

Wenn es unbedingt 3D sein muss, ist wohl Blender wirklich die beste Wahl, evtl. könntest du auch die Python-Bindings für Ogre3d nehmen:

http://www.ogre3d.org/wiki/index.php/PyOgre

OGRE ist allerdings nur eine Rendering Engine, keine 3D-Spiel engine, d.h. du müsstest dich um Sachen wie Kollisionsabfrage mit den Wändern etc. selbst rumschlagen.

Ansonsten gäbe es noch Crystal Space, ich weiss aber nicht, ob Crystal Space Pythonbindings hat oder ob du dann C++ Programmieren müsstest (wovon ich dir als Anfänger mit wenig Zeit eher abraten würde)

Wenn es nicht unbedingt 3D sein muss und 2D auch reicht, würde ich PyGame empfehlen, damit sollte dein Vorhaben in 3 Monaten gut zu schaffen sein, auch Fancy-Stuff wie Labyrinthgenerierung sollte evtl. noch drin sein.

Lange Rede, kurzer Sinn: ich würde dir zu einem 2D-Spiel raten; auch das ist genug Arbeit und nicht unbedingt weniger beeindruckend. Und ein fertiges 2D-Spiel macht sicherlich einen besseren Eindruck als ein 3D-Spiel, welches nur zur Hälfte fertig ist.
waturs
User
Beiträge: 8
Registriert: Montag 13. August 2007, 01:12

Beitragvon waturs » Dienstag 25. September 2007, 00:47

So, nun mal wieder was von mir....

das die gesamte geschichte mit 3d ziemlich aufwendig ist, leuchtet mir ein...nur hab ich so gar keine idee was man als 2d spiel so machen koennte.

hat da jemand vllt. ein paar schlagwoerter die man mir um die ohren hauen koennte so als inspriration?
:?
ich merke auch dass es schwierig wird, genug zeit zu investieren....ohne eigenen computer noch viiieeel schwieriger

O-Ton: "hm, du sitzt aber auch mehr am rechner als ich" und es ist seiner !!!!! :oops:
werd ich wohl wirklich meine anforderungen erheblich zurueckschrauben muessen :(

eine *confused* waturs
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Dienstag 25. September 2007, 07:04

waturs hat geschrieben:hat da jemand vllt. ein paar schlagwoerter die man mir um die ohren hauen koennte so als inspriration?

Hallo waturs!

Ein Memory-Spiel. Also Karten die auf einem Tisch liegen. Jede Karte gibt es zwei mal im Spiel. Immer wenn man zwei zusammen gehörende Karten gefunden hat, dann darf man diese behalten.

Du kannst persönliche Bilder verwenden und wenn keine Karten mehr auf dem Tisch liegen, dann kommt der Heiratsantrag. So etwas kannst du z.B. mit pyGame http://www.pygame.org/projects/23/177/ oder wxPython machen.

Die Idee von mkallas, mit RenPy http://www.renpy.org/wiki/renpy/Home_Page eine Bildgeschichte zu erstellen, hat mir auch sehr gefallen.
- http://www.renpy.org/screencast1.htm
- http://www.renpy.org/wiki/renpy/Ren'Py%20Games%201#Moonlight%20Walks

Wenn du eine gute Zeichnerin bist, dann...
... und wenn nicht, dann kannst du persönliche Bilder einbauen. ;-)

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
waturs
User
Beiträge: 8
Registriert: Montag 13. August 2007, 01:12

Beitragvon waturs » Dienstag 25. September 2007, 22:10

Guten morgen allerseits, :wink:

also die idee mit dem memory spiel ist nett, ich denke dafuer koennte die zeit durchaus reichen.
ich habe mal meine gedanken halbwegs sortiert und mein brainstorming aufgeschrieben:

memory spiel

- spielkarten quadratisch
- 20 karten (oder x karten - gerade zahl) = 10 paare (oder x/2 paare)
- x/2 = anzahl der bilder
- spielfeld groesse entsprechend der anzahl der karten (rechteckig), nicht dass alle nebeneinander liegen
- spielfeld soll klickbares image sein 'bitte hier klicken' --> aufruf einer "praesentation" ;-))
- erst nach beendigung des spiels kann man das spielfeld anklicken
- anordnung der karten zufaellig (wichtig: immer kartenpaare)
- klick = karte umdrehen und bild zeigen
- nur 2 klicks pro spielzug erlauben
- spielzug = klick 1 (bild offen) + klick 2, das heisst solange bild 1 offen halten bis klick 2 erfolgt
- wenn klick 1 und klick 2 dasselbe bild ergeben = true --> karten werden auf dem "haben" stapel abgelegt
- wenn klick 1 und klick 2 nicht zusammen passen, karten wieder umdrehen und neuen spielzug erlauben
- nette spielereien: anzahl der spielzuege, zeit messen usw.


folgende erste aktionen sind nach meinem verstaendnis noetig

a) irgendeine liste erstellen in der die bilder = variablen abgelegt sind
b) das ganze graphisch machen, also mit bildern verlinken
c) das spielfeld erzeugen
d) das spielfeld als link zur praesentation bestimmen
e) sicherstellen dass auf dem spielfeld nur kartenpaare liegen, d.h keine einzelne karte

puhhh, ich glaub damit kann ich definitv was lernen....
:D

jedesmal wenn ich vor einer aufgabe steh komme ich mir vor wie der blutigste anfaenger.

ein problem gibt es noch, da ich zwar durch wenig arbeit momentan in der lage bin an meinem arbeitsplatz etwas mit python rumzuspielen, kann ich hier ohne sein wissen was machen aber dummerweise ist von meinem arbeitgeber her die seite zu pygame gesperrt. klassifiziert als "game". 8)

entweder ich mache hier auf der arbeit die theoretischen geschichten und zu hause dann das pygame oder ganz anders.....komplizierter gehts ja fast nicht :?

auf der arbeit hab ich folgende hilfsmittel:

- gVim Editor
- python 2.4 (GUI, module docs, command line, manual)

jedes programm dass ich installieren moechte muss "approved" werden, weil ich keine admin rechte hab, ist eben eine sehr grosse firma, da hat man nix zu sagen.

wem ist jetzt die lust vergangen??? :P

auf komentare freut sich eure

waturs
waturs
User
Beiträge: 8
Registriert: Montag 13. August 2007, 01:12

Beitragvon waturs » Mittwoch 26. September 2007, 04:45

ich hab dann mal nebenbei angefangen, soweit mir meine arbeit das erlaubt hat.
folgendes ist bis jetzt dabei rausgekommen:

Code: Alles auswählen

from Tkinter import *

class card:
   def __init__(self, master):
      frame = Frame(master)
           frame.pack()
      
      self.game = Button(frame, text="Starte mein Spiel", fg="red", command=self.game)
      self.game.pack(side=LEFT)

      self.button = Button(frame, text="Nein, doch nicht spielen", fg="green", command=frame.quit)
      self.button.pack(side=LEFT)


   def game(self):
      print "hier startet demnaechst ein memory spiel!"
      

root = Tk()

card=card(root)

root.mainloop()



doof finde ich jetzt nur, dass die nachricht auf der command prompt erscheint. schoener waere ja ein neues fenster...in dem dann spaeter auch das spiel startet. bzw. diese start - und end buttons sollten spaeter bestandteil des spielfeldes sein.
jetzt habe ich schon ein wenig rumgestoebert und folgende sachen gefunden:

messagebox
Tkinter.Toplevel

wobei ich es so verstanden habe dass messagebox eher fuer fehlermeldungen ist.
wie das mit dem toplevel funktioniert (und das besonders fuer meinen fall...) ist mir noch gaenzlich schleierhaft.

:?:

hoffentlich stell ich mich zu doof an...

*einen strauss sonnenstrahlen schickt*
waturs

Wer ist online?

Mitglieder in diesem Forum: /me