The Son of Pacman (BB+)

Übersicht Sonstiges Projekte

Gehe zu Seite Zurück  1, 2, 3, 4  Weiter

Neue Antwort erstellen

PSY

BeitragFr, Nov 23, 2012 0:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich werd hier die korrigierten Hilfetexte reinstellen und das Post jeweils editieren.
Mal sehn ob ichs am Wochenende hinbekomm, ansonsten halt nach und nach ^^


1/10
- The Ghosts will do everything in their power to keep you from advancing to the next stage or breaking the highscore.
- Each Ghost has its own personality and will employ different tactics to catch you.
- As you advance further in the game, the Ghosts will become faster, more resistant and vicious with every stage.
- So, in order for you to survive as long as possible, let’s put them on the couch and have a little look at what makes them tick…


2/10
- The most aggressive of the bunch.
- Blinky will try to get to you no matter what.
- He also has the CRUISE ELROY-ability, which will make him faster than the other Ghosts, once a certain amount of coins has been collected (or when time’s up in FRUIT HUNT mode).
- When Sue is around, he sometimes gets a little distracted.


3/10
- A.k.a. The Brain.
- Pinky is more intelligent. He always thinks a couple of steps ahead, what makes him sometimes tricky to deal with.
- He and Blinky will work together to lure you into a trap between them.
- Once you’ve learned how he ticks, you might be able to control him a little…


4/10
- Inky is a strange one. He’s very unpredictable and trying to get inside his head can become quite frustrating at times.
- He doesn’t like Teleporters very much.
- One thing is sure, though: There’s nothing random about his moving pattern. Inky always knows where Pinky is, and upon making a decision, he also considers the direction you’re currently heading into.


5/10
- Clyde sometimes seems a little unsure of what he actually wants. Some even call him dumb, but don’t you ever tell him…he’ll get very angry.
- When you’re far away, he approaches you like Blinky and Pinky, but when he gets close, he sometimes seems to shy away, as if he’s suddenly become afraid. Or it’s all just part of his fiendish master plan. Who knows…


6/10
- Clyde’s girlfriend.
- You’ll recognize her by that perky ribbon she’s wearing on her head, but don’t let her cute looks fool you, for Sue can get pretty nasty all of a sudden.
- Sue usually employs the same tactics and patterns as Clyde, but overall tends to be more moody which makes her more dangerous.
- She’s secretly in love with Pacman, but would rather die than admit to it.


7/10
- Inky’s little kid brother.
- Timmy’s still too young to be actually scary, which doesn’t stop him from behaving like that hugely annoying Poltergeist he is.
- He’s not particularly dangerous, yet very fast. He moves about rather randomly, but every once in a while gets a sense of direction.
- Timmy steals Fruits you are carrying, and in case your inventory is empty, he slows you down instead.
- He appears and disappears through Teleporters.


8/10
- Once dark blue, the Ghosts become vulnerable for a short period of time, and you may hunt them down and eat them for points.
- In Corporeal Form, the Ghosts also evade Pacman, trying to keep a safe distance between him and them.
- The further you advance in the game, the shorter gets the period for Corporeal Manifestation. The length of this period depends on the attribute REGENERATION.


9/10
- In Spectre form, Ghosts keep their original moving pattern, but can’t hurt Pacman. Likewise, Pacman can’t hunt them down for points anymore.
- Timmy may still steal fruits, but he won’t slow you down anymore.
- In FRUIT-HUNT mode, the length of the Spectre form period depends on the attribute REGENERATION.
- In ARCADE mode, upon drinking Lemonade, the period is always fixed.


10/10
- Every Corporeal Manifestation you manage to eat leaves a Restless Soul, which will try to get back to the respawn point inside the Ghost House in order to regenerate.
- Restless Souls do not harm Pacman, yet cannot be eaten for points.
- They always take the shortest path possible.


11/10
- They love each other very much.
- Seen from far away, one might think that they both behave in a similar way.
- From up close, though, it becomes clear that they act rather irrationally.
- After all, Ghosts are only human…



