Blocomotion

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

Stark :allright:
-.-"
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

So, dass mit dem Passwort geht jetzt auch:

http://home.arcor.de/tomysoft/download/ ... on_0.4.zip

- Das Passwort des aktuellen Levels wird immer in der Titelzeile gezeigt (siehe Bild)
- Man kann die Geräsuche nun mit der Taste [M] stummschalten
- Man kann mit der Taste [R] ein Gitter einblenden (siehe Bild). Mit dem Gitter sieht es zwar nicht so schön aus, man hat aber irgendwie ein besseres Spielgefühl, finde ich. Deshalb habe ich es auch optional gelassen.

Das war jetzt vorerst das letzte Update. Am Wochenende komme ich nicht dazu, weiter dran zu basteln. Werde mich nächste Woche mal um ein paar Level kümmern. Bis bald!

Bild
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Mit der Version 0.5 gibt es:

- ein neues Gleisstück "Doppelkurve" als Gegenstück zur Kreuzung
- eine Pausenfunktion [P]
- endlich eine "Readme.txt" mit Spielanleitung
- ein akustisches Signal ("ding-ding-ding") bei Levelabschluss
- das Raster ist jetzt standardmäßig eingeschaltet
- einen leichten Level zu Beginn

Was noch fehlt:

- jedem Menge Level (bin dran...)

http://home.arcor.de/tomysoft/download/ ... on_0.5.zip
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Hi,

hab das Spiel nun mittlerweile 4.30-tauglich gemacht und einiges im Code verbessert. Mit der Version 0.91 des Spieles steht nun auch ein Leveleditor zur Verfügung. Leider sind bisher nur 4 Level mit dabei, von denen nur die ersten beiden was taugen. Deshalb hier mein Aufruf an alle Leveldesigner: Nehme gerne schöne, leichte und schwere Level entgegen. Levelautoren können ihren Namen in der Leveldatei hinterlegen. Dieser ist dann in der Titelzeile des Fensters zu sehen, wenn der Level gespielt wird. Vielen Dank schon mal!

http://www.lebostein.de/tomysoft/Blocom ... on_091.zip

Bild
Zuletzt geändert von Lebostein am 09.02.2009 11:01, insgesamt 4-mal geändert.
LCD
Beiträge: 107
Registriert: 23.01.2008 13:13
Wohnort: Wien

Beitrag von LCD »

