WiP - Work in Progress - Part XV

Übersicht Sonstiges Projekte

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

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

PSY

BeitragSa, Jul 04, 2009 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Casiopaya hat Folgendes geschrieben:

EDIT: Ah das fällt mir ein: Ich hab vor Jahren einmal ein QBasic-Programm geschrieben, dass sich ganz genau so verhielt wie der "format c:" - Befehl aus DOS-Zeiten. Das hab ich dann auf den PC meiner Kumpels gestartet. Ein sinnloses Lesen auf der Festplatte hat sogar noch den Formatierungsprozess simuliert und ein Timer steuerte die % - Anzeige. Beim 1. Mal hab ich natürlich nicht verraten, dass da nicht das echte format c: ausgeführt wird... Unbezahlbar Twisted Evil Twisted Evil Twisted Evil


hrhr, sowas kenn ich. ich hab damals mal nen prog in turbo pascal geschrieben. das hat nen HD speedcheck simuliert und in wahrheit in jedem ordner und unterordner auf der HD sinnlose ordner und dateien angelegt. am ende stand dann da: "MUAHAHAHAHAHAHA. PSY WAS HERE". mein kumpel hat mich fast erschlagen. hatte natürlich auch das gegenmittel Wink
PSY LABS Games
Coders don't die, they just gosub without return

NightPhoenix

BeitragSa, Jul 04, 2009 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich möchte euch ein paar Fortschritte von meinem Projekt vorstellen.
"Star Wars - Era of War" nennt sich das Projekt seit einiger Zeit und besitzt ein Forum dessen Community langsam wächst. (Bei Interesse siehe Signatur)

Die Erste Neuerung sind kleine Nachrichtenfenster für Missionen oder ähnliches.
Sie können in 2 verschiedenen Modi gestartet werden: Einer für Nachrichten die nur per Bestätigung mit der Leertaste "weiterblättern bzw. abschalten" und der 2. Modi für zeitlich begrenzte Nachrichten. Im 2. Modi kann für die schnellen Leser auch per Leertaste sofort weitergeblättert werden noch bevor die Zeit abläuft.
user posted image

Wie für alle Aktionen in dem Projekt werden für die Nachrichtenfenster auch Functions genutzt:
Code: [AUSKLAPPEN]
M2_ShowMessage(ID,Anzeigezeit,Modi)

Die Übergebene ID ist ein Identifikator dafür welcher Text angezeigt werden soll. Alle Nachrichtentexte die im Spiel auftreten können werden extern geladen und erst wenn sie gebraucht werden aus einer Typliste entnommen um beispielsweise diesen Text anzuzeigen.


Hier wurde nun zum 3. Mal eine Überarbeitung der Explosionseffekte vorgenommen. Da vielleicht einigen der vorherige Effekt besser gefiel möchte ich eventuell im fertigen Spiel 2 Effektpackete anbieten. Einmal mit plastischeren Effekten (voluminös) oder eben mit diesen stark leuchtenden stilisierten.
user posted image


Einige Schiffe bekamen auch nun endlich Texturen:
user posted image

Und es gibt jetzt eine Systemkarte:
user posted image
Hier sieht man alle Planeten des Coruscant Systems größer dargestellt um eine bessere Übersicht zu verschaffen.
Die Planeten sind so texturiert dass ihre Oberfläche glaubwürdig im Verhältnis zu ihrer Nähe zur Sonne erscheint. Diese befindet sich in etwa der Richtung aus der wir die Karte hier betrachten.
Hier ein Planet in mittlerer Entfernung zur Sonne, jedoch zu nah um Temperaturen zu schaffen bei denen Wasser flüssig ist ("Vandor-2")
user posted image
user posted image
Und "Platoril", ein kleiner Planet der am zweit-nächsten an der Sonne ist und eine schwefelhaltige und weiche (bzw. geschmolzene) Oberfläche besitzt.
Hier sieht man auch, dass sich die Größe der stilisierten Sonnenstrahlen bzw. Überblendung der Sonne im Vergleich zur Position bei Coruscant verändert hat. Sie scheint nun viel intensiver.

Vielleicht ist es euch auch schon aufgefallen: Die Informationsfenster können nun bis zu 3 Seiten voll mit Infos über das Ziel beinhalten. Derartig umfangreichen Informationen zu einem Ziel sollen den interessierten StarWars Fans nebenbei die Möglichkeit bieten das Spiel als eine Art "3D Star Wars Lexikon" zu sehen bei dem sie nicht nur einfache Bilder wie im Internet sehen, sondern ihr Objekt für das sie sich interessieren in 3D betrachten können.
user posted image
Das ist nur ein Testtext über eine Golan-Kampfstation, nicht über Coruscant so wie es hier gezeigt wird.


