CPC wolfenstein preview

Optimus

RetroActive
Joined
9 Δεκ 2006
Μηνύματα
481
Αντιδράσεις
181
Έχω ανεβάσει στο youtube ένα preview video μιας νέας wolfenstein3d engine που γράφω στον Amstrad. Προς τα παρών έχει γίνει το βασικό κομμάτι του column renderer, και απλώς για τα 64 wall slices ανά frame διαβάζω το distance και το texture column to render από ένα precalculated animation file. Για να μπορεί να γίνει playable θα πρέπει να βρίσκω αυτά τα δεδομένα ανα frame με μαθηματικά. Αυτό θέλει περισσότερο ψάξιμο και θα γίνει για την επόμενη version. Προς το παρών απλά παρουσιάζω πόσο γρήγορο είναι το rendering ήδη.

Enjoy!

 
Απίθανο !! :headbangdude:

Την ευλογία μου, τέκνον μου. (και ας έρθουν τώρα οι άλλοι να μιλήσουν για βουτυράτα καρέ και μεταξένια οπίσθια :diablotin: )
 
Πόσο ΜΕΓΙΣΤΟΣ είσαι όμως...

Υ.Γ. Α, και να μην ξεχάσω: Μπόνους-Μπόνους
 
Τελευταία επεξεργασία από έναν συντονιστή:
billy είπε:
Την ευλογία μου, τέκνον μου. (και ας έρθουν τώρα οι άλλοι να μιλήσουν για βουτυράτα καρέ και μεταξένια οπίσθια :diablotin: )
8) τι να θελει να πει αραγε ο πατερ ooopss... o :diablotin: ποιητης ηθελα να πω ... :p
 
Τελευταία επεξεργασία από έναν συντονιστή:
Εξαιρετικο!!!!!! Keep us updated!
 
Tελειο! Απιστευτη δουλεια!!
 
Ακόμα μια ποιοτικότατη δουλειά του φίλου Optimus ! Εξαιρετικό !
 
Απίστευτο. Σε λίγο να δεις θα βάλει κάτω και το original release του Wolf 3D σε pc.

8-bit power in use!!

Συγχαρητήρια. keep us posted!!
 
Optimus εχεις ξεφυγει τελειως !! :D

Παντα τετοια, ετσι για να προβληματιζονται οι μουσταρδοπαστελατοι ;)
 
Το έχω ξαναγράψει πολλές φορές. Άτομα σαν τον Optimus είναι η αφρόκρεμα του retromaniax και πραγματική τιμή που κάνουν τον κόπο να κάνουν έστω και login.

Κάθε φορά που βλέπω post του Optimus ξέρω ότι κάτι εντυπωσιακό θα δω, κάτι σκαρφήστικε πάλι, κάποιος νέος αλγόριθμος θα βρήκε τον δρόμο του μέσα στον Z80.

Ωραίος για άλλη μια φορά.

Ακόμα καλύτερος θα ήσουν αν μας έδειχνες τον αλγόριθμο σε μια Basic ώστε να καταλάβουμε τη λογική.

Τώρα για τα precalculated δεδομένα δεν μπορούν να μπουν και αυτά στο BSP tree και να τα κάνεις lookup?
 
αυτό θα μπορούσε κάλλιστα να σταθεί απέναντι σε παιχνίδια της εποχής του από μεγάλες εταιρίες...

μπράβο φίλε...είσαι ικανότατος!
 
φαινεται οτι καποιος βρηκε λιγο ελευθερο χρονο!

και τον αξιοποιησε με τον καλυτερο δυνατο τροπο!!!!

πολυ γρηγορο πολυ καλο

thumbs up for optimus
 
Πολύ καλό και γρήγορο!

Για να κάνω και λίγο το δικηγόρο του διαβόλου, αξία θα έχει περισσότερη να το δούμε πως θα τρέχει όταν θα το έχεις τελειώσει. Γιατί υπάρχουν πολλοί παράγοντες όπως ο ήχος (ηχητικά εφέ και μουσική εαν σε πάρει η μνήμη) και οι εχθροί. Το rendering είναι πολύ γρήγορο αλλά αναρωτιέμαι εαν θα πηγαίνει τόσο γρήγορα όταν θα βάλεις και εχθρούς και θα έχει κανονικό gameplay.

Παρόλα αυτά, φοβερή προσπάθεια!

Α και να μην ξεχάσω: ΜΠΟΝΟΥΣ ΜΠΟΝΟΥΣ! ΚΑΤΕΒΑ ΣΚΥΡΕ! :D
 
πολυ καλο πραγματικα μου θυμισε τα βραδυα που ελιωνα παιζοντας wolfenstein
 
