WiP - Work in Progress - Part XVI

Übersicht Sonstiges Projekte

Gehe zu Seite Zurück  1, 2, 3, ... 18, 19, 20  Weiter

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.

Noobody

BeitragDo, Jul 30, 2009 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
vanjolo hat Folgendes geschrieben:
Sind da auch Voxellandschaften ala Comanche oder Armored Fist möglich?

Ja, Voxellandschaften sind sogar sehr viel einfacher umzusetzen, da ja nur eine einzige 'Scheibe' an Voxeln vorliegt (im Voxelrenderer können ja beliebig Scheiben übereinanderliegen), die Sicht stark eingeschränkt ist (man kann sich nur in zwei Richtungen bewegen und sich um eine Achse drehen, während es im Voxelrenderer drei Richtungen und drei Drehachsen gibt) und der Rendervorgang kann Zeilenweise vorgenommen werden statt Pixelweise.
Diese einfachere Version eines Voxelrenderers habe ich vor einiger Zeit mal in B3D geschrieben und ins Codearchiv gestellt: Link

PSY hat Folgendes geschrieben:
In der letzten oder vorletzten Gamestar gabs nen Artikel über Voxel...hat Dich das inspiriert Nooboody?

Die Gamestar habe ich nicht, aber in der c'T las ich vor einiger Zeit mal einen Artikel darüber, der zumindest mein Interesse an Voxeln geweckt hat. Dort ging es allerdings um Voxelmodelle im kommenden Computerspiel Rage, bei denen die Voxel keine Transparenz besitzen. Ein Renderer ohne Transparenz ist ein wenig einfacher, aber ich denke nicht, dass die von id Software das nicht hinbekommen hätten - dort ging es wohl einfach um die Geschwindigkeit, da in einem solchen simpleren Renderer beim ersten gefundenen Voxel abgebrochen werden kann, während beim gewöhnlichen Renderer alle Voxel, die auf dem Sichtstrahl liegen, gefunden werden müssen.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

ToeB

BeitragFr, Aug 07, 2009 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
SimpleUDP

Villeicht haben einige von euch mitgekriegt, das ich vor nicht so langer zeit mal eine UDP - Netzwerk Lib geschrieben habe (im Codearchiv mehr dazu). Doch als ich damit anfangen wollte, ein spiel mit ihr zu machen, ist mir aufgefallen, das es noch viele fehler gab und sie so undurchdacht war, das man damit gar nix anfangen könnte (außer das mitgelieferte beispiel).

Deshalb ist mir im Urlaub die idee gekommen, es einfach nochmal zu versuchen, und habe mich in 2 der 4 wochen in fast jeder freien minute daran gesetzt zu planen und im kopf zu coden (hatte leider keinen laptop dabei). Rausgekommen ist dabei eine Lib die sich SimpleUDP nennt, und mit der man hinterher fast alles machen ums Thema netztwerk, nur halt viel einfacher als wenn man es selber schreiben würde.

Erstmal habe ich heute anfangen, die grundfunctionen zu Schreiben. Also spiel hosten, joinen, nachrichten senden. Folgende wichtige functionen gibt es schon :
Code: [AUSKLAPPEN]
UDP_HostGame(SpielName$,SpielerName$,SpielerAnzahl)
UDP_JoinGame(HostIP$,SpielerName$,MaxWartezeit)
UDP_SendMsg(Msg$)
UDP_Update()
UDP_GetEvent()

Host und Joingame sollten klar sein, sendmsg sendet eine zeichenkette an alle Spieler (Kein angst, ist kein P2P sondern beim client wird die nachricht an den host geschickt und der schickt die dann an alle Wink ),Update aktualliesiert das ganze, verwaltet das einklinken und ausklinken der spieler, schickt nachrichten weiter etc., und GetEvent wird dazu benutz um harauszufinden, ob ein spieler beispielsweise dem spiel beigertren ist und es verlassen hat. Es gibt noch ne menge andere Functionen, aber die sind nicht wirklich relevant.

