Ostatnia "broń" została dodana. Na więcej nie mam pomysłów, chęci, pamięci :)
To "broń" dla ludzi ze słabą pamięcią właśnie. Jest tania i przydatna jeśli nie pamięta się jaką energią czy aktywną bonią defensywną dysponują przeciwnicy. Po jej wybraniu można pooglądać sobie linie statusu pozostałych graczy.
A nazwana została (dzięki Paweł za zawsze lepsze niż moje pomysły na nazwy :) ).... "Spy Hard" :)
Mało bajtów zostało i chyba pamięć zarezerwowana na listę (nazwy) broni ofensywnych się już dawno skończyła :) Ale pomysł do przemyślenia, zobaczę.
Zobaczyłem, nie ma co myśleć, przygotowane było miejsce na max 32 bronie ofensywne i 16 defensywnych i (zupełnie przypadkiem, bo nie liczyłem defensyw jak je dodawałem) tyle już mamy! Koniec!
Zmiana tego, to na starcie (na nazwę, miejsce do wyświetlana, cenę i pozostałe parametry - a jest ich trochę choć nie wszystko widać - jakieś 60-70 bajtów. A to wszystko jeszcze bez kodu (a ten już przemyślałem, myślę, że w 20 bajtach bym zmieścił :P ).
Jak po wszystkich zmianach dzisiejszych zostanie te 100 bajtów to kto wie?
This is the final round of weapon additions! Also, our beloved testers and players found a number of issues and we were extremely happy to address them. * New defensive weapon "Lazy Boy" - aims at the closest enemy. * New defensive weapon "Lazy Darwin" - aims at the weakest link, an enemy I mean. * New defensive weapon "Auto Defense" - activate it to be automatically protected by shields and stuff (where available) * New defensive weapon "Spy Hard" - quickly view energies, weapons and shields of your opponents. * New SFXes, improvements in SFX, and music by @mikerro * Shooting with angle 0 caused the sudden death of the operator. Fixed. * Angles were asymmetrical, now you can go from 0 to 90 and to 0 again (181 degrees of freedom). Fixed with an improved arithmetic rounding of our sub-pixel accuracy. * Drawing a barrel when a tank was on the edge of X==256 pixels caused a lonely pixel to appear randomly. Fixed. * Liquid Dirt was overflowing from the right edge of the screen to the left. Fixed. * Liquid Dirt volume increased significantly, it is now a formidable attack! * A single pixel was erroneously plotted when measuring distance (was visible in e.g., Death's Head). Fixed. * Not all traces were correctly erased after Funky Bomb, fixed again (for the 3rt time I guess). * Soil sedimentation speed after Funky Bomb improved. * Pressing [ESC] when in inventory/store was quitting the game, now it quits the menu only. * BIGGEST OF ALL: the lonely pixel after Nuclear Winter was eliminated. ->link<- We have spent a disproportionately large amount of time trying to slap this bug. It is still there, but is not manifesting itself ;) * a bug in MADS optimization was causing parts of SEPPUKU message to stay on screen.
Jeszcze jeden drobny błąd znaleziony przez Beeblebrox i zgłoszony na aage: ->link<- Laser strzelał ale czasem, przy strzale w prawą krawędź ekranu, nie rysował się.
Poprawiony. A przy okazji laser strzela (a właściwie przygotowuje się do strzału) teraz zdecydowanie szybciej.
It's the final cut. Director's Cut. We squeezed the code and saved some bytes to add the joystick/controller selection. No more fights for the stick, up to 4 players can have fun with their own manipulators. And the fifth one can still use the keyboard :). Our most prolific testers Arek and Alex called for a number of fixes. Thank you, guys! * Players can select their controllers. * Better Auto Defense symbol in the status line. * Battery performance in AI and Auto Defense fixed. * More accurate and faster Laser. * Boost For Gifts includes a secret, quite powerful weapon. * Points counting fix-up (edge cases eliminated). * Long lists in inventory and shop were pointing to a weapon outside the screen. Fixed. * Lazy Boys now remember the last weapon used. * Especially for XEGS - SELECT key changes the joystick similarly to TAB. * Rare P/M glitches fixed. * ExplosionRange variable glitched (rarely) due to byte/word mix-up. Fixed. * Bouncy Castle was bouncing the laser from inside. Fixed. * Shielded tanks were autodestructing when shooting with angle 0. Fixed. * Physics of bouncing off the walls was incorrect for some weapons. Fixed.
Nowych broni już nie będzie (a udało się jeszcze coś upchnąć :) ), wszystkie ważniejsze sugestie uwzględnione, wszystkie znane bugi (w tym bardzo rzadkie i nie mające wpływu na rozgrywkę) poprawione. Na cartridge zostało nam wolne niecałe 20b :)
Teraz zostawiamy sobie czas na SV, a potem trzeba się zabrać za rozgrywkę sieciową.
Zakładam, że jedyne możliwe aktualizacje będą już tylko po odkryciu jakiegoś większego buga, którego nie znaleźliśmy wcześniej. Wiedząc jak duży jest kod tej gry (w zasadzie z grafiki to jest tu jeden zestaw znaków i symbole 3 czołgów) i że ciągle mamy problem z zapamiętaniem co po CMP robi BCS i BCC :))) to może jeszcze nie być koniec ;)
(tak tak, zanim użyję BCS czy BCC muszę sobie parę przykładowych odejmowań w pamięci zrobić :) )
ja mam gorzej. wstawiam bcc i patrzę, czy działa :))) a zostało dokładnie 6+8 bajtów :O w dwu częściach, więc zapomnij o wepchnięciu napisu na 14 znaków :))))
Twoje podejście do BCC jest szybsze, ile ja się wczoraj naliczyłem, żeby prawidłowo sprawdzać zakres osłon :)
Kurde a czytam właśnie jak łatwo obsługę MultiJoy dodać ;) Nie ma gdzie, trzeba będzie oddzielną wersję zrobić... Specjalnie dla tego jednego, który ma MultiJoya i zbierze 5 innych chętnych do gry... czyli wersja na jedno odpalenie :P
nie rozumiem tylko jednego, że po jednym nie trafionym strzale przeciwnika moja siła wystrzału ograniczona jest do max 180. Poza tym na dopałce jest całkiem ładnie. Zaraz wrzucę jakiś filmik.
KAżdy w miarę trafiony strzał odejmuje "energię" trafionemu (w zależności od siły broni i dokładności trafienia). 0 energii = śmierć :) mało energii - mniejsza maksymalna siła strzału (energia * 10)
Jak masz Battery z broni defensywnych, możesz sobie doładować energię przed strzałem (jeśli masz mało a jeszcze nie zginąłeś oczywiście).
ale to pierwsze trafienie w okolice mojego gracza zbyt drastycznie odejmuje energii i w zasadzie to koniec gry jakby. No i następuje to niekiedy prawie od razu ;)
No właśnie, niektóre rzeczy za szybko.... Ale jakby dodać tam synchro z czymś niezależnym od procka, to na normalnej maszynie spowolni.... a na to nie można sobie już pozwolić.
Ja ze swojej strony chciałem powiedzieć, że działa to wszystko cudownie. Nawet na Neptunie grałem i przy monochromie zielonym, wszystko jest ładnie widać. Nawet czołgi, mimo że są kolorowe w oryginale, to wszystko się ładnie rozróżnia dzięki podpisom. Super.
Dodałem możliwość wyboru przez gracza jednego z 3 kształtów czołgów. No i roboczołgi mają teraz jednolity 4-ty kształt.
Ale najbardziej męczył mnie mały bug, bo nie mogłem znaleźć jego źródła. Otóż jak się miało płaski teren i strzelało się Liquid Dirt, to po lewej stronie w pierwszej kolumnie zostawał "niezalany" pojedynczy piksel, który po zakończeniu zalewania zostawał finalnie zalany, choć bardziej "opadnięty" wraz z całą pierwszą kolumną.
Można było nawet tego nie zauważyć, bo to taki drobiazg w ogóle nie mający wpływu na samą rozgrywkę.
Po długiej walce, analizie kodu i debugowaniu - sukces :)
No właśnie... to jest także odcień czołgów, jak to w hiresie. Może być słabo... Raczej jest pomysł (mój, a co!) na pokolorowanie tła różnymi kolorami w jednym odcieniu, co jednocześnie pokoloruje tak góry, może być ładnie.
To widać w testowej kompilacji z setką przerwań i chaosem sinusowym na ekranie: ->link<-
Hm.... a może jednak nie wpływa na te czołgi.... kurde.. na lufki na pewno wpływa bo wystają spod grafiki PM.
Gradient w hires... no cóż, przy dostępnych 8miu odcieniach jest tak sobie.
Przyznaję, że dobierałem to tak od czapy, a do tego mieszczę się w tych 20 przerwaniach, które są na czarne paski w tle, więc zmiana odcienia gór może być tylko równo z początkiem lub końcem czarnego paska.
Poza tym brakuje mi teraz jakieś 10b.
No i paski w tle mają dwie linię, a nie jedną.... DLI by się nie wyrobiło.
Założenie jest takie, że gra ma chodzić na każdym Atari 8bit + Atari 5200. Do tej wersji, którą zamykamy już, nie dodawałbym takich bajerów - tym bardziej, że nie ma gdzie :).
A powyższy gradient mono (może trochę lepiej dobrany) trafi pewnie do wersji finalnej, jak uda się trochę pamięci wyskrobać :) A trzeba wyskrobać tyle, by dało się go włączać i wyłączać :)
TAB lub SELECT na pierwszym ekranie menu przełącza pomiędzy szarymi górami a "gradientem". Jeśli ktoś ma pomysł na lepsze odcienie (pamiętać trzeba, że jest ich do dyspozycji 8 i jednocześnie robią kolor luf, więc nie szalejemy z ciemnymi) to proszę o propozycje. To co jest to tak sobie wpisałem, bo wydawało mi się, że może być dobrze. Tabelkę wypełniałem nie widząc obrazka :)
Odcień może zmieniać się tylko na początku ekranu graficznego i potem w każdej linii w które następuje zmiana koloru tła. w sumie 20 kolorów (19 zmian).
We couldn't resist! This is the Senior Executive Director's Cut. By virtue of byte misering we squeezed in a few new features: * new selectable tank shapes - change the controller enough times to get a different tank model * lonely bad pixel after Liquid Dirt fixed * mountain colors (or shades) possible, switch with [Tab] in the main menu (or [5] in Atari 5200) * active controller number display in the game, store, and inventory screens * an extraordinary terminator mode for Moron
Christmas colors edition! Can you carve a quarter of a page of memory from two decades old code? Sure @Pecusx can! So finally we have the most requested feature - C0L0RS on the game screen, adjusted with Adam's help. Press [TAB] twice in the main menu to switch to a screen with colors. Other (dubious) improvements: - New Lazy Darwin, it is spectacular, check it out!!! - Smoke Tracer does not smoke when targeting with Lazy Darwin - Lazy Boy works well with a joystick - Another fix for self-destructing tanks shooting low angles (0-4 degrees) - New, better tank shapes by Adam - Barrel start point correction fixes very rare aiming issues - Soil slide after Hovercraft usage optimized
Udało mi się jeszcze uszczknąć 6bajtów i zmieścić kawałeczek kodu, który pokazuje (no tak symbolicznie - kolorkiem gór i nieba) jaki tryb "kolorystyczny" został wybrany w menu głównym.
XEX dla Atari 800 i BIN dla 5200 dostępne w gałęzi develop: ->link<-
założę się, że Pecuś z Pirksem mieli kupę rozrywki optymalizując grę, ja jestem świeżo po optymalizacji jednego efektu i do ostatniej iteracji było około 100 ulepszeń prędkości.
zgadza się, najbardziej dumny byłem z metody przekazywania parametrów do funkcji za pomocą bajtów umieszczonych za jsr i odczytywanych z wnętrza funkcji przez operacje na stosie, co pozwoliło zaoszczędzić 18(sic!) bajtów, niestety trzeba było wywalić, bo zbrakło nieco rejestrów wokół wywołań takiej funkcji. ale co się naumieliśmy o 6502 to nasze.