Außerdem verfügt das Spiel nun über ein Bündnissystem was vor allem für den Multiplayer eine wichtige Rolle spielen soll, da es dynamisch und veränderbar ist. Hier kann man sehen wer Freund und Feind ist.
user posted image

Um euch nun ein wenig vom Lesen zu entlasten ab jetzt nur noch kurze Beschreibungen Wink

Ein Blick in den Navigationscomputer während eines Hyperraumfluges. Der Spieler ist die rote Kugel, so kann man verfolgen wo man sich gerade befindet und wie lange es noch dauert bis man ankommt.
(Übrigens muss während des Spieles nicht nachgeladen werden, es gibt nur einen unauffälligen Ruckler für paar ms bevor man im System kommt)
user posted image

Die 2 Sonnen von Tatooine mit einem Firespray Fighter im Schatten.
user posted image

Die Explosion einer seizmischen Bombe. (Extrem tödlich wenn man in den Strahl/Welle von ihr kommt!)
user posted image
Neben den Bomben haben nun auch Raketen und Torpedos den Weg ins Spiel gefunden.

So, Bilderflut beendet. Smile
MfG. NightPhoenix
  • Zuletzt bearbeitet von NightPhoenix am Sa, Jul 04, 2009 15:37, insgesamt 5-mal bearbeitet

Starwar

BeitragSa, Jul 04, 2009 14:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Sieht super aus, NightPhoenix.
Ich freu mich riesig auf ne Demo Wink
MFG
 

tobias12

BeitragSa, Jul 04, 2009 14:49
Antworten mit Zitat
Benutzer-Profile anzeigen
genial
*einensehrgrossentempelbauennebenava*

mach weiter so, und bring bitte mal eine demo raus:)

mlg
Mein Projekteforum

ozzi789

BeitragSa, Jul 04, 2009 14:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Grafik ist toll, der Gameplay wird wohl auch gut sein Wink
etwas ganz tolles find ich die Infos, also den Text über Coruscant usw!
mfg ozzi
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

vanjolo

BeitragSa, Jul 04, 2009 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Wahnsinns Arbeit!
Was soll man mehr dazu sagen.
Very Happy
***************************
in Entwicklung:
Tank Battles - Panzeraction
Pacific Battles - Rundenstrategie
abgeschlossenes Projekt: Harrier Assault
 

aletes

BeitragSa, Jul 04, 2009 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
einfach geil gemacht Very Happy
es erinnert mich ein wenig an X2/X3, nur mit StarWars-Schiffen und Planeten, aber richtig gut gemacht, mach weiter so Very Happy

NightPhoenix

BeitragSa, Jul 04, 2009 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke vielmals für all das Lob Smile

Zitat:
es erinnert mich ein wenig an X2/X3
Ich glaube so ziemlich jedes Weltraumspiel erinnert gewissermaßen an ein anderes der Sorte Wink

Zitat:
bring bitte mal eine demo raus:)
Ich will nichts versprechen, aber ich arbeite bereits fieberhaft an einer "rundum" Version (wohlbemerkt Alpha Status) ohne zu große Lücken, die man endlich mal der Öffentlichkeit präsentieren kann.
  • Zuletzt bearbeitet von NightPhoenix am Sa, Jul 04, 2009 18:14, insgesamt 2-mal bearbeitet

Noobody

BeitragSa, Jul 04, 2009 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
In den vergangenen zwei Wochen habe ich mich nach Lektüre von Wirths Buch über Compilerbau mal an eine kleine Scriptsprache gemacht.
Nicht gleich die Augen verdrehen ("NOCH eine Scriptsprache"), sie ist keineswegs zur tatsächlichen Verwendung gedacht, sondern ist nur ein kleines Lernprojekt meinerseits, um die Funktionsweise von Compilern besser zu verstehen Wink

Die Syntax ist sehr nahe an der von BlitzBasic/BlitzMax gehalten, da mir diese Syntax eben gefällt und sie zudem leicht zu implementieren ist. Einziger Unterschied bisher liegt darin, dass Variablen vor ihrer Verwendung zwangsweise deklariert werden müssen und dass ein If - Statement immer mit einem EndIf abgeschlossen werden muss, auch wenn es nur eine Zeile lang ist. Funktionen müssen ausserdem immer mit Klammern aufgerufen werden (Print "Hello World" wie in BB geht also nicht, das müsste Print( "Hello World" ) heissen).