Sieht gut aus. Habe einen Schneider Amstrad CPC leider nie gehabt (dafür aber den Spectrum, und kenne das Original: http://www.worldofspectrum.org/infoseek ... id=0002910). Bin schon auf die finale Version gespannt.
PB 4.61Beta1 32/64Bit. AMD FX6100, 8 GB RAM, ATI Radeon 5750, Win7 64 (64 bit ist mist weil 16-Bit Programme wie MakeTZX nicht mehr darauf funktionieren).
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

du verwendest noch die Lok die ich damals gemacht hab?
cool! :allright:
freut mich.

... werde mir das die Tage mal genauer ansehen... :mrgreen:
CNESM
Beiträge: 311
Registriert: 29.08.2004 15:16
Kontaktdaten:

Beitrag von CNESM »

Macht echt Spaß. Auf jeden Fall dran bleiben. Sofern man die Grafik noch etwas aufpeppt, kann das Ganze echt nen guter Titel werden :allright:
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

CNESM hat geschrieben:Macht echt Spaß. Auf jeden Fall dran bleiben. Sofern man die Grafik noch etwas aufpeppt, kann das Ganze echt nen guter Titel werden :allright:
Falls jemand an der Grafik noch Hand anlegen möchte (oder neue Bodenkacheln erstellen will etc.), dem sende ich gerne die Dateien zu. Aber im Ganzen soll es schon bei einem schlichten Grafikdesign bleiben.

Hab mal noch ein Update hochgeladen (0.91). Jetzt kann man seinen Namen direkt in die Leveldatei schreiben, er ist dann in der Titelzeile sichtbar, wenn der Level gerade gespielt wird: http://www.lebostein.de/tomysoft/Blocom ... on_091.zip
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

beide exen, sowohl das game als auch der editor, stürzen bei mir sang- und klang-los ab....

ok, nicht ganz sanges los, latürnich mit fehlerbericht.


hier die "d13c_appcompat.txt"

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="Blocomotion.exe" FILTER="GRABMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="Blocomotion.exe" SIZE="55808" CHECKSUM="0xBD127711" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="02/09/2009 08:29:33" UPTO_LINK_DATE="02/09/2009 08:29:33" />
    <MATCHING_FILE NAME="Leveleditor.exe" SIZE="60416" CHECKSUM="0x2823B6FF" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="02/09/2009 08:29:38" UPTO_LINK_DATE="02/09/2009 08:29:38" />
</EXE>
<EXE NAME="MSVCRT.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="msvcrt.dll" SIZE="343040" CHECKSUM="0xBA21B608" BIN_FILE_VERSION="7.0.2600.2180" BIN_PRODUCT_VERSION="6.1.8638.2180" PRODUCT_VERSION="7.0.2600.2180" FILE_DESCRIPTION="Windows NT CRT DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="7.0.2600.2180 (xpsp_sp2_rtm.040803-2158)" ORIGINAL_FILENAME="msvcrt.dll" INTERNAL_NAME="msvcrt.dll" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x5B640" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="7.0.2600.2180" UPTO_BIN_PRODUCT_VERSION="6.1.8638.2180" LINK_DATE="08/04/2004 07:58:22" UPTO_LINK_DATE="08/04/2004 07:58:22" VER_LANGUAGE="Englisch (USA) [0x409]" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll" SIZE="1058304" CHECKSUM="0xE7152EFA" BIN_FILE_VERSION="5.1.2600.3119" BIN_PRODUCT_VERSION="5.1.2600.3119" PRODUCT_VERSION="5.1.2600.3119" FILE_DESCRIPTION="Client-DLL für Windows NT-Basis-API" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Betriebssystem Microsoft® Windows®" FILE_VERSION="5.1.2600.3119 (xpsp_sp2_gdr.070416-1301)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. Alle Rechte vorbehalten." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x111ABF" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.3119" UPTO_BIN_PRODUCT_VERSION="5.1.2600.3119" LINK_DATE="04/16/2007 15:53:05" UPTO_LINK_DATE="04/16/2007 15:53:05" VER_LANGUAGE="Deutsch (Deutschland) [0x407]" />
</EXE>
</DATABASE>
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Hmmm... gerade nochmal runtergeladen und auf 3 Rechnern probiert, keine Probleme. Hab auch nochmal mit laufendem Debugger den zugehörigen Quellcode laufen lassen, auch hier keine Meldungen...

Ich benutze lediglich PB-Standardbibliotheken:

InitSprite()
InitSprite3D()
InitKeyboard()
InitSound()

sowie die Packer-Library und SetFrameRate(60).... Ansosnten keine API-Befehle, nur ganz normalen PB-Code.

Das einzige unsichere an meinem Code ist vielleicht das Generieren von Sprites als um 90, 180, 270 Grad gedrehte Kopie eines quadratischen Original-Sprites (Wird bei der Initialisierung mehrmals ausgeführt, um ein Kurvenstück zum Beispiel 3 mal gedreht zu duplizieren). Steckt hier vielleicht das Problem?

Code: Alles auswählen

ProcedureDLL TS_Sprota_Create(SourceSprite, SX, SY, Size, Winkel)

  Protected DestinSprite, DX, DY
  Protected SourceAdress, SourceRowLen, S1, S2
  Protected DestinAdress, DestinRowLen, D1, D2
  Protected ScreenFormat, ScreenPixLen, LOOP1, LOOP2

  DestinSprite = CreateSprite(#PB_Any, Size, Size)

  StartDrawing(ScreenOutput())
    ScreenFormat = DrawingBufferPixelFormat()
  StopDrawing()

  StartDrawing(SpriteOutput(SourceSprite))
    SourceAdress = DrawingBuffer()
    SourceRowLen = DrawingBufferPitch()
  StopDrawing()

  StartDrawing(SpriteOutput(DestinSprite))
    DestinAdress = DrawingBuffer()
    DestinRowLen = DrawingBufferPitch()
  StopDrawing()

  Select ScreenFormat
    Case #PB_PixelFormat_8Bits      : ScreenPixLen = 1 ; 1 Byte pro Pixel (Palette)
    Case #PB_PixelFormat_15Bits     : ScreenPixLen = 2 ; 2 Byte pro Pixel 
    Case #PB_PixelFormat_16Bits     : ScreenPixLen = 2 ; 2 Byte pro Pixel
    Case #PB_PixelFormat_24Bits_RGB : ScreenPixLen = 3 ; 3 Byte pro Pixel (RRGGBB)
    Case #PB_PixelFormat_24Bits_BGR : ScreenPixLen = 3 ; 3 Byte pro Pixel (BBGGRR)
    Case #PB_PixelFormat_32Bits_RGB : ScreenPixLen = 4 ; 4 Byte pro Pixel (RRGGBB)
    Case #PB_PixelFormat_32Bits_BGR : ScreenPixLen = 4 ; 4 Byte pro Pixel (BBGGRR)
  EndSelect

  S1 = ScreenPixLen: S2 = -S1 * Size + SourceRowLen

  Select Winkel
    Case 0: DX = 00000000: DY = 00000000: D1 =  ScreenPixLen: D2 = -D1 * Size + DestinRowLen
    Case 1: DX = Size - 1: DY = 00000000: D1 =  DestinRowLen: D2 = -D1 * Size - ScreenPixLen
    Case 2: DX = Size - 1: DY = Size - 1: D1 = -ScreenPixLen: D2 = -D1 * Size - DestinRowLen
    Case 3: DX = 00000000: DY = Size - 1: D1 = -DestinRowLen: D2 = -D1 * Size + ScreenPixLen
  EndSelect

  SourceAdress + SY * SourceRowLen + SX * ScreenPixLen
  DestinAdress + DY * DestinRowLen + DX * ScreenPixLen

  For LOOP2 = 1 To Size
  For LOOP1 = 1 To Size
    CopyMemory(SourceAdress, DestinAdress, ScreenPixLen)
    SourceAdress + S1
    DestinAdress + D1
  Next LOOP1
    SourceAdress + S2
    DestinAdress + D2
  Next LOOP2

  ProcedureReturn DestinSprite

EndProcedure
Antworten