Auch habe ich mir überlegt, das man mit der Zeichenkette statt stur die daten alle hintereinander zu reihen, einfach eine zeile "code" mitschickt, also Befehle, die Parameter haben, und die alle durch ein zeichen getrennt sind. Dazu habe ich zwei Functionen, einmal UDP_AddCommand und UDP_GetCommand. AddCommand fügt einen Befehl der zeichenkette hinzu und GetCommand ließt einen befehl nach dem anderen aus, gibt in zurück, und die Parameter werden in Arrays gespeichert, sodass man sie alle seperat hat und kein Stringparsing mehr durchfürhen muss. Das ganze laüft aber getrennt vom senden, also nicht das ihr denkt das ihr immer vorm senden AddCommand benutzen müsst. Müsst ihr eigl. auch gar nicht weil es ist schneller die zeile selber hintereinander zu quetschen also 100 mal AddCommand, hab ihn nur dahin geschrieben, damit das Programm übersichliger wird.

Nochmalwas zur technik :
Der Host verfügt über meherere Streams. Einer davon, der EmpfangsStream, hat einen konstanten Port (Kann man aber beliebig anpassen, aber nur vor dem compilieren, ist nämlich eine Constante). Dieser empfängt allle nachrichten, und der konstante port deshalb, weil wenn man beispielsweise im netztwerk nach servern sucht oder auf dem server konnectet, müsste man sonst immer den Port wissen, so macht die engine das alleine (nicht wie beim vorgänger). Dann hat der Host noch für jeden Player einen stream,damit es mit dem senden schnell geht. Die Clienten haben zwei streams, einen zum senden und einen zum ampfangen.

Zu guter letzt noch schnell einen kleinen screen, zu sehen ist ein Chatprogramm (~100 Zeilen) mit dem ich grade mit mir selber auf der IP 127.0.0.1 (eingener PC) chatte (6 Programme) :
user posted image

Der code vom Chatprogramm :
Code: [AUSKLAPPEN]
Include "UDP.bb"

Graphics 400,300,16,2
SetBuffer BackBuffer()

SeedRnd MilliSecs()

Typ = Input("Host(1) / Join(2)")

If typ = 1
   Name$ = "ToeB - Server"
   Game = UDP_HostGame("TestServer",NAme$,5)
Else
   Name$ = "Tobias - Client : "+Rand(200)
   Game = UDP_JoinGame("127.0.0.1",NAme$,1000)
EndIf

AppTitle Name$

If Game = 0 RuntimeError("Server konnte nicht erstellt werden !"+Chr(13)+Chr(13)+"Port wird bereits benutzt !")

Const lines = 21


Dim Chat$(lines)
Dim col(lines)

Global timer = CreateTimer(60)

AddLine("Willkommen zu meinem chat ;)",0,255,0)

Repeat
   UDP_Update()
   event = UDP_GetEvent()
   While event
      Select event
      Case UDP_Msg_New
         AddLine("NewPlayer : "+UDP_Player_Name(UDP_EventID),255,0,0)
      End Select
      event = UDP_GetEvent()
   Wend
   For i = 0 To UDP_PlayerNumber
      If UDP_Player_Online(i) = 1
         If UDP_Player_Msg(i) <> ""
            AddLine(UDP_Player_Name$(i)+":"+UDP_Player_Msg(i))
            UDP_Player_Msg(i) = ""
         EndIf
      EndIf
   Next
   
   For i = 0 To lines
      If Chat(i) <> ""
         r = (col(i) And $FF0000) / $10000
         g = (col(i) And $FF00) / $100
         b = (col(i) And $FF )
         Color r,g,b
         Text 0,i*13,chat(i)
      EndIf
   Next
   g = GetKey()
   If g > 31
      ChatLine$ = ChatLine$ + Chr(g)
   ElseIf g = 8
      
   ElseIf g = 13
      AddLine(Name+": "+ChatLine,255,255,0)
      UDP_SendMsg(ChatLine)
      ChatLine = ""
   EndIf
   If KeyDown(14) And keyms <= MilliSecs()
      ChatLine = Mid(ChatLine$,1,Len(ChatLine)-1)
      keyms = MilliSecs() + 80
   EndIf
   
   Color 255,255,255
   Text 0,286,ChatLine
   Rect StringWidth(chatLine),287,1,11
   
   Flip 0
   Cls
   
   WaitTimer(timer)
Until KeyHit(1)
End


