Blender/python multiplayer API
Goddag
Jeg tænkte om der var en eller to der kendte til et godt python/blender multiplayer API.
Forsøger så småt at lave et microspil, og syntes at det kunne være en lækker måde at udfordre mig selv på.
Alt kan bruges, så skyd løs :)
Mvh floop
- Log in to post comments
Kommentarer4
Re: Blender/python multiplayer API
Jeg gør desværre ikke men håber da du vil dele nogen af dine små microspil med os når du på et tidspunkt selv er tilfreds med dem :)
Re: Blender/python multiplayer API
Kender desværre heller ikke meget til det, men håber de her ville hjælpe :
http://jmsoler.free.fr/didacticiel/blender/tutor/python_script00_en.htm
http://wiki.blender.org/index.php/Doc:Tutorials/Extensions/Python/BSoD
http://www.pygame.org/news.html
By en vej så kan jeg godt overtales til at teste dit spil...
Re: Blender/python multiplayer API
Jeg har lige et par updates så andre har en mulighed for at lære det :
Det skal skrives i python (well... kind of knew that one) :P
Og det skal skrives ved hjælp af sockets
Smider lige et python script med her der beskriver princippet - det er en frankenstein copypasta + threads, men gør i princippet så to kan "snakke" sammen via port 5000. Virker dog kun på lokalnetværk, så det er da en start.
btw. det kører via UDP, dvs en gammel protokol, skal nok skiftes til TCP inden det implementeres, men det her virker.
Dette skal så implementeres i spillet (med modifikationer ofc)... nå men her er koden:
# UDP server example
import threading
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_socket.bind(("", 5000))
ip = "indtast makkers ip her"
class server ( threading.Thread ):
def run ( self ):
print"UDPServer Waiting for client on port 5000"
while 1:
data, address = server_socket.recvfrom(256)
print "( " ,address[0], " " , address[1] , " ) said : ", data
client().start()
class client ( threading.Thread ):
def run ( self ):
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while 1:
data = raw_input("Type something(q or Q to exit): ")
if (data <> 'q' and data <> 'Q'):
client_socket.sendto(data, (ip,5000))
else:
break
client_socket.close()
server().start()
mit problem er pt. at jeg ikke kan sende informationerne over nettet, da folk normalt sidder bag en router. Nogen der har en løsning på dette?
Kan se at jeg modtager to poster i arrayet "address" men har ikke haft held til at kalde det den anden vej.
det ser nogenlunde sådan ud :
address[0] =
address[1] = 55000
Nogen der har et forslag til hvordan jeg connecter til mig selv på + 55000 (som må være min relative adresse)?
Har stirret mig blind på det i nat, så håber en eller anden har et genialt svar til mig i morgen :)
Re: Blender/python multiplayer API
Jeg ville nok begynde med TCP, hvis det er det du i sidste ende ville ende op med.
jeg ved lagt et link http://heather.cs.ucdavis.edu/~matloff/Python/PyNet.pdf