PSY
  • Zuletzt bearbeitet von PSY am Di, Nov 27, 2012 20:50, insgesamt 12-mal bearbeitet

diceman

BeitragFr, Nov 23, 2012 9:59
Antworten mit Zitat
Benutzer-Profile anzeigen
DANKE! Smile
Ich bilde mir zwar immer wieder gerne ein, recht gut englisch zu können (aus Buch und Film), aber die alltägliche Erfahrung fehlt mir dann doch. Ich lerne gerne dazu.
Now these points of data make a beautiful line,
And we're out of Beta, we're releasing on time.

PSY

BeitragSa, Nov 24, 2012 1:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Kein Ding, ausserdem ne gute Uebung fuer mich Wink

PSY
PSY LABS Games
Coders don't die, they just gosub without return

PSY

BeitragDi, Nov 27, 2012 20:51
Antworten mit Zitat
Benutzer-Profile anzeigen
So, fertisch. Muesste passen.

Die Hilfe geht von 1/10 bis 11/10, das solltest Du noch fixen Wink

Ansonsten werd ichs die Tage mal anspielen...


PSY
PSY LABS Games
Coders don't die, they just gosub without return

diceman

BeitragFr, Nov 30, 2012 13:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Zielgerade, Crunch Mode. Und noch ein Update.
Highscores sind weiterhin kompatibel, wer seine behalten will, einfach die entsprechenden .hig-Files in die entsprechenden Ordner kopieren.


//EDIT:
Siehe weiter unten für einen aktualisierten Download-Link!!!