Function AddLine(txt$,r=255,g=255,b=255)
   c = 0
   For i = 0 To lines
      If Chat(i) = ""
         c = 1
         If i < lines
            For j = i To lines-1
               chat(j) = chat(j+1)
               col(j) = col(j+1)
            Next
            chat(lines) = ""
            col(lines) = 0
         EndIf
      EndIf
   Next
   If c = 0
      For i = 0 To lines-1
         Chat(i) = Chat(i+1)
         col(i) = col(i+1)
      Next
      Chat(lines) = ""
      col(lines) = 0
   EndIf
   For i = 0 To lines
      If Chat(i) = ""
         Chat(i) = txt
         col(i) = 255*$1000000+r*$10000+g*$100+b
         Exit
      EndIf
   Next
End Function



Den code von der Lib gibts erst wenns fertig ist Wink

Edit
So Ich habe jetzt auch den Ping einegabaut (Pingtimeout noch nicht). Das ganze funtz so, das der Server jede sekunde eine nachricht an alle sendet. In dieser Nachricht befindet sich die anweisung, eine nachricht zurückzusenden. Und noch die Pings der anderen Spieler. Er stoppt jetzt die zeit. Dann, wenn der Client die Nachricht bekommen hat, sendet der ebenfalls eine nachricht zuück. Die bekommt der Host dann, und misst die zeit. Also den ping. Aber er kann seinen eigenen Ping nicht messen, deshalb wird noch eine nachricht an den Clienten geschickt,der vorher auch die Zeit gestoppt hat, und schon hat dieser auch den Ping vom Host (Sagt mir wenns schneller geht, also es geht schnell, nur ich weiß nicht ab wie vielen Clients und Nachrichten dieses System zu langsam wird)

So Ich habe mal ne kleine Demo zusammengestellt :
Download SimpleUDP Testing Demo(*.exe, ~1,3MB)


Also habe jetzt eine Version im Codearchiv hochgeladen.... EInfach mal ausprobieren Wink

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
  • Zuletzt bearbeitet von ToeB am Mo, Aug 17, 2009 21:48, insgesamt einmal bearbeitet
 

vanjolo

BeitragMo, Aug 10, 2009 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ein kleiner Ausschnitt aus X-Heli. Einer Light Hubschrauber Simulation.
Fraps macht das den Rotoren Murks... Very Happy

http://www.youtube.com/watch?v=MHMal5cGgVc

Falls jemand Zeit und Lust hat, X-Heli sucht noch einen Programmierer Wink
***************************
in Entwicklung:
Tank Battles - Panzeraction
Pacific Battles - Rundenstrategie
abgeschlossenes Projekt: Harrier Assault

Tankbuster

BeitragMo, Aug 10, 2009 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Die drehung auf der Y Achse ist ziemlich spontan, nichtwahr? Wink
Twitter
Download Jewel Snake!
Windows|Android
 

vanjolo

BeitragMo, Aug 10, 2009 21:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Wirkt nur so weil ich nicht mit der Maus gesteuert habe, da gehts weich. Wink
***************************
in Entwicklung:
Tank Battles - Panzeraction
Pacific Battles - Rundenstrategie
abgeschlossenes Projekt: Harrier Assault

ZaP

BeitragDi, Aug 11, 2009 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Das erinnert mich doch an den guten alten MS Flightsimulator 98 Smile Ich würde für den Rotor einen Quad machen, und mit einer Rotor-Textur versehen, die mit einem Motionblur filter bearbeitet wurde. Gibt's dafür dann auch einen Joysticksupport?
Starfare: Worklog, Website (download)

Tankbuster

BeitragMi, Aug 12, 2009 1:43
Antworten mit Zitat
Benutzer-Profile anzeigen
xDOnline


Hey liebe Leute. Aus Langweile, ect hab ich schonmal dran gedacht, mein altes Projekt wieder aufzuarbeiten. Ich habe mal ein kleines Testvideo hochgeladen, und bitte um eure Meinung bezüglich der Sache.


Meint ihr es lohnt sich ernsthaft, da nochmal ganz viel Arbeit reinzustecken, und es auf Vordermann zu bringen?




