WiP - Work in Progress - Part XVI
Übersicht

Gehe zu Seite Zurück 1, 2, 3, ... 18, 19, 20 Weiter
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() 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) : 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 ![]() 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 ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier ein kleiner Ausschnitt aus X-Heli. Einer Light Hubschrauber Simulation.
Fraps macht das den Rotoren Murks... ![]() http://www.youtube.com/watch?v=MHMal5cGgVc Falls jemand Zeit und Lust hat, X-Heli sucht noch einen Programmierer ![]() |
||
***************************
in Entwicklung: Tank Battles - Panzeraction Pacific Battles - Rundenstrategie abgeschlossenes Projekt: Harrier Assault |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die drehung auf der Y Achse ist ziemlich spontan, nichtwahr? ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
vanjolo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wirkt nur so weil ich nicht mit der Maus gesteuert habe, da gehts weich. ![]() |
||
***************************
in Entwicklung: Tank Battles - Panzeraction Pacific Battles - Rundenstrategie abgeschlossenes Projekt: Harrier Assault |
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das erinnert mich doch an den guten alten MS Flightsimulator 98 ![]() |
||
Starfare: Worklog, Website (download) |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
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: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
da fragst du noch Tankbuster?
Natürlich! Schraub noch etwas an der Performance und bring das ding raus unbedingt ![]() |
||
God is real - unless declared integer. |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Viel zu weit um aufzugeben!
Wenn du hilfe brauchst, frag einfach ^^ |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da steckt schon zu viel Zeit drin, mach unbedingt weiter!! | ||
Starfare: Worklog, Website (download) |
n-Halbleiter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Auf jeden Fall weitermachen. ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Harrier Assault
Action Simulation Das Flugmodell habe ich heute Abend fast fertig bekommen. Liebevolle SVGA Grafik aus den 90er. Mal sehen wie weit ich diesmal komme... ![]() |
||
***************************
in Entwicklung: Tank Battles - Panzeraction Pacific Battles - Rundenstrategie abgeschlossenes Projekt: Harrier Assault |
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
He! Das sieht gut aus Vanjolo! Ich hab soviel LHX Chopper Attack und F19 gespielt damals ![]() ![]() |
||
Play Satyr! |
![]() |
koemeterion |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
Xane |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@vanjolo:
Der Flat-Shading Stil gefällt mir und ist gut umgesetzt worden. ![]() Ich schließe mich dem Hasen an, weg mit der Haustextur und dafür evtl mehr Gebäude. |
||
![]() |
gameworx |
![]() Antworten mit Zitat ![]() |
---|---|---|
@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. ![]() PS: Multiplayer Modus nicht vergessen!!! |
||
mDaveBetreff: The Cartoonist v0.01 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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! 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 ![]() |
||
vanjoloBetreff: Demo? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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) Wer mitarbeitet wird berühmt! ![]() |
||
***************************
in Entwicklung: Tank Battles - Panzeraction Pacific Battles - Rundenstrategie abgeschlossenes Projekt: Harrier Assault |
![]() |
gameworx |
![]() Antworten mit Zitat ![]() |
---|---|---|
@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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke gameworx.
Ich denke es geht weiter. ![]() |
||
***************************
in Entwicklung: Tank Battles - Panzeraction Pacific Battles - Rundenstrategie abgeschlossenes Projekt: Harrier Assault |
Gehe zu Seite Zurück 1, 2, 3, ... 18, 19, 20 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group