Wichtigste Neuerung:
- Es gibt keinen A*-Wegfindungs-Algorythmus mehr! Die Geister waren schlichtweg zu klug für Pacman-typische Verhaltensmuster, und ich habe am Ende nur noch gegen die KI gekämpft um Kurzsichtigkeit zu emulieren. Also ab jetzt die klassische Routine über ungefähre Distanzberechnungen und ein simplifiziertes, aber extrem effizientes Pfadkosten-System; und damit die Geister nicht nur in den Standard-Maps ihren Weg finden, habe ich hier und da Waypoints eingebaut, welche allerdings nur triggern, wenn die Geister geschnappt wurden und zurück zum Respawn-Point müssen, oder einen Teleporter ihrer Wahl finden wollen. Ansonsten ist jetzt alles exakt so deterministisch wie man es gewohnt ist (lediglich die MS. PACMAN-KI erlaubt "echte" randomisierte Pattern). Auf einigen Maps, wie zum Beispiel die "Advanced"-Map, gibt es zudem sogenannte Tactic-Tiles, welche in deterministischen, pseudo-randomisierten Intervallen unsichtbare Schranken öffnen und schließen, um zu gewährleisten, daß die Geister hin und wieder auch auf den Wegen hinter den Teleportern suchen und nicht immer stur den falschen Weg einschlagen, nur weil die geschätzte Luftlinie es so gebietet. Diese Tactic-Tiles wurden jedoch extrem gewählt und vorsichtig gesetzt, und tauchen auch nur bei ganz wenigen, komplexeren Maps auf, um die natürlichen, personalisierten Bewegungsmuster der Geister nicht zu verwässern.
- Initiale Links-/Rechts-Orientierung der Geister eingebaut, welche zyklisch, mit den Ausschwärm-, Flucht und Verfolgungsphasen, wechselt, und beim Verlassen des Ghost House triggert (sowie die Reihenfolge der Richtungssuche beeinflusst).
- Insgesamt ist das Spiel etwas schwieriger und anspruchsvoller geworden; für das Freischalten von Lolly-Achievements muß man sich jetzt schon ein bißchen anstregen.
- 3 neue Farbschemas für die Labyrinthe.
- Nach Ablauf von "Fruit Frenzy" im FRUIT-HUNT Modus werden jetzt nochmal die gesammelten Extrapunkte angezeigt.
- Korrigierte Hilfetexte (Big Thanks @PSY - das gibt 'nen Credit)

Smile Smile Smile

user posted image
user posted image
user posted image
user posted image
user posted image
user posted image
Now these points of data make a beautiful line,
And we're out of Beta, we're releasing on time.
  • Zuletzt bearbeitet von diceman am Di, Dez 04, 2012 19:12, insgesamt 4-mal bearbeitet

ozzi789

BeitragFr, Nov 30, 2012 17:06
Antworten mit Zitat
Benutzer-Profile anzeigen
echt schön wie du immer weiter daran werkelst.
zeigt sich auch, macht spass !! Smile

grüsse
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

diceman

BeitragFr, Nov 30, 2012 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
KNOWN ISSUES (intern bereits gefixt):

- Wenn in einem der beiden Modi (ARCADE, KING OF THE HILL), wo die Startpositionen der Geister geshuffelt werden, die Geister in den "Frightened"-Status wechseln, BEVOR entweder Clyde oder Inky gestartet sind UND jener außerhalb des Ghost-House begonnen hat, verliert dieser sämtliche Richtungsbefehle und bleibt dort bis zum Ende des Levels stehen.
- Auf einigen Maps, insbesondere "Love Exposure", finden die Geister, nachdem sie gefangen wurden (je nachdem wo sie sich zum Zeitpunkt des Schnappens befanden), nicht wieder zurück zum Respawn Point. Erst wieder wenn der Links/Rechts-Zyklus switcht.
- Verliert man ein Leben während "Fruit Frenzy" gerade aktiv ist und noch nicht abgelaufen ist, wird der finale Info-Screen über die gesammelten Extrapunkte nicht korrekt aktualisiert.
- Eine unnötige Abfrage im KING OF THE HILL-Modus, ob man sich noch auf dem Hügel befindet während "Treasure Hunt" bereits aktiv ist, kann dafür sorgen, daß beim erneuten Betreten noch einmal der "Tadaaa!"-Soundeffekt zu hören ist.
- Blinky kann im Cruise Elroy-Modus immer noch die Richtung wechseln, wenn er (bei einem Phasenwechsel) den Befehl dazu bekommt.
- Bild-Elemente, die nachträglich modifiziert wurden, verschwinden nach einem Task-Switch, da der jeweilige Bildbuffer nicht als "schmutzig" deklariert wurde.



TWEAKS (intern bereits implementiert):
- Spielt man jetzt im Classic-Modus, besteht ab Stage 2 eine prozentuale Chance auf einen Farbschema-Wechsel, abhängig von den freigespielten Lollys (0-100%)
- Hat man die Ms. Pacman-KI für den Classic-Modus freigespielt und startet damit ein neues Spiel, ist jetzt das Farbschema für das Labyrinth durchweg pink.
- Ein kleines Fünkchen Intelligenz sei ihnen gegönnt: Beim initialen Rückkehr-Aufruf, wenn die Geister in den Flucht-Modus wechseln, dürfen sie einmal checken, ob ihr letztes Feld sie wieder näher an Pacman heranbringen würde. Wenn ja, dürfen sie den Umkehr-Befehl ignorieren. Alle anderen Bewegungsmuster danach bleiben, wie gehabt, pseudo-randomisiert.
  • Zuletzt bearbeitet von diceman am Sa, Dez 01, 2012 23:42, insgesamt 8-mal bearbeitet

ozzi789

BeitragFr, Nov 30, 2012 20:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich während einem Spiel auf den Desktop wechsle (alt -tab) dann sieht das wie folgend aus :S
user posted image
Wenn ich ins Menü gehe und neustarte ist alles wieder fein.

Gibt es einen Windowed Mode?
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

diceman

BeitragFr, Nov 30, 2012 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, das ist 'nen bekanntes Prob, was ich nicht gefixt bekomme, selbst nicht, als ich jetzt auf Blitz-3D umgestiegen bin, und es damit kompiliert habe. Bzw. ich habe eine Ahnung, wie ich es fixen könnte, das wird aber etwas aufwendiger. Momentan will ich einfach nur das Spiel von allen spielerischen Ecken und Kanten befreien und Release-fertig machen; alles andere ist Luxus, wenn ich mal ganz viel Zeit und Langeweile habe.
Einen optionalen Windowed-Mode wird es dann aber vermutlich in der Release-Version geben. Smile
Now these points of data make a beautiful line,
And we're out of Beta, we're releasing on time.
  • Zuletzt bearbeitet von diceman am Fr, Nov 30, 2012 20:44, insgesamt einmal bearbeitet

PacMani

BeitragFr, Nov 30, 2012 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab letztens beim Durchlesen in der Hilfe was von BufferDirty gelesen. Das sollte man auf selbst bemickelte Bilder anwenden - wenn man sie allerdings mit WritePixel* befummelt hat, nicht komplett gezeichnet. Vielleicht hilft das trotzdem? Habe das Problem selber in einem Spiel bei dem Buttons verschwinden die zur Laufzeit gezeichnet werden, und wollte den Befehl mal ausprobieren.

EDIT: Donnerlüttens, mir hilft es tatsächlich, obwohl ich "normale" Zeichenbefehle und nicht WritePixel* genutzt hab. Ist auch von der Technik dahinter her logisch. Ggf. schreibe ich das mal als Info zu dem Befehl...

Hier mein Code, der selbsterklärend ist (wichtig ist ja nur, nach dem Mickeln das Bild als schmutzig zu kennzeiochnen) Very Happy
BlitzBasic: [AUSKLAPPEN]
Function RefreshButton(Instance.Button)
;Neues Bild erstellen
FreeImage(Instance\Image)
Instance\Image = CreateImage(Instance\Width, Instance\Height, 3)

;Alle Zustände zeichnen
For i = ButtonStateNormal To ButtonStateClicked
;Auf Bild des Buttons zeichnen
SetBuffer(ImageBuffer(Instance\Image, i))

;Hintergrund
Select i
Case ButtonStateNormal
Color(81, 81, 215)
Case ButtonStateHover
Color(117, 117, 222)
Case ButtonStateClicked
Color(64, 64, 169)
End Select
Rect(0, 0, Instance\Width, Instance\Height)

;Rahmen
Color(56, 56, 143)
Rect(0, 0, Instance\Width, Instance\Height, False)

;Text
Color(0, 0, 0)
TextOutline(Instance\Width / 2, Instance\Height / 2, Instance\Value, True, True)
Color(255, 255, 255)
Text(Instance\Width / 2, Instance\Height / 2, Instance\Value, True, True)

;Buffer als unsauber markieren um im Speicher zu halten (Alt+Tab-Problem)
BufferDirty(ImageBuffer(Instance\Image, i))
Next

;Wieder auf Hintergrundbuffer zeichnen
SetBuffer(BackBuffer())
End Function
  • Zuletzt bearbeitet von PacMani am Fr, Nov 30, 2012 20:52, insgesamt 6-mal bearbeitet

ozzi789

BeitragFr, Nov 30, 2012 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Verständlich.
Trotzdem eine kleine Frage, wie lädst du die Bilder?
Das sollt eigentlich das Problem beheben (1 ist Standard..)
Zitat:
1=Managed: Grafiken werden in RAM (und VRAM) gehalten und wenn notwendig nach VRAM konvertiert, so können Grafiken nach Änderung der Auflösung erhalten werden. Solche Grafiken werden schnell gezeichnet - aber dafür sind die bei Änderungen langsam.





Edit:
Evt mittels WindowActivate - $804 arbeiten und die betroffenen Bilder (Level Ränder) neuladen.
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

diceman

BeitragFr, Nov 30, 2012 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
@Pac-Man
WOW!!! Shocked
Es funktioniert (nutze auch nur normale Zeichenbefelt; kein WritePixel, etc.)!!! Gerade mal mit der Coin-Matrix in meinem Spiel getestet, welche die verbliebenen Münzen zeichnet und über das Labyrinth legt, und tatsächlich: die Matrix bleibt auch nach dem Task-Switch aktuell! Werde dann mal demnächst in ein paar ruhigen Stunden alle "dreckigen" Bilder, an denen immer mal wieder "gemickelt" (netter Ausdruck Wink ) wird, und derer da nicht gerade wenig sind, entsprechend flaggen.
Wieder was gelernt.

DANKE!!! Cool
Now these points of data make a beautiful line,
And we're out of Beta, we're releasing on time.

PacMani

BeitragFr, Nov 30, 2012 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich merk schon, es lohnt sich auch für mich, die Hilfe einfach nochmal durchzurackern Smile

Ich finde es erstaunlich, das B3D bei Änderungen das Bild nicht automatisch überträgt. Vermutlich wegen des hohen Verkehrs zum Grafikbus hin, was früher (vor 10 Jahren Very Happy) mal ins Gewicht gefallen ist... bei den Witzgrafiken, die man so als Indie-Developer nutzt, sollte das eigentlich nicht auffallen (aber auch nicht unbedingt in der Hauptschleife gemacht werden...).

diceman

BeitragFr, Nov 30, 2012 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Pac-Man hat Folgendes geschrieben:
[...] bei den Witzgrafiken, die man so als Indie-Developer nutzt, sollte das eigentlich nicht auffallen (aber auch nicht unbedingt in der Hauptschleife gemacht werden...).


Muß hier jetzt mal ganz blöd nachfragen, bevor ich Stunden meiner Lebenszeit investiere nur um irgendwelchen Mist zu fabrizieren: wie soll ich es denn anders anstellen, wenn ich viele temporäre Grafiken haben, welche während dem laufenden Spiel aktualisiert, bzw. verändert werden? Sad Smile
Selbstverständlich würde ich den Buffer nur als dreckig markieren, sobald ich auch aktiv was geändert habe, und nicht im Millisekunden-Takt bei jedem Durchlauf der Schleife ... das wäre ja auch schön doof (meintest du das?).

Zum Beispiel die "Coin-Matrix" bei mir ist ein großes Bild, wo das Abbild aller Münzen vorher draufgezeichnet wird, und einfach über das Labyrinth-Bild gelegt wird. Bei jeder erfolgreich gefressenen Münze wird die Funktion refreshCoinMatrix() aufgerufen, und ohne Cls im respektiven ImageBuffer einfach ein maskiertes Rechteck drüber gelegt (natürlich, zwecks Geschwindigkeit, eine Bilddatei und keine on-the-fly Blitz-Grafik). Voila, Münze verschwunden. Ich habe die subjektive Erfahrung gemacht, daß sowas schneller ist, als ständig in der Hauptschleife ALLE Coin-Pics neuzuzeichnen. Oder bilde ich mir da was ein? Smile
Now these points of data make a beautiful line,
And we're out of Beta, we're releasing on time.
  • Zuletzt bearbeitet von diceman am Fr, Nov 30, 2012 21:35, insgesamt 2-mal bearbeitet

PacMani

BeitragFr, Nov 30, 2012 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, das ist immer eine gute Frage, wenn man dynamisch Bilder durchgehend bearbeitet. Ich meine aber, wenn du sie nach kurzer Zeit eh wieder aktualisierst, müssten sie nach einem Alt+Tab aber auch bald wieder auftauchen.

Ich würde jetzt ohne deinen Code genauer kennen einfach sagen: Wenn du die letzte Änderung an einem Bild durchführst, bevor das Bild lange Zeit unberührt bleibt - dann brauchst du BufferDirty. Also beim Coin fressen z.B. ist das vollkommen richtig.
Was ich wirklich nur vermeiden versuchen würde, ist die Hauptschleife. Aber da du ja nicht jeden Frame etwas frisst, ist das wohl in Ordnung Very Happy

Und wie schon gesagt, die "alten" DX7-Grafiken von heute halte ich nicht mehr für Grafikbus-Killer... schlimmer sind da eher das Hin- und Herschieben von den Vertex-/(besser) Indexbuffern von hochauflösenden 3D-Modellen vom Arbeitsspeicher zum Grafikspeicher und zurück Wink

diceman

BeitragFr, Nov 30, 2012 21:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay, Danke, das hilft! Smile
Und, nee, das Abbild der verbliebenen Münzen wird tatsächlich immer nur einmal aktualisiert, wenn die entsprechende Variable gerade runtergesetzt wurde. Habe eigentlich durchweg drauf geachtet, unnötige und doppelte Zeichenoperationen zu vermeiden. Wink
Now these points of data make a beautiful line,
And we're out of Beta, we're releasing on time.

PacMani

BeitragFr, Nov 30, 2012 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
diceman hat Folgendes geschrieben:
Okay, Danke, das hilft! Smile
Und, nee, das Abbild der verbliebenen Münzen wird tatsächlich immer nur einmal aktualisiert, wenn die entsprechende Variable gerade runtergesetzt wurde. Habe eigentlich durchweg drauf geachtet, unnötige und doppelte Zeichenoperationen zu vermeiden. Wink


Ja, das ist auch eine sehr gute Idee, nicht alle Münzen jeden Framedurchlauf einzeln zu zeichnen. Die Idee mit dem "Buffer" muss ich mir auch mal merken Very Happy

Mal so zum Spiel: Ich werd's auch mal anspielen als jahrelanger Pac-Man Original von 1979-Zocker und -Analysierer (daher mein Nick) Very Happy kennst du schon das Pac-Man Dossier? Sehr interessante und tiefergehende Analyse des Originals - ja, jeder Geist hatte sogar da schon eine eigene "Persönlichkeit" - in Sachen Wegfindung Wink

diceman

BeitragFr, Nov 30, 2012 22:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, yep, kenne ich. Ich glaube, ich habe ALLES gelesen, was es zu Pacman/Ms.Pacman-Wegfindung, Spieltheorie und Geist-Persönlichkeiten gibt. Cool Und wenn ich nicht komplett versagt habe, solltest du als Veteran (hoffentlich) so einiges wiedererkennen (habe sogar einige bekannte Bugs des Arcade-Originals als spielspaßförderndes Feature umfunktioniert) ...
Now these points of data make a beautiful line,
And we're out of Beta, we're releasing on time.

PacMani

BeitragFr, Nov 30, 2012 23:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Ui, das klingt spannend Very Happy Ich hoffe ich komme morgen mal dazu, es zu testen Very Happy
Es ist mittlerweile echt so, dass mir jedes Pac-Man-Spiel etwas komisch vorkommt, wenn sich die Geister nicht wie im Original verhalten, aber das macht die Sache natürlich schwieriger (das Original ist mittlerweile fast bis Levelende voraussehbar Very Happy)

diceman

BeitragFr, Nov 30, 2012 23:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe oben übrigens einen aktualisierten Build hochgeladen (inklusive Hotfixes). Smile

Wenn du's gerne komplett orthodox und deterministisch magst, dann spiel den Classic-Modus. Da wird dann auch der Overflow-Error in der Wegfindung von Inky und Pinky emuliert. Very Happy ARCADE, FRUIT-HUNT und KING OF THE HILL nutzen dasselbe Schema, allerdings "Bugfrei" und mit ein paar kleinen Optimierungen. MS. PACMAN ist dann wieder eine ganz andere, ungleich komplexere Geschichte, baut aber im Wesentlichen auf den deterministischen Classic-Pattern auf, mit ein paar Custom-Tweaks und hier und da ein paar vorsichtig randomisierten Bewegungsmustern.
Now these points of data make a beautiful line,
And we're out of Beta, we're releasing on time.

Gehe zu Seite Zurück  1, 2, 3, 4  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group