Games im "Retro"-Stil
Übersicht

TaxicomicsBetreff: Games im "Retro"-Stil |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hej Leute!
Ich gehöre ehrlich gesagt zu der Sektion: Ich fange jetzt ein tolles großes Spiel an- und 2 Monate später liegt es auf Eis. Deswegen wollte ich mich jetzt an Spiele mit einem "traditionellem" Spielprinzip wagen und den Retro-Look nachbauen. Jetzt hab ich allerdings ein paar Fragen: 1. In welcher Auflösung waren Spiele wie Mortal Kombat, Mario und Co.? Ich finde es besonders interessant mit weniger Pixeln klar zu machen wie ein Düsenjäger aussieht oder das der Haufen aus 4 Pixeln ein geniales Powerup ist. 2. Was sind für euch zentrale Spielelemente? Ich will kleine Spiele machen, keine Mammutprojekte,welche wo man mit Raumschiffen die von Links nach Rechts fliegen gegner zerballert und Endgegner bezwingt, und keine riesigen Beatemups wie das grade gennante Mortal Kombat^^ 3.Wie mache ich das mit den Farben am authentischten? Die Grellen Farben ohne weiche Übergänge um alles schön deutlich zu machen. Ich will ein buntes Pixel-Spektakel! Ich hoffe ich hab die richtige Kategorie erwischt und mich nicht zu oft vertippt. Schonmal danke im Vorraus, Taxicomics |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Von welcher Plattform sprichst du denn? NES, SNES, Gameboy, Arcade?
Du musst nicht unbedingt eine Original-Auflösung benutzen. Solange dein eigener Pixel-Stil einheitlich ist, sehe ich da kein Problem. Für Jump'n'Runs ist die Steuerung sehr wichtig, ansonsten befriedige den Sammler und Forscher Instinkt. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Auflösung ist meist 640 x 480. Das ganze im Vollbild und schon ist der erste wichtige Schritt Richtung Retro getan.
Das was einen an diese recht einfachen Spiele so fesselt ist meist gerade die Einfachheit. Ich muß nicht viel wissen, ein paar Tasten die oft noch von Spiel zu Spiel dasselbe bewirken und los. Was ich damit sagen will ist, keiner würde auf die Idee kommen mit Mario in eine fleischfressende Pflanze zu springen, aber das Goldmünzen zum sammeln da sind weiß auch jeder sofort ohne nachdenken. Du verstehst was ich meine? Ich bin als Spieler auf einer einfachen Map und erkenne sofort Ziel und Richtung, keine Strategie, nur wenige Zusammenhänge die zudem nur den Spieler betreffen. Bei den Farben ist bunt wichtig. Schau Dir mal Super Mario an. Grün, rot, scharf abgegrenzt. Knallig, auffällig, ich weiß sofort wer der Hauptcharakter ist. Dazu noch runde Kanten für den Knuddel-Look und die Spielfigur ist fertig. Meine 2 Cent's dazu ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
InFaIN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Inspiration... | ||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es geht noch einfacher !
cu |
||
Taxicomics |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank erstmal für die Antworten!
Ich hab jetzt einen Sidescroller angefangen, mit einer Auflösung 128x96, allerdings bekommt Blitzbasic das nicht so auf die Reihe. Werd wohl oder übel hochdrehen müssen^^ Was ist überhaupt die minimale Auflösung von Blitz? @Abrexxes: Bei Google hab ich auch schon geguckt-wie sich so ein spiel anfühlt weiß ich auch, aber wie bringe ich dieses Feeling rüber, das war die Frage. @InFain:Danke für den Link zum Retro-Contest,sehr hilfreich! |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
https://www.blitzforum.de/help/CountGfxModes
Blitz unterstützt erstmal alles, ob es die Grafikkarte des Spielers auch tut ist wieder eine andere Frage ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Prüfen der Grafikmodi ist natürlich das sinnvollste. Die kleinste Auflösung, die noch jede Grafikkarte unterstützen dürfte, wären 320x200 Pixel. Mode 13h | ||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du das Format 4:3 wählst, nimm 800x600 als mögliche Option mit auf, das sollte wirklich jede Grafikkarte hin bekommen (also, im Vollbild). Deine Grafiken müssten du dann nur ggf. hochskalieren. Bei BlitzMax gibt es Virtuelle Auflösungen bei denen man sich keinen großen Kopf machen muss, für BlitzBasic kann man auf 3D Beschleunigung setzen (z.B. Draw3D) oder als letzte Möglichkeiten a) vor dem Start hochskalieren (Ladezeit) b) die passende Größe Laden (Speicherplatz).
Nachtrag: 320x200 ist bei mir nicht drin (640x480 ist das Minimum). |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
undefined |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und wenn es nicht anders geht, dann Arbeite mit einem Rahmen und Skalierung (letzteres vorallem im Fenstermodus sehr wichtig! - man will ja trotzdem noch was erkennen ![]() |
||
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mal unter uns: Die physikalische Auflösung sollte für das Spiel selbst schnurzpiepegal sein. Worauf es ankommt ist, dass die Grafiken selbst pixelig aussehen. Wenn man auf Full-HD stellt, sollte der Pixelblock genau so groß sein wie auf 800x600. Das Zauberwort heisst skalieren.
Ich z.B. habe mir ein kleines Framework gebastelt, das es mir erlaubt: 1. Eine physikalische Auflösung anzugeben (diese Option kann der Spieler selbst bestimmen) 2. Eine virtuelle Auflösung anzugeben (diese stelle ich für mein Spiel ein, z.B. 480x300) 3. Automatisch schwarze Balken links/rechts oder unten/oben anzuzeigen, damit ein Breitbildschirm 4:3 nicht verzerrt darstellen muss. Beim Programmieren gebe ich nun immer die Positionen über die Virtuelle Auflösung an, und das Framework macht den Rest. Ich schreibe z.B. Drawrect 470,290,10,10 wenn ich ein Rechteck unten rechts einzeichnen möchte. Ausschnitt aus der Engine: Code: [AUSKLAPPEN] Rem bbdoc:TScreen, manages resolutions End Rem Type TScreen Field width:Int Field height:Int Field virtualOffset:Int[2] Field virtualSize:Int[2] Field virtualScaledSize:Int[2] Field physicalSize:Int[2] Field bar_color:Byte[3] Field bar_draw:Byte Field gfx:TGraphics Field basic_color:Byte[3] Field basic_alpha:Float Field basic_rotation:Float Field basic_blend:Byte Field layerList:TList = New TList Field layer_priorityDirty:Byte Method addRenderLayer(rl:TRenderLayer) Assert rl, "TScreen.addRenderLayer(rl=NULL)" rl.m_screenLink = layerList.AddLast(rl) rl.screen = Self Self.setLayer_PriorityDirty() End Method Method setVirtualSize(width:Int, height:Int) virtualSize[0] = width virtualSize[1] = height End Method Method setPhysicalSize(width:Int, height:Int) physicalSize[0] = width physicalSize[1] = height End Method Method SetBar_draw(on:Byte = True) bar_draw = on End Method Method setBar_Color(r:Byte = 0, g:Byte = 0, b:Byte = 0) bar_color[0] = r bar_color[1] = g bar_color[2] = b End Method Method setBasic_color(r:Byte = 255, g:Byte = 255, b:Byte = 255) basic_color[0] = r basic_color[1] = g basic_color[2] = b End Method Method setBasic_alpha(a:Float = 1) basic_alpha = a End Method Method setBasic_rotation(angle:Float = 0) basic_rotation = angle End Method Method setBasic_blend(mode:Byte = ALPHABLEND) basic_blend = mode End Method Method setLayer_PriorityDirty() layer_priorityDirty = True End Method Method init() calcScreensize() restartGraphics() SetBar_draw() setBar_Color() setBasic_alpha() setBasic_blend() setBasic_color() setBasic_rotation() End Method Method restartGraphics() remove_graphics() gfx = Graphics(physicalSize[0], physicalSize[1]) SetVirtualResolution(virtualScaledSize[0], virtualScaledSize[1]) SetOrigin(virtualOffset[0], virtualOffset[1]) End Method Method render() startRender() If layer_priorityDirty Self.layerList.Sort() For Local l:TRenderLayer = EachIn layerList applyBasicRenderSettings() l.render() Next finishRender() End Method Method startRender() Cls applyBasicRenderSettings() End Method Method finishRender() If bar_draw renderBars() Flip End Method Method applyBasicRenderSettings() SetColor basic_color[0], basic_color[1], basic_color[2] SetAlpha basic_alpha SetRotation basic_rotation SetBlend basic_blend End Method Method renderBars() SetOrigin(0, 0) SetColor bar_color[0], bar_color[1], bar_color[2] 'left bar DrawRect 0, 0, virtualOffset[0], virtualScaledSize[1] 'right bar DrawRect virtualScaledSize[0] - virtualOffset[0], 0, virtualOffset[0], virtualScaledSize[1] 'upper bar DrawRect 0, 0, virtualScaledSize[0], virtualOffset[1] 'lower bar DrawRect 0, virtualScaledSize[1] - virtualOffset[1], virtualScaledSize[0], virtualOffset[1] SetOrigin(virtualOffset[0], virtualOffset[1]) End Method Method calcScreensize() Local scale:Float = Max(Float(virtualSize[0]) / physicalSize[0], Float(virtualSize[1]) / physicalSize[1]) virtualScaledSize[0] = physicalSize[0] * scale virtualScaledSize[1] = physicalSize[1] * scale virtualOffset[0] = (virtualScaledSize[0] - virtualSize[0]) / 2 virtualOffset[1] = (virtualScaledSize[1] - virtualSize[1]) / 2 width = virtualSize[0] height = virtualSize[1] End Method Method remove() remove_graphics() remove_renderLayers() End Method Method remove_graphics() If gfx = Null Return CloseGraphics(gfx) gfx = Null End Method Method remove_renderLayers() For Local rl:TRenderLayer = EachIn Self.layerList rl.remove() Next End Method End Type |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
Taxicomics |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke erneut für die Antworten.
Hab jetzt die Auflösung hochgeschraubt, werde wohl die Grafiken neu und doppelt so groß machen, sprich von 16*16 auf 32*32, denn soviele Grafiken sinds noch nicht und die sind eher dummys. @Firstdeathmaker Danke erstmal für das Beispiel. In deinem Framework sind Befehle die ich nicht kannte, ist das BMax? Ich denke ich werde kein Extra Framework programmieren denn es soll ja ein kurzes Projekt bleiben ![]() Hoffe und denke das ich bald mal meine Ergebnisse zeige-bin gespannt was ihr dazu sagen werdet. Taxicomics |
||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
So ganz nebenbei....das ist Retro für mich:
http://www.youtube.com/watch?v...re=related und das wäre wohl das was sich einer denkt der das nie erlebt hat (oder zuviel davon!): http://www.youtube.com/watch?v...re=related ![]() Also...Retro ist unfär und fies. ![]() PS: Die Taste T galt der Hose, drückte man die im Original, liesen die Helden die Hosen runter, unser Held im remake verweigert das. (Die Auflösung ist im wohl zu hoch ![]() cu |
||
undefined |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Abrexxes
Wuah, im Gegensatz zu manch anderem Retro-Klassiker war dieses Spiel aber schon damals grauenhaft! *schüttel* ... allerdings muss ich zugeben: die Amiga-Version sieht immerhin schon um einiges besser aus, als die Atari-Verion, die ich damals hatte ... ![]() |
||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Als Vertreter der alten Schule (C+4, C64, Amiga 500+Extension,AtariSt4M-File40,286) müsste ich dir widersprechen, Ich tu es aber nicht da es die Geschichte schon getan hat. ![]() cu |
||
![]() |
Arrangemonk |
![]() Antworten mit Zitat ![]() |
---|---|---|
640x480/800x600 != retro
320x240 bzw 256x200 is retro (sogar der snes hatte noch solchne auflösungen) |
||
ingeneur |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group