Ein Paar Infos:
Arrow Alle Grafiken sind Test Grafiken. Also wirklich ganz schnell und billig gemacht. Ich bitte euch das zu beachten.
Arrow Bloom und Blur ist noch nicht drin. Keine große Sache für mich, aber ich hatte keine Lust sowas extra für das Vid noch einzubaun. Bis jetzt war ich er auf das Netzwerkzeug spezialisiert.
Arrow Netzwerkkram funktioniert fehlerfrei. Alles basiert auf UDP und wird zum Teil (Passwörter) verschlüsselt übertragen. Alles was man im Video sieht, lässt sich auch mit mehreren Spielern erleben (:
Arrow Es wurde nur ein Raumschiff mit einem Geschütz verwendet. Es gibt bis zu 10 Geschütze an einem Schiff. Soviele werden vermutlich hinterher im Spiel nur "Kreuzer" haben.
Arrow Ja, ich weiß, die Textur der Arena ist sehr... lustig
Arrow Die Map dient nur als verschönerung. Es geht ja eigentlich mehr um die Funktion
Arrow NPC System sehr weit ausgebaut. Werden vom Server gesteuert, und man kann mit einem NPC reden, und dadurch Aktionen auslösen (wie den Beitritt der Arena).
Arrow Allerdings ist der Text im NPC-Fenster manchmal nicht korrekt formatiert, und guckt raus
Arrow Alle Zahlen, ect sind nur zur Fehlerbehebung. ^^



Hier das Video:
http://www.youtube.com/watch?v=r8X5kvNd1Z0

Bitte gebt mir eine Ehrliche Meinung dazu. ;9



https://www.blitzforum.de/worklogs/142
MFG,
Tank
Twitter
Download Jewel Snake!
Windows|Android

Scyrse

BeitragMi, Aug 12, 2009 1:50
Antworten mit Zitat
Benutzer-Profile anzeigen
da fragst du noch Tankbuster?
Natürlich! Schraub noch etwas an der Performance und bring das ding raus unbedingt Very Happy
God is real - unless declared integer.

ozzi789

BeitragMi, Aug 12, 2009 8:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Viel zu weit um aufzugeben!
Wenn du hilfe brauchst, frag einfach ^^
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

ZaP

BeitragMi, Aug 12, 2009 11:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Da steckt schon zu viel Zeit drin, mach unbedingt weiter!!
Starfare: Worklog, Website (download)
 

n-Halbleiter

BeitragMi, Aug 12, 2009 20:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Auf jeden Fall weitermachen. Smile Das sieht sehr solide aus und dürfte gut Spaß machen.
Wieso nehmen so viele Leute Requiem for a dream als Hintergrundmusik?
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit
Ploing!
Blog

"Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935)
 

vanjolo

BeitragDo, Aug 13, 2009 22:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Harrier Assault
Action Simulation

Das Flugmodell habe ich heute Abend fast fertig bekommen.
Liebevolle SVGA Grafik aus den 90er.
user posted image

Mal sehen wie weit ich diesmal komme... Very Happy
***************************
in Entwicklung:
Tank Battles - Panzeraction
Pacific Battles - Rundenstrategie
abgeschlossenes Projekt: Harrier Assault

DerHase

BeitragDo, Aug 13, 2009 23:20
Antworten mit Zitat
Benutzer-Profile anzeigen
He! Das sieht gut aus Vanjolo! Ich hab soviel LHX Chopper Attack und F19 gespielt damals Very Happy Ich würde bei den Häusern auch auf die Textur verzichten, dafür aber nen riesen Haufen Blöcke machen, 10 - 12 Tris pro Gebäude sind ja nicht viel, und dann mit dem Harrier durch die Strassenschluchten flitzen Smile
Play Satyr!

koemeterion

BeitragFr, Aug 14, 2009 0:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Schaut geil aus.
Ich wunder mich aber über das "Action Simulation". Was soll das Spiel denn eher sein, Sim oder Action? Bei Action würd ich auch sagen das einige Häuserschluchten ganz nett wären, allerdings wär das für eine Sim wieder unnütz.

Im Krieg versucht man schliesslich so wenige zivile Opfer zubringen wie möglich, aber so einfach um 'nen Buisnesstower fliegen wär da nicht angebracht Wink
 

Xane

BeitragFr, Aug 14, 2009 1:05
Antworten mit Zitat
Benutzer-Profile anzeigen
@vanjolo:
Der Flat-Shading Stil gefällt mir und ist gut umgesetzt worden. Very Happy
Ich schließe mich dem Hasen an, weg mit der Haustextur und dafür evtl mehr Gebäude.

gameworx

BeitragFr, Aug 14, 2009 8:44
Antworten mit Zitat
Benutzer-Profile anzeigen
@vanjolo:

schaut mal wieder ziemlich genial aus.

Bei deinem retro Grafikstil muss ich mich aber der Meinung von Xane und DerHase anschließen: Texturen müssen weg. Meiner Meinung nach solltest du die Gebäude einfach durch hellgraue Blöcke ersetzen (aber dafür auch eine Großstadt einbauen).

Hoffentlich findest du bald die gesuchte Unterstützung für dein Projekt. Gib bloß nicht auf.

Ich freu mich auf eine Demo. Very Happy

PS: Multiplayer Modus nicht vergessen!!!
 

mDave

Betreff: The Cartoonist v0.01

BeitragFr, Aug 14, 2009 9:59
Antworten mit Zitat
Benutzer-Profile anzeigen
The Cartoonist ist ein kleines Spielchen, indem ihr die Rolle des Karikaturenzeichners übernimmt.
In einer Reihe von unterschiedlichen und wahnwitzigen Modi müsst ihr um den höchsten Punktestand kämpfen. Dabei ist das Ziel des Spiels, den bösen Kugeln auszuweichen. Leichter gesagt als getan, denn eine Runde wird zunehmend schwerer. Zudem könnt ihr euch zwei Fähigkeiten zu eurem Nutze machen. Zum einen wäre da der Zeitstop, der alle Kugeln, die sogenannten Blobs, festhält. Der Zeitstop kann euch also auf kritischen Situationen retten.


Features:
-6 verschiedene Modi, jeder mit eigener Physik.
-schlichte Grafik
-simple Soundeffekte
-wunderbar weiche Steuerung des Karikaturenzeichners.
-gute Bewegungsmöglichkeiten (Wandsprung, Normaler Sprung, Erweiterter Fall etc.)
-leicht bedienbar
-für jede Altersklasse zu empfehlen
-Highscore
-(vorerst) zwei verschiedene Fähigkeiten
-schnucklige 800*600 Auflösung (Fenstermodus)

Pics? Pics!
user posted image
user posted image

Her damit!
https://www.blitzforum.de/upload/file.php?id=6480

Edit:
Steuerung
Typische WASD-Steuerung
Leertaste um Fähigkeit zu wirken(gedrückt halten)
V oder B um Fähigkeit zu wechseln.


Bin gespannt auf Eure Rekorde Smile
 

vanjolo

Betreff: Demo?

BeitragFr, Aug 14, 2009 12:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier der Stand von Harrier Assault bis jetzt.

Diejenigen die ein Spiel erwarten muss ich enttäuschen. Ich brauch dringend einen Programmierer der die Ideen mit umsetzt.

Wer die Promo-Demo probieren möchte: https://www.blitzforum.de/upload/file.php?id=6482

Schub mit A
gesteuert wird mit den Pfeiltasten
Kamera 1 F1 (hinter dem Jet)
Kamera 2 F2 (Flugkamera)
Kamera 3 F3 (Cockpit)
Kamera 4 F4 (Flyby)

user posted image

Wer mitarbeitet wird berühmt! Very Happy
***************************
in Entwicklung:
Tank Battles - Panzeraction
Pacific Battles - Rundenstrategie
abgeschlossenes Projekt: Harrier Assault

gameworx

BeitragFr, Aug 14, 2009 19:34
Antworten mit Zitat
Benutzer-Profile anzeigen
@vanjolo: Hab es gerade getestet. Wenn ich mir ein virtuelles Multiplayer Schlachtfeld in dem Grafikstil vorstelle, das macht Lust auf mehr. *fg* Hoffentlich findet sich bald ein Coder, der dich unterstützt.
 

vanjolo

BeitragFr, Aug 14, 2009 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke gameworx.

Ich denke es geht weiter. Very Happy (mehr im Worklog)
***************************
in Entwicklung:
Tank Battles - Panzeraction
Pacific Battles - Rundenstrategie
abgeschlossenes Projekt: Harrier Assault

Gehe zu Seite Zurück  1, 2, 3, ... 18, 19, 20  Weiter

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group