@f2bnp: Ναι βέβαια. Προς το παρών είναι ένα preview καθαρά του rendering. Αν πάει για realtime και κάπως περάσω τα μαθηματικά του raycasting, μπορεί να χάσω 1-2 VBLs, δεν ξέρω ακόμα αλλά βάζω τα χειρότερα. Αν βάλω και sprites θα πρέπει να έχω bitmap zooming που θα είναι πιο δύσκολο να το οπτιμάρω από ότι το wall rendering. Βάλε και ψιλομαθηματικά να βρίσκω πια sprites είναι στο οπτικό πεδίο, να τα κάνω project, να υπολογίζω την απόσταση για να ξέρω πόσο zoom να κάνω το sprite, κλπ. Αυτά θα κουράσουν το πράγμα και φοβάμαι θα φτάσουμε τα 4-5 VBLs δηλαδή θα πέσουμε στα 10fps από τα 25fps που είναι τώρα. Θα είναι μια πολύ ενδιαφέρουσα πρόκληση όμως και μόνο να καταφέρω να τα γράψω όλα αυτά και να δουλεύουν χωρίς λάθη.

@shock: Δεν χρησιμοποιώ bsp trees για αυτήν την engine. Το concept βασίζεται σε αυτό το κλασικό tutorial. Βέβαια θα μπορούσα να αποφύγω το raycasting και να κοιτάξω τα bsp trees ή άλλες μεθόδους (μάλιστα θα επιτρέψουν να έχω και τοίχους που δεν θα είναι 90 μοίρες ο ένας με τον άλλο αλλά ότι γουστάρω και αυτό θα είναι πιο εντυπωσιακό) που ίσως αποδειχθούν πιο εύκολες για τέτοια engine σε 8bit από ότι το raycasting. Αυτό θα πρέπει να το ψάξω. Πάντως και το raycasting - wall column rendering είναι αρκετά απλό σαν concept για να το καταλάβει κανείς απλώς έχει λίγα μαθηματικά που μπορεί να ζoρίσουν τον amstrad.
 
Τελευταία επεξεργασία από έναν συντονιστή:
Ακομη και σαν demo αξιζει συγχαρητηρια!Μπραβο Optimus!
 
Πάρα μα πάρα πολύ ωραίος και άπειρο respect.

Βλέπω για το 2011 να κάνεις το Crysis να τρέχει στον 6128!
 
@Optimus

Tip:Αναπτυξε το σε Spectum να κερδισεις τα χαμενα καρέ! :) :)
 
@Wally: Όντως το σκέφτομαι να δοκιμάσω στον spectrum. Στο column rendering θέλει να γράφω ένα byte και μετά να πηγαίνω στην επόμενη γραμμή. Η videoram του spectrum βολεύει τρομερά πολύ για να μετακινείσαι στο Y. Στον amstrad πρέπει κανονικά για να κινηθείς κάθετα στην οθόνη να κάνεις add στη videoram address + 2048 για 7 γραμμές και μετά ξανά πίσω στην πρώτη γραμμή και add 80 (ή 64 στην περίπτωση μου, γιατί χρησιμοποιώ 64 byte width mode). Καλά βέβαια στη συγκεκριμένη engine έχω κάνει unrolled codes που γράφουν άτακτα (π.χ. από το Υ 0 πηδάνε στο 48 και μετά πίσω στο 16 και μετά στο 32 και μετά στο 33, κλπ) με τόσο optimal τρόπο ώστε με μερικά INC/DEC H ή SET/RES H,n που είναι πιο γρήγορα από ADD HL,BC (όπου BC = 2048 ας πούμε) γράφω μια column στο τέλος έστω και με ότι νάνε τρόπο. Είναι δύσκολο να το εξηγήσω και ετοιμάζω tutorial για το pushnpop.net. Απλώς στον spectrum, μπορείς να κινήσαι στο Y κανονικά κάνοντας INC H, αυτό αν 8 lines για 64 lines, μετά πρέπει να πας πίσω στην αρχή και να κάνεις add 2048 να πας στο επόμενο 1/3 της οθόνης. Πωπω, θα είναι και πιο σειριακά το texture και λιγότερο άτακτα και θα κερδίζω και από εκεί, τέλος πάντων να μην σας κουράζω με technical, ο τρόπος στον amstrad είναι ήδη ο πιο optimal και πιο ανόμαλος που μπόρεσα να σκεφτώ αλλά στον spectrum θα κερδίσει, πωπω. Κάποτε θα το δοκιμάσω και εκεί..
 
Πίσω
Μπλουζα