![]() |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
ja das wäre auch nicht schlecht, wenn man einen Punkt erreicht und er speichert dann
|
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Bestzeiten? Ich hab noch keinen einzigen Level geschafft :)
|
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Aber das Problem ist, dass man dan den Anfang nicht mehr machen muss.
Aber bei dem Game soll es ähnlich wie bei Trackmania Nations sein: Immer nur vom Start gibt es einen Neustart. Wer die Beste Zeit hat gewinnt nach ablauf einer gewissen Zeit. D.h. ein Checkpoint wäre da mist. |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
WIE ??? :gruebel: :wall: :roll: :shock: :wiejetzt: :coder2:
|
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Ich mache die normal mit dem zweiten oder dritten Lauf durch!
Wenn ihr wollt mach ich grad eine Einstellung zum Schwierigkeitsgrad rein. ... MFG |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Ist halt nicht jeder so trainiert wie Du :)
|
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Nun ja immerhin hab ich das Spiel ja auch schon oft genug gespielt.
Und nebenbei bemerkt --> mir macht mein eigenes Game momentan mehr Spaß als UT u.a. °-° |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
So jetzt solltet ihr es aber alle mal schaffen.
In der Version wurde die Blockzahl um ein Drittel reduziert (19 Blöcke ohne Start und Ziel) PS: Hier habe ich nach 2 Versuchen 13sec geschafft... |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
bei mir meint er bei beiden Karten ""Gold Time" ist keine gültige Zeit" wenn ich die Karte starten will
|
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Ups stimmt hab das vergessen.
Hab eben erst das Laden von den Zeiten eingebaut, obwohl noch keine Zeiten in den Dateien gespeichert waren Einen moment... MFG |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Also ich finde es nett. Am Anfang war es ziemlich schwierig, mit abwechselnden Bedienen der Maus/Tastatur dort etwas zustande zu bekommen. Aber beim dritten Anlauf bekam ich bereits hin Maus und Tastatur gleichzeitig zu verwenden und mein Tempo erhöhte sich gewaltig ;)
Also wenn du dort einen Boden hinzufügen solltest, dann einen der einem den Eindruck vermittelt, dass man verdammt hoch ist, um die Angst des Runterfallens zu verstärken :) *edit* Oh, lege neuere Versionen unbedingt so ab, dass sie über deinen ersten Post geladen werden können. Bei der neuen Version *nervt* die flackernde riesige Uhrzeit irgendwie :-/ |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Jo mit der Uhrzeit:
Ich weiß noch nicht wie ich so was wie TextOut in OpenGl einbinden kann. Aber vielen dank für das Lob^^ PS: Was war denn deine Bestzeit? MFG |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
[ot]
Mal grad zwischendrin ne Frage: Was meint ihr eigentlich die ganze Zeit mit "Hard Coded" [/ot] |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Zitat:
"Hard Coded" deshalb, weil diese Werte (oder auch Funktionen) nicht verändert werden können, ohne die betreffende Unit neu zu compilieren. Also praktisch alles, was du nicht aus einer Datei liest ... MfG, Bug |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
thx!
Aber noch was bei meiner laden funktion für bmp texturen steckt der wurm drin. Der lädt zwar die Texturen, verdreht diese aber. Ich habe einen für TGA der lädt die schön und gut. Aber der BMP - LOADER lädt die genau um 180° verdreht! Weiß einer wie ichj im Quelltext oder durch OpenGl das bild beim Laden drehen kann? MSFG |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Schreib dir halt ne Blitting-Prozedur, die das einfach spiegelt. Das dürftest du doch hinbekommen.
|
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
leider nicht
die daten liegen in nem pointer |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Zur Not kannst du ja beim Rendern die Texturkoordinaten vertauschen/spiegeln.
MfG, LivingUndead |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Die Dateien liegen garantiert nicht in einem Pointer. Schau dir einfach das Format an, in dem die Werte drinliegen und dann geh das ganze in ner Schleife durch und speicher es vertikal gespiegelt in nem Puffer.
|
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Liste der Anhänge anzeigen (Anzahl: 1)
So es sieht sehr gut aus mit dem Multiplayer.
Es sind zwar noch manche Fehler drin und noch gar nicht alle Funktionen... aber hier möchte ich euch einen kleinen Vorgeschmack mal darauf geben, wie es werden soll. Im Bild sieht man das Programm 3X gestartet und die 3 Spielfiguten. In einem Fenster hüpft ein Spieler und in den anderen Fenstern kann man das wie gewünscht sehen. Also so wie es aussieht könnt ihr auf ein tolles Spiel für kurze Pausen u.a. freuen Und hier möchte ich noch einmal einen Dank an Custom aussprechen, ohne den ich dieses Projekt nie erst angefangen und auch nie so weit bekommen hätte. MFG Björn Zeutzheim |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
@3_of_8 : Also bei mir lädt der das Bild nur in einen Pointer oder so. Hab keine ahnung, in welchem Format der das in dem Pointer speichert.
Delphi-Quellcode:
Hier mal der relevante Code der laden-funktion.
var
FileHeader: TBITMAPFILEHEADER; // was FileHeader: BITMAPFILEHEADER; undeclared identifier InfoHeader: TBITMAPINFOHEADER; // was InfoHeader: BITMAPINFOHEADER; undeclared identifier Palette: array [byte] of TRGBQUAD; // Palette: array of RGBQUAD; declaration of array not supported by D2 and undeclared identifier RGBQUAD BitmapFile: THandle; BitmapLength: Integer; // changed from variant PaletteLength: Integer; // '' '' '' ReadBytes: Integer; // changed for incompatibility whith declaration of Win function Readfile Front: ^Byte; Back: ^Byte; Temp: Byte; I : Integer; Width, Height : Integer; pData : Pointer; // used for loading from resource ResStream : TResourceStream; begin [.....................] BitmapFile := CreateFile(PChar(Filename), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0); if (BitmapFile = INVALID_HANDLE_VALUE) then begin MessageBox(0, PChar('Error opening ' + Filename), PChar('BMP Unit'), MB_OK); Exit; end; // Get header information ReadFile(BitmapFile, FileHeader, SizeOf(FileHeader), ReadBytes, nil); ReadFile(BitmapFile, InfoHeader, SizeOf(InfoHeader), ReadBytes, nil); // Get palette PaletteLength := InfoHeader.biClrUsed; //SetLength(Palette, PaletteLength); commented by fabrizio ( i don't know how to solve !!) ReadFile(BitmapFile, Palette, PaletteLength, ReadBytes, nil); if (ReadBytes <> PaletteLength) then begin MessageBox(0, PChar('Error reading palette'), PChar('BMP Unit'), MB_OK); Exit; end; Width := InfoHeader.biWidth; Height := InfoHeader.biHeight; BitmapLength := InfoHeader.biSizeImage; if BitmapLength = 0 then BitmapLength := Width * Height * InfoHeader.biBitCount Div 8; // Get the actual pixel data GetMem(pData, BitmapLength); ReadFile(BitmapFile, pData^, BitmapLength, ReadBytes, nil); if (ReadBytes <> BitmapLength) then begin MessageBox(0, PChar('Error reading bitmap data'), PChar('BMP Unit'), MB_OK); Exit; end; CloseHandle(BitmapFile); end; // Bitmaps are stored BGR and not RGB, so swap the R and B bytes. for I :=0 to Width * Height - 1 do begin Front := Pointer(Integer(pData) + I*3); Back := Pointer(Integer(pData) + I*3 + 2); Temp := Front^; Front^ := Back^; Back^ := Temp; end; |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Da stehts doch eh: Die Daten sind im RGB-Format, jeder Kanal ein Byte, an der Stelle deines Pointers.
Der Code dafür ist ungefähr so:
Delphi-Quellcode:
(Das hättest du aber mit etwas Eigeninitiative auch hinbekommen sollen, es sei denn, was ich nicht hoffe, du hast dein Spiel bisher nur per Copy & Paste geschrieben)
for I:=0 to Width-1 do
for J:=0 to Height-1 do for K:=0 to 2 do PByte(Cardinal(Buffer)+(J*Width+I)*3+K):= PByte(Cardinal(pData)+((Height-J-1)*Width+I)*3+K); |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Erst mal danke für die schnelle Antwort.
An so was wie du geschrieben hatst hab ich auch schon gedacht kam aber nit weiter. --> Was ist denn dan Buffer in deinem Code? --> Ich kenne mich in diesem Gebiet leider nicht si aus. Könntest du mir vllt. da eine kleine Hilfestellung geben? |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Buffer ist ein Pointer, den du mit GetMem intialisierst. GetMem übergibst du die Menge Speicher, die du haben willst, also Breite*Höhe*3 (Weil 3 Bytes pro Pixel)
Wenn du dich auf dem Gebiet nicht auskennst, solltest du das schnell ändern - Pointer sind nämlich ein wichtiger Bestandteil der Sprache Delphi, und auch das Speichermanagement sollte man zumindest bedienen können. OpenGL ohne Kentnisse über Pointer zu benutzen ist außerdem so gut wie unmöglich. Wenn du ein Vertex-Array übergeben willst, wenn du eine Matrix in den Grafikspeicher laden willst, sogar, wenn du nur eine Textur laden willst, brauchst du Pointer. Und wenn du damit nicht umgehen kannst, dann kannst du tatsächlich nur durch Copy & Paste soweit gekommen sein, wie du jetzt bist. |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
EDIT: Erledigt
|
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
So ich habe die Lösung gefunden.
Für alle die auch so ein Problem haben sollten hier der Code, um ein Bild in einem Pointer mit Type Byte zu spiegeln.
Delphi-Quellcode:
Var
I,J,p : Integer; InvData : Array [0..256,0..1,0..2] of ^Byte; TMP : Array [0..256,0..2] of Byte; pData : Pointer; [...........] for I := 0 to (Width div 2) do begin for J := 0 to Height-1 do begin InvData[j,0,0] := (Pointer(Integer(pData) + I*Width*3 + J*3 + 0)); InvData[j,0,1] := (Pointer(Integer(pData) + I*Width*3 + J*3 + 1)); InvData[j,0,2] := (Pointer(Integer(pData) + I*Width*3 + J*3 + 2)); InvData[j,1,0] := (Pointer((Integer(pData) + (Width-i)*Width*3 + j*3 + 0))); InvData[j,1,1] := (Pointer((Integer(pData) + (Width-i)*Width*3 + j*3 + 1))); InvData[j,1,2] := (Pointer((Integer(pData) + (Width-i)*Width*3 + j*3 + 2))); TMP[j,0] := InvData[j,0,0]^; TMP[j,1] := InvData[j,0,1]^; TMP[j,2] := InvData[j,0,2]^; InvData[j,0,0]^ := InvData[j,1,0]^; InvData[j,0,1]^ := InvData[j,1,1]^; InvData[j,0,2]^ := InvData[j,1,2]^; InvData[j,1,0]^ := TMP[j,0]; InvData[j,1,1]^ := TMP[j,1]; InvData[j,1,2]^ := TMP[j,2]; end; end; |
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
Liste der Anhänge anzeigen (Anzahl: 2)
So jetzt hole ich endlich wieder eine neue Version aus meiner Programmierstube.
Es haben sich nochmal einige kleinigkeiten verändert. Der Multiplayer-Modus ist zwar noch nicht fertig, aber schon im Spiel integriert. Wer also den mal testen will, kann das mal versuchen. MFG Björn |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz