WiP - Work in Progress - Part XVIII
Übersicht

Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7 Weiter
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich werde Reisende nicht halten.
Ich habe auch mit keinem Ton gesagt dass das Projekt nicht lobeswürdig wäre, da hilft genaues Lesen ganz enorm. Ansonsten hält sich meine Überforderung in engen Grenzen und ich bedanke mich für dein Interesse. Ich wüsste auch nicht wo ich Dich bevormunde (ich wüsste nicht dass ich dir irgendwo den Mund verboten hätte oder Dir vorschreibe was du zu tun hast) , ich gab lediglich meine Meinung preis - ein kleiner aber dennoch essentieller Unterschied. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
biggicekey |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sehr schönes Projekt, macht weiter so! Und bitte nicht auf Updates hier verzichten, sonst würde ich es nicht mitbekommen und könnte es auch nicht kaufen. | ||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke! ![]() Mal ein kleines Video, gefilmt auf einem Samsung S3: http://www.youtube.com/watch?v=-DxqUbK5ua8& |
||
Cerberus X - Monkey X Reloaded! |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sehr nett. Das Projekt schaut wirklich nach was aus. Viel Erfolg beim Weitermachen!
Edit: Hab jetzt das ganze Spiel (inklusive Bonuslevel) durchgespielt, und finde es immer noch genial! Das einzige Problem, was mir aufgefallen ist, ist, dass die Auflösung vom Spiel in der Y-Achse ein bisschen zu hoch ist für meinen Bildschirm (ich hab 1366x768). Das hat dazu geführt, dass ich immer wieder scrollen hab müssen. Für eine fertige Handyapp wäre vielleicht noch ein automatischer Levelgenerator nett, mit dem man dann unendlich viele Level haben würde. Das wär echt super. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
Amazorn |
![]() Antworten mit Zitat ![]() |
---|---|---|
Top Xaron. Schaut klasse aus. ![]() |
||
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke Jungs! ![]() Die Feuerleitlösung für die Torpedos funktioniert jetzt auch: http://www.youtube.com/watch?v=UcA9y6demh4 |
||
Cerberus X - Monkey X Reloaded! |
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu Testzwecken habe ich ein Minigame geschrieben, das ein paar Bumpmapping-Effekte zeigt.
![]() Das Ganze ist mit GLSL Shadern realisiert und kann hier heruntergeladen werden: Download Da der Code (BlitzMax) beiliegt können andere gerne die geschriebenen Shader auch in eigene Projekte einbauen. |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke Lobby, werde ich mir sicher mal ansehen!
Langton's ant ...ist ein einfacher zellulärer Automat, bei dem eine Ameise auf einem weißen Gitter ausgesetzt wird und 1. Die Farbe des Feldes von schwarz zu weiß wechselt (und umgekehrt). 2. Sich nach rechts dreht, wenn das Feld Weiß ist. 3. Sich nach links dreht, wenn das Feld schwarz ist. Mit genügend Platz entwickeln sich aus sehr einfachen Regeln sehr komplexe und/oder überraschende Muster. Die Ameise beginnt nach ~10000 Zügen in ein regelmäßiges Muster zu verfallen. ![]() Ich fand's jedenfalls faszinierend. BlitzMax Code + win exe (~600kB) Siehe auch Wikipedia |
||
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) |
![]() |
BlitzMoritz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Xeres hat Folgendes geschrieben: Ich fand's jedenfalls faszinierend.
Fanden wir hier auch: Nach unten scrollen und staunen ![]() |
||
Kruemelator |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich arbeitete seit drei Nächten an einem Prozeduralen Modeling Programm.
Meshes werden nicht mit Vertices und Triangles beschrieben sondern nur durch eine Abfolge von Prozeduren und deren Übergabewerten. Es wird nur mit Quads(zwei angrenzende Triangles) gearbeitet, welche bearbeitet oder dazu genutzt werden um neue Prozeduren aufzurufen. Es gibt bisher 3 funktionierende Prozeduren: Add: 5 verschiedene Grundkörper mit unterschiedlicher variabler Quadanzahl: Würfel,Kugel,Zylinder,Kegel und Torus. Der Körper kann Verschoben, Gedreht und Skaliert werden. Extrude: Ein einzeles Quad kann "herausgezogen" werden und erzeugt somit 4 neue Quads. Transform: Ein einzelnes Quad kann Verschoben, Gedreht und Skaliert werden. Es ist auch schon möglich eine Prozedurliste zu Speichern und zu Laden. Außerdem kann man in der Liste eine beliebige vorherige Prozedur wählen und verändern solange es keinen Einfluss auf die folgenden Prozeduren hat. Das löschen der letzten Prozedur in der Liste ist auch möglich. Geplant: Im Bild sieht man schon ein paar der nächsten Prozeduren die ich geplant habe. Es wird auch möglich sein eine Prozedur auf mehrere Quads gleichzeitig anzuwenden indem man mehrere Quads gleichzeitig markiert. Hier ein Beispielbild wo ich einen toten Baum erstellt habe. Ist gespeichert nur 518 Bytes groß bei 56 Vertices. |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sooo... mein "Ferienprojekt" das seeehr stark von der Uni, genauer gesagt der Vorlesung "Web Data Extraction" (@DAK: Is ganz empfehlenswert bis jetzt ^^) motiviert ist:
BBPath Wer sich erinnern kann weiß, dass ich schonmal einen xml-Parser gemacht habe. Aber sind wir uns ehrlich, der war Müll. Und mein SQL-Parser geriet ein bisschen in Vergessenheit. Also wurde es Zeit, den xml-Parser neu zu schreiben und obendrein XPath mal genauer zu betrachten. Zuerst mal n Screenshot einer gerade eben husch-pfusch zusammen geflickten GUI: Links das Ergebnis des ganz oben stehenden XPath's, angewendet auf den DOM-Baum im rechten Teil. Die Technik dahinter ist schon "etwas weiter" aber natürlich lang ned fertig: ![]() ![]() ![]() ![]() ![]() Aber in Summe reicht es schon *fast*, einen Web-Crawler daraus zu basteln. Das wäre nämlich mein oberstes Ziel ![]() Muss aber auch dazu sagen, dass es wohl nichts ernstes wird weil gerade für diese Anwendung is BB soooo ungeignet mangels OOP ![]() ![]() mfG, Christoph |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Doppelpost ![]() In eineinhalb Monaten keine anderen WiP-Projekte... Also, ich hab mein zuvor vorgestelltes Projekt jetzt soweit dass ich mit all den "Libs" die ich da gebaut habe, einen halbwegs funktionierenden Bot für ein Browsergame entwickelt hab. Ein "Meilenstein" der wohl ausreicht um die Technologie euch mal näher vorzustellen. Zu aller erst, was man mit dem Ding machen kann. Man muss nur kreativ sein ![]() -) Bot für Browsergame hab ich selber gerade geschafft, man kann aber praktisch jede "selbstständige Anwendung" irgendwie anstreben. Sprich Web-Crawler / bishin zur eigenen Suchmaschine. -) Einfache (oder auch komplexe) "Datenermittlungen" wie im folgenden Code dargestellt. Das ganze is zwar im Moment auf http beschränkt (kein https), aber kann auch auf lokale Dokumente angewendet werden. Also falls jemand XML-Daten anderer Spiele auslesen will oder selber eine Anwendung schreibt die XML verwendet. BlitzBasic: [AUSKLAPPEN] ;Kleines Beispiel wie man Infos zum ersten Beitrag eines Blitzforum-Topics extrahiert Sieht doch soweit ganz einfach und verwendbar aus, oder? ![]() Das Beispiel zum selber-Ausführen inklusive den Libs gibts natürlich auch: https://www.blitzforum.de/upload/file.php?id=12702 Blöderweise sind die Sachen noch nicht besonders gut dokumentiert... Und halt auch noch nicht fertig, vor allem die XPath-Axis oder Namespaces im DOM. Es empfiehlt sich daher, das Ganze im Debugmode auszuführen, falls zB noch nicht implementierte Funktionen von euch genutzt werden, erfährt ihr es dort. Würde mich jedenfalls freuen wenn es ein wenig Feedback gibt was noch erwünscht ist bzw. was nicht funktioniert (Gerade im "wilden WWW" wo sich nicht jeder an XML-Standards hält hab ich oft Parse-Fehler die von modernen Browsern korrigiert werden, von mir noch nicht so wirklich zufrieden stellend). mfG, Christoph |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
PacManiBetreff: VisualBlitz - B3D & BMax in Visual Studio |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Huhu BBler,
wie vor einiger Zeit (etwas sehr lange her, hust) versprochen, setze ich mich nun mal an die Blitz3D- und später BlitzMax-Integration in Visual Studio. Ein Worklog habe ich hier https://www.blitzforum.de/worklogs/548/ indem ich ein bisschen darauf eingehe, warum überhaupt noch B3D und was ich in welcher Reihenfolge im Laufe der Zeit implementieren werden. Ein kleines Bild von dort auch nochmal hier - das Ergebnis von ein paar Stunden Arbeit, doppelhust ![]() ![]() ![]() |
||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab da mal wieder was angestellt...
![]() Quasi-nativer FunctionPointer support (ohne crash bei zweiten aufruf) und Steam integration! BlitzBasic: [AUSKLAPPEN] Include "ExampleShared.bb" |
||
![]() |
Xaymarehemals "Cgamer"Betreff: Quasi-native Pointer und Steam-integration (Teil 2/?) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab zwar ein wenig gebraucht ums zu funktionieren zu bringen, aber nun tut es genau das was ich will. Und was viele andere wahrscheinlich auch wollen - nämlich Parameter und Rückgabewerte!
Video: https://youtu.be/BDQFHfklGh4 Code: [AUSKLAPPEN] Include "../ExampleShared.bb"
Type Cubes Field Cube Field Time End Type Global fpSpawnCubeAtRandom = 0 Function SpawnCubeAtRandom() If Not fpSpawnCubeAtRandom Then fpSpawnCubeAtRandom = BlitzPointer_GetFunctionPointer() Return 0 EndIf Local Cube.Cubes = New Cubes Cube\Cube = CreateCube(Example_SceneRoot) Cube\Time = MilliSecs() PositionEntity Cube\Cube, Rnd(-100, 100), Rnd(-100, 100), Rnd(-100, 100) End Function SpawnCubeAtRandom() Global fpSpawnCubeAtPosition = 0 Function SpawnCubeAtPosition%(X#, Y#, Z#) If Not fpSpawnCubeAtPosition Then fpSpawnCubeAtPosition = BlitzPointer_GetFunctionPointer() Return 0 EndIf Local Cube.Cubes = New Cubes Cube\Cube = CreateCube(Example_SceneRoot) Cube\Time = MilliSecs() PositionEntity Cube\Cube, X, Y, Z End Function SpawnCubeAtPosition(0, 0, 0) Local A% = 36 SteamAPI_Init() ExampleInit() While Not KeyHit(1) Local Cube.Cubes For Cube = Each Cubes Local OX#, OY#, OZ#, Prc# OX = EntityX(Cube\Cube, True) OY = EntityY(Cube\Cube, True) OZ = EntityZ(Cube\Cube, True) Prc = (MilliSecs() - Cube\Time) / 10000.0 PositionEntity Cube\Cube, OX * (1.0 - Prc), OY * (1.0 - Prc), OZ * (1.0 - Prc), True If Prc > 1.0 Then FreeEntity Cube\Cube Delete Cube EndIf Next ExampleUpdate() Text 0, 0, "Keys:" Text 0,15, " 1 Native Call to SpawnCubeAtRandom:" + KeyDown(2) Text 0,30, " 2 Native Call to SpawnCubeAtPosition:" + KeyDown(3) Text 0,45, " 3 Pointer Call to SpawnCubeAtRandom:" + KeyDown(4) Text 0,60, " 4 Pointer Call to SpawnCubeAtPosition:" + KeyDown(5) Text 0,75, "Pointers:" Text 0,90, " SpawnCubeAtRandom" Text 0,105, " SpawnCubeAtPosition" Text 200,90, "0x" + Replace(RSet(Hex(fpSpawnCubeAtRandom), 8), " ", "0") Text 200,105, "0x" + Replace(RSet(Hex(fpSpawnCubeAtPosition), 8), " ", "0") If KeyDown(2) Then SpawnCubeAtRandom() If KeyDown(3) Then SpawnCubeAtPosition(EntityX(Example_Camera, True), EntityY(Example_Camera, True), EntityZ(Example_Camera, True)) If KeyDown(4) Then BlitzPointer_CallFunctionV(fpSpawnCubeAtRandom) If KeyDown(5) Then BlitzPointer_CallFunctionVFFF(fpSpawnCubeAtPosition, EntityX(Example_Camera, True), EntityY(Example_Camera, True), EntityZ(Example_Camera, True)) ExampleLoop() Wend SteamAPI_Shutdown() End Edit: ![]() |
||
![]() |
Xaymarehemals "Cgamer"Betreff: Callbacks! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich plane die BlitzPointer.dll bald zu releasen, schreibe gerade noch ein wenig an den Beispielen.
Hier das Callbacks-Example: https://youtu.be/IgRNJRdcBZk Code: [AUSKLAPPEN] ; Now that we have learned how to use functions, let's go for something really
; advanced - Callbacks! We can use these to practically fake a OOP language. Include "Example_Shared.bb" ExampleInit() ; Let's create a Type to hold our generic object that only contains callback and ; a pointer to the type object. This allows us to have a generic interface that ; takes BObject and whatever type-object the user wants and returns weether or ; not the BObject should be destroyed. Type BObject Field DataCallback Field DataValue% End Type ; Our Update loop looks like this, there's not much to do - after all we have ; the callbacks to do the dirty work for us. Function BObjectUpdate() Local Obj.BObject For Obj.BObject = Each BObject ; Check if the Callback and Value is set. If Obj\DataCallback <> 0 And Obj\DataValue <> 0 Then ; Our Callback tells us when we need to dispose of an object. If BlitzPointer_CallFunctionIII(Obj\DataCallback, Int(Obj), Obj\DataValue) Delete Obj EndIf Else Delete Obj EndIf Next End Function Type BCube Field Entity Field PosX#, PosY#, PosZ# Field Time End Type ; Our Callback for BCube - relatively simple. Global fpBCubeCallback = 0 Function BCubeCallback%(Obj.BObject, Cube.BCube) If fpBCubeCallback = 0 Then fpBCubeCallback = BlitzPointer_GetFunctionPointer() Return EndIf If Obj = Null Or Cube = Null Then Return Local Prc# = 1.0 - ((MilliSecs() - Cube\Time) / 5000.0) ;Cube\PosX = Cube\PosX * (1 + Prc) ;Cube\PosY = Cube\PosY * (1 + Prc) ;Cube\PosZ = Cube\PosZ * (1 + Prc) PositionEntity Cube\Entity, Cube\PosX * (Prc) * Cos(Prc * 90), Cube\PosY * Prc * Cos(Prc * 720), Cube\PosZ * (Prc) * Cos(Prc * 90) If Prc < 0.0 Then FreeEntity Cube\Entity Delete Cube Return True EndIf End Function BCubeCallback(Null, Null) Function BCubeCreate.BObject(X#, Y#, Z#) Local Obj.BObject = New BObject Obj\DataCallback = fpBCubeCallback Local Cube.BCube = New BCube Cube\Entity = CreateSphere(2) Cube\PosX = X Cube\PosY = Y Cube\PosZ = Z Cube\Time = MilliSecs() Obj\DataValue = Int(Cube) Return Obj End Function While Not KeyHit(1) BObjectUpdate() ExampleUpdate() ; Space to create objects. If KeyHit(57) Then Local X#, Y# Local tX#, tY#, tZ# Local Radius# = 50 For Y = 0 To 90 Step 9 tY = Sin(Y) For X = -180 To 180 Step 18 tX = (Cos(X) * Cos(Y)) tZ = (Sin(X) * Cos(Y)) BCubeCreate(tX * Radius, tY * Radius, tZ * Radius) Next Next EndIf ExampleLoop() Wend |
||
![]() |
biggicekey |
![]() Antworten mit Zitat ![]() |
---|---|---|
coole sache! | ||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
![]() |
Xaymarehemals "Cgamer"Betreff: BlitzPointer released! |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzPointer ist nun offiziell draußen: http://www.blitzbasic.com/Comm...pic=104556
![]() ![]() ![]() ![]() |
||
![]() |
VertexBetreff: Clap Jumper |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier mein altes Projekt namens Clap Jumper. Es geht darum zu zeigen, dass man Spiele auch ohne Maus, Joystick, Tastatur etc. steuern kann. Als Controller dient das Mikrofon. Durch Klatschen in die Hände springt der Spieler (die Kugel) nach vorn. Je lauter geklatscht wird, desto weiter springt er. Ziel ist es von der blauen zur roten Plattform zu gelangen.
Das Spiel wird unter GitHub gehostet: https://github.com/oliverskawronek/clap-jumper ![]() |
||
vertex.dreamfall.at | GitHub |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Braucht jemand Variablen-pointer? Nein? Jetzt habt ihr die trotzdem:
![]() ![]() Weitere Infos dazu im BB-Forum: http://www.blitzbasic.com/Comm...pic=104556 |
||
Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group