Die Sprache beherrscht bisher Variablentypen Int und Float, die Kontrollstrukturen If-ElseIf-Else-EndIf/Repeat-Until/While-Wend/For-Next/GoTo, kann beliebige mathematische Ausdrücke berechnen und kann Funktionen aufrufen, die man vorher in BMax registriert hat (natürlich mit Parametern und Rückgabewerten).
Strings funktionieren vorerst noch nicht, ausserdem kann man in der Scriptsprache selbst noch keine Funktionen definieren - baue ich vielleicht noch ein, falls ich Lust dazu habe.

Zusätzlich zur BB - Syntax habe ich eingebaut, dass Funktionsaufrufe auf beliebig viele Zeilen verteilt werden können. In BMax kann man das mit .. erreichen, als kleine Erleichterung gehts in der Scriptsprache auch ohne.
Desweiteren kann man mit einem ; automatisch einen Zeilenumbruch einleiten. Der Parser übersetzt das als Zeilenumbruch, womit man beliebig viele Befehle in einer Zeile schreiben kann (wahlweise auch das ganze Programm). In BB konnte man mit : zwar mehrere Befehle in eine Zeile schreiben, das funktionierte aber auch nicht mit allen Konstrukten.

Um die momentanen Fähigkeiten der Sprache auszutesten, habe ich ein kleines (62 Zeilen) Pong darin geschrieben, das dann vom Parser ausgeführt wird.

Script Code: [AUSKLAPPEN]
var GWIDTH:int = 800
var GHEIGHT:int = 600

var PlayerX:int = 30
var PlayerY:float = GHEIGHT/2 - 50
var PlayerPoints:int
var ComputerX:int = 740
var ComputerY:float = PlayerY
var ComputerPoints:int

var BallX:float = GWIDTH/2
var BallY:float = GHEIGHT/2
var BallYSpeed:float = Rnd( -1.5, 1.5 )
var BallXSpeed:float = Rnd( -1.5, 1.5 )

Graphics( GWIDTH, GHEIGHT )

While KeyHit( 27 ) = 0
   var Timespan:int = Millisecs()
   
   Cls()
   
   DrawRect( PlayerX, PlayerY, 30, 100 )
   DrawRect( ComputerX, ComputerY, 30, 100 )
   
   DrawOval( BallX, BallY, 30, 30 )
   
   DrawText( 100, 0, PlayerPoints )
   DrawText( 700, 0, ComputerPoints )
   
   If RectsOverlap( PlayerX, PlayerY, 30, 100, BallX, BallY, 30, 30 ) And BallXSpeed < 0 Then
      BallXSpeed = -BallXSpeed + Rnd( 0, 0.1 )
   ElseIf RectsOverlap( ComputerX, ComputerY, 30, 100, BallX, BallY, 30, 30 ) And BallXSpeed > 0 Then
      BallXSpeed = -BallXSpeed - Rnd( 0, 0.1 )
   EndIf

   If BallY < 0 Or BallY + 30 > GHEIGHT Then BallYSpeed = -BallYSpeed EndIf

   If BallX < 0 Or BallX + 30 > GWIDTH Then
      If BallX < 0 Then ComputerPoints = ComputerPoints + 1 Else PlayerPoints = PlayerPoints + 1 EndIf
      
      BallX = GWIDTH/2
      BallY = GHEIGHT/2
      
      BallYSpeed = Rnd( 0, 3 ) - 1.5
      BallXSpeed = Rnd( 0, 3 ) - 1.5
      
      Delay( 1000 )
   EndIf
   
   BallX = BallX + BallXSpeed
   BallY = BallY + BallYSpeed
   
   PlayerY = PlayerY + ( KeyDown( 40 ) - KeyDown( 38 ) )*0.5
   
   If BallY < ComputerY + 50 Then ComputerY = ComputerY - 0.5 Else ComputerY = ComputerY + 0.5 EndIf
   
   If PlayerY < 0 Then PlayerY = 0 ElseIf PlayerY + 100 > GHEIGHT Then PlayerY = GHEIGHT - 100 EndIf
   If ComputerY < 0 Then ComputerY = 0 ElseIf ComputerY + 100 > GHEIGHT Then ComputerY = GHEIGHT - 100 EndIf
   
   DrawText( 0, 0, Millisecs() - Timespan )
   
   Flip( 0 )
Wend

End()


Screenshot (verkleinert):
user posted image
Download

Gesteuert wird mit den Pfeiltasten, die Punkte werden Mitte links bzw. Mitte rechts angezeigt. In der linken oberen Ecke steht ausserdem die Ausführzeit der Hauptschleife.
Nichts spektakuläres, aber ist ja nur ein Test.

Der Code des Parsers liegt bei, falls jemand am Aufbau interessiert ist (aber bitte nicht schlagen, der Code ist noch relativ unaufgeräumt Razz ).
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

ComNik

BeitragSa, Jul 04, 2009 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Eins der besten Bücher die ich kenne.

Aber: Da scheint was (ausnahmsweise) nicht zu funktionieren. Der Ball springt hin und her wie verrückt und bleibt ab und zu stehen. Crying or Very sad
Der Computer kriegt dauernd punkte weil ich den Ball nicht erreiche, da das spiel stehen bleibt.

lg
ComNik
WIP: Vorx.Engine

Tankbuster

BeitragSa, Jul 04, 2009 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Noobody, so wie ich das verstehe wird das ganze aber noch nicht als .exe oder ähnliches kompiliert, sondern einfach nur von deinem Programm interpretiert.

NOCH eine Scriptsprache Rolling Eyes ^^
Twitter
Download Jewel Snake!
Windows|Android

Noobody

BeitragSa, Jul 04, 2009 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
ComNik hat Folgendes geschrieben:
Aber: Da scheint was (ausnahmsweise) nicht zu funktionieren. Der Ball springt hin und her wie verrückt und bleibt ab und zu stehen. Crying or Very sad
Der Computer kriegt dauernd punkte weil ich den Ball nicht erreiche, da das spiel stehen bleibt.


*hust* Da hatte ich wohl vergessen, dass das Ding ohne Timer läuft - je nach Rechenleistung des Computers läuft es halt irre schnell oder sehr langsam. Anfängerfehler, sorry Razz
Eine neue Version mit angepassten Werten ist oben, hier nochmals der Link

Tankbuster hat Folgendes geschrieben:
Noobody, so wie ich das verstehe wird das ganze aber noch nicht als .exe oder ähnliches kompiliert, sondern einfach nur von deinem Programm interpretiert.

Ja? Ich schrieb doch hin, dass es eine kleine Scriptsprache ist Wink
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

Tankbuster

BeitragSa, Jul 04, 2009 23:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
sie ist keineswegs zur tatsächlichen Verwendung gedacht, sondern ist nur ein kleines Lernprojekt meinerseits, um die Funktionsweise von Compilern besser zu verstehen

Das hat sich ehr so angehört, als ob du das geschrieben hättest, um zu testen, wie ein Compiler funktioniert. Was bedeuten würde, dass du schon einen kleinen geschrieben hättest, und... ja ^^

Also willst du nur testen, ob du das mit den Schleifen und so gut hinbekommst. Na dann Smile


Bei dir kann man nie wissen, was du tolles machst, wenn dir langweilig ist. ^^
Vielleicht ein Draw3D-Klon, eine Physik-Lib, einen Matheparser, einen Rasterizer oder mal eben einen Compiler Very Happy Wink
Twitter
Download Jewel Snake!
Windows|Android

Noobody

BeitragSa, Jul 04, 2009 23:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Tankbuster hat Folgendes geschrieben:
Das hat sich ehr so angehört, als ob du das geschrieben hättest, um zu testen, wie ein Compiler funktioniert. Was bedeuten würde, dass du schon einen kleinen geschrieben hättest, und... ja ^^

Es ist ja ein Compiler - einfach einer, der nicht in Maschinencode übersetzt, sondern in einen simpleren Code, der dann von meinem Parser verstanden und ausgeführt wird.
Ein Compiler ist nicht zwingend ein Programm, das .exes erstellt, sondern einfach ein Programm, welches eine Programmiersprache in eine andere übersetzt.

Tankbuster hat Folgendes geschrieben:
Bei dir kann man nie wissen, was du tolles machst, wenn dir langweilig ist. ^^
Vielleicht ein Draw3D-Klon, eine Physik-Lib, einen Matheparser, einen Rasterizer oder mal eben einen Compiler Very Happy Wink

Naja, das hat nicht immer mit Langeweile zu tun, sondern einfach, weil mich so Zeug interessiert Razz
Dafür lass ichs dann einfach irgendwann liegen, wenn das Interesse nachlässt.
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
 

Ava

Gast

BeitragSo, Jul 05, 2009 0:12
Antworten mit Zitat
Ein Screenshot vom dritten Demo-Level. Smile
user posted image

Es ist halt alles noch nicht ganz perfekt, aber im Groben bin ich schon sehr zufrieden! Smile

( Diese Karte hat allerdings ein ganz schlimmes Problem, für das ich in meinem Trash-Code bisher noch keinen Lösungsansatz gefunden habe Rolling Eyes > Objekte auf dem Fluss schwimmen noch über den Weg hinweg - nicht darunter hindurch Confused )

Tankbuster

BeitragSo, Jul 05, 2009 1:22
Antworten mit Zitat
Benutzer-Profile anzeigen
@Noobody:
Stimmt eigentlich. Es gibt da einfach zuviele verschiedene Sachen.

Programme, die der Prozessor direkt ausführen kann (Binärdatei)
Programme, die erst vom Betriebssystem irgendwie Interpretiert werden müssen. (.exe)
Programme, die von anderen Programmen auf einem Betriebssystem für dieses Interpretiert werden
(irgendein Script.)

(Interpretieren ist ein schönes Wort, in diesem Fall, finde ich)


Ein Compiler ist für mich ein Programm, dass zum Beispiel ein Script zu einer .exe umwandelt. Also einen Code, für den man vorher ein Programm auf einem Betriebssystem gebraucht hätte, einfach so umschreiben, dass das Script direkt vom Betriebssystem ausgeführt werden kann. Ohne ein zusätzliches Programm.

Eigentlich hast du Recht, dass ein Compiler nur von einer in die andere Sprache übersetzen soll, aber in der Praxis ist es so, dass entweder von einer "höheren" Sprache in eine Basis-Sprache übersetzt wird, oder von einer höheren in eine andere höhere. (Es ist doch sinnlos, ein Programm welches auf einem Betriebssystem läuft in eine Sprache zu übersetzen, für die das Betriebssystem erst ein anderes Programm benötigt, dass diese Sprache wieder "zurückübersetzt")

Also dein Script bleibt ja noch unverändert und wird nur von deinem Programm Interpretiert. Daher ist es eigentlich kein Compiler, aber irgendwie doch, da dein Code ja vom PC ausgeführt werden muss.. njaa ich geh schlafen, hab keine Lust mir über das jetzt den Kopf zu zerbrechen. ^^



@Ava:
Es gibt ja auch Tunnel, die unter einem Fluss hindurchführen. Das würd ich natürlich nur im äußersten Notfall verwenden, wenn du alles neu machen müsstest, oder so, weils mit Brücke einfach schöner aussieht Wink
Twitter
Download Jewel Snake!
Windows|Android

Noobody

BeitragSo, Jul 05, 2009 9:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Tankbuster hat Folgendes geschrieben:
Also dein Script bleibt ja noch unverändert und wird nur von deinem Programm Interpretiert. Daher ist es eigentlich kein Compiler

Doch, da vor dem Parsen aus dem ursprünglichen Script ein eher lowlevliger Zwischencode erzeugt (=kompiliert) wird.
Nur dieser Zwischencode wird schlussendlich interpretiert - beim Ausführen ist vom ursprünglichen Script nichts mehr übrig.
Diesen Zwischencode könnte man natürlich auch zwischenspeichern, damit man das Script nicht ständig wieder neu kompilieren muss, wenn man es ausführen will; dann würde so etwas ähnliches entstehen wie die Kompilate von Java (nur nicht so komplex, versteht sich Razz ).
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

Casiopaya

BeitragSo, Jul 05, 2009 11:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Tankbuster hat Folgendes geschrieben:

Eigentlich hast du Recht, dass ein Compiler nur von einer in die andere Sprache übersetzen soll


Tatsächlich ist genau das die Definition eines Compilers. Die Zielsprache muss nicht direkt von Hardware verarbeitbar sein sondern kann irgendetwas sein.

Tankbuster

BeitragSo, Jul 05, 2009 11:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Oki, ich gebe mich geschlagen ^^
Twitter
Download Jewel Snake!
Windows|Android

mas93

BeitragSo, Jul 05, 2009 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
@Ava: Und die Berge hast du echt mit dem Relief Filter gemacht?
Könntest du etwas genauer erklären wie du die so toll hinbekommen hast?
Weil die sehen echt genial aus Very Happy
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

Gehe zu Seite Zurück  1, 2, 3 ... 16, 17, 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