{"id":157,"date":"2013-08-14T12:59:45","date_gmt":"2013-08-14T17:59:45","guid":{"rendered":"http:\/\/pjg-developments.com\/?page_id=157"},"modified":"2018-11-29T20:29:48","modified_gmt":"2018-11-30T01:29:48","slug":"diary","status":"publish","type":"page","link":"https:\/\/development.pjghangouts.com\/?page_id=157","title":{"rendered":"Diary"},"content":{"rendered":"<h4 class=\"pt-cv-title\">C64 Diary<\/h4>\n<div class=\"pt-cv-content\">\n<p align=\"LEFT\">[On Hold]<\/p>\n<p align=\"LEFT\">This is the part where I will try to explain how I am building up my horizontally scrolling shoot \u2018em up game,\u00a0<b>Frixxion<\/b>.<\/p>\n<p>As much as\u00a0 I am calling it a \u201cDiary\u201d, it isn\u2019t a diary with a date, as I work funny hours in work and there are times when I can\u2019t actually do anything, so there would be huges gaps in the Diary.<\/p>\n<p>It will mainly be a Part 1 through to\u2026. errr, what ever part I get to. So I might as well start\u2026<\/p>\n<p align=\"LEFT\"><b>Part 1 \u2013 Set up the Raster Splits<\/b><br \/>\nIn this part I just set the basic screen up, with two splits, there was a 21 char down\u00a0 area for the main scroll area, and 3 char down area for the scores, etc.<\/p>\n<p align=\"LEFT\"><a href=\"https:\/\/web.archive.org\/web\/20180819134245\/https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2013\/08\/part1.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-275\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part1.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/a><\/p>\n<p align=\"LEFT\"><b>Part 2 \u2013 Tidied up Source Code &amp; Tweaked<\/b><br \/>\nNot a lot happened there, just really what it says on the tin.<\/p>\n<p align=\"LEFT\"><b>Part 3 \u2013 Added some essential requirements, like a double buffer scroller<\/b><br \/>\nNow, I say they were essential, all I did was change some of the code to allow me to change things easier.. i.e. instead of having $d001 in the code, I had sprite1_y_pos = $d001, made things easier to follow, and easier to change at a later date.I also added the scroller, which at first it was a single screen, 21 line scroller, which was simple, but they I remembered, I was advised to do it Double Buffer, so I re-wrote the code, and viola\u2026<\/p>\n<p align=\"LEFT\"><a href=\"https:\/\/web.archive.org\/web\/20180819134245\/https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2013\/08\/part3.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-276\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part3.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/a><\/p>\n<p align=\"LEFT\"><b>Part 4 \u2013 Added 8 Sprites<\/b><br \/>\nNow every game has sprites, and I thought i need to get them on the screen, and take into account the whole, hmmm it is going past 255, Ahhh, the MSB, sorted that!<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-277\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part4.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/p>\n<p align=\"LEFT\"><b>Part 5 \u2013 Added Joystick Routine<\/b><br \/>\nSooooo\u2026 you have the sprites, you have the player, how ya move him? well this routine sorted that\u00a0 out.<\/p>\n<p align=\"LEFT\"><b>Part 6 \u2013 Changed Sprite Routine &amp; Tweaked<\/b><br \/>\nok, see Part 4, had a little problem with my MSB, it glitched, whenon the hunt for some help\u00a0 from a few friends, then got reminded of the easy way of doing it, so I changed the code.<\/p>\n<p align=\"LEFT\"><b>Part 7 \u2013 Added Map Scroller<\/b><br \/>\nFirst attempt to getting tile to display on the screen, and it worked, or so I thought, I noticed\u00a0 it was only display the 1 line of the tile (as it was a 3 by 3 block), soooo I tried to get that working. I did, but,\u00a0 the tiles where appearing back to front, I was talking to a mate of mine, and he said\u2026 \u201cWell that is what ya get for trying to be different\u201d.<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-278\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part7.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/p>\n<p align=\"LEFT\"><b>Part 8 \u2013 Added X Y Print Text Routine<\/b><br \/>\nHad this routine ages ago in a cracktro I wrote, couldn\u2019t find the source, so had to re-write it,\u00a0 you pass it the X and Y of the text, and the Hi and Lo bytes of the message, and it displays it, simple really, but\u00a0 can be used a lot.<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-279\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part8.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/p>\n<p align=\"LEFT\"><b>Part 9 \u2013 Re-Wrote Tile Displayer &amp; Tweaked<\/b><br \/>\nAfter pulling my hair out, and moving on to other peoples hair, I decided to re-write the tile\u00a0 displayer, took advice from a certain persion (not to mention any name TMR =-) and it worked, first time, well I\u00a0 lie, it was actually the 3rd time, but hey what is 2 between friends\u2026<\/p>\n<p align=\"LEFT\"><b>Part 10 \u2013 Added Bullet Routine<\/b><br \/>\nI needed a routine that fired from my main sprite, so I did the routine, check the fire, start\u00a0 it moving, don\u2019t allow fire to be pressed until it reaces the end, and compiled, and errrrrrr didn\u2019t work, it was a simple thing\u2026\u2026.the c64 has two joystick ports\u2026<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-280\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part10.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/p>\n<p align=\"LEFT\"><b>Part 11 \u2013 Added Move Enemy Routine &amp; Tweaked<\/b><br \/>\nSimple thing for now, moving the sprites around on their own accord, but with the added feature, expansion, the routine I did, will allow me to run along side it a alien wave routine, more to follow.<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-281\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part11.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/p>\n<p align=\"LEFT\"><b>Part 12 \u2013 Added Bounding Box Collision Detect<\/b><br \/>\nOk, finally got around to doing this bit, you move around, you want to see if you have hit anything, every game needs one, but I ain\u2019t using $d019, as Action Replay Cartridges love that\u2026<\/p>\n<p align=\"LEFT\"><b>Part 13 \u2013 Added Bullet Collsion<\/b><br \/>\nNeeded to tweak the routine for player collision, because, well your bullet can kill enemies too.<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-282\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part13.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/p>\n<p align=\"LEFT\"><b>Part 14 \u2013 Added Some Graphics<\/b><br \/>\nGot some graphics for the game (added to test\/dummy sprites also), so added them, and a test tune.<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-283\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part14.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/p>\n<p align=\"LEFT\"><b>Part 15 -&gt; Part 17 \u2013 General Tidy up<\/b><br \/>\nJust tidied around with my code, relabeling a few things, deleting some test code, etc.<\/p>\n<p align=\"LEFT\"><b>Part 18 \u2013 Sprite to Char Routine<\/b><br \/>\nFinally got around to doing the routine that detects the characters on the map below the main player sprite, decided I can use a 3 by 3 block, so I can detect any section (with a 3 by 3) of the player (please note Graphics are not corrupt, this was for debuging\/testing purposes).<\/p>\n<p align=\"LEFT\"><b>Part 19 \u2013 Alien Attack Routine<\/b><br \/>\nFinally got around to doing the Alien Attack routine (with the help of TMR\/Cosine) chucked some animation into it and decided to add a score just to test it works\u2026 Oh, and the lives go down when ya collide, ain\u2019t done the explosion routine yet\u2026<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-284\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part19.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/p>\n<p align=\"LEFT\"><b>Part 20 -&gt; 29 \u2013 Ch\u2026ch\u2026ch\u2026ch\u2026changes\u2026<\/b><br \/>\nOk, confession time.\u00a0 I forgot to make notes about all the little changes that took place during these parts\u2026 so on to the next part\u2026<\/p>\n<p align=\"LEFT\"><b>Part 30 \u2013 Front End<\/b><br \/>\nGot a Simple Front End up and running (special thanks to Andy Vaisey for the Frixxion logo).<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-285\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part30.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/p>\n<p align=\"LEFT\"><b>Part 31 \u2013 High Score Routine<\/b><br \/>\nManaged to hunt out some old source code of mine (from 1991) and used it for something worthwhile.<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-286\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part31.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/p>\n<p align=\"LEFT\"><b>Part 32 \u2013 Game Over<\/b><br \/>\nAdded a few little things, like a \u2018game over\u2019 message between last life and highscore, added a delay when you die to allow you to move out the way without dying again and generally tidied a few things up.<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-274\" src=\"https:\/\/development.pjghangouts.com\/wp-content\/uploads\/2018\/11\/part32.gif\" alt=\"\" width=\"192\" height=\"136\" \/><\/p>\n<p align=\"LEFT\"><b>Part ?? \u2013 To do on the game\u2026<\/b><br \/>\nThings I am planning on doing to the game soon:<\/p>\n<ul>\n<li>Work out why the title screen doesn\u2019t display again properly<\/li>\n<li>Sort the timing\u2019s of the colour bars\/rasters<\/li>\n<li>More Levels\/Attack Waves<\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>C64 Diary [On Hold] This is the part where I will try to explain how I am building up my [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":155,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-157","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/development.pjghangouts.com\/index.php?rest_route=\/wp\/v2\/pages\/157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/development.pjghangouts.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/development.pjghangouts.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/development.pjghangouts.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/development.pjghangouts.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=157"}],"version-history":[{"count":3,"href":"https:\/\/development.pjghangouts.com\/index.php?rest_route=\/wp\/v2\/pages\/157\/revisions"}],"predecessor-version":[{"id":288,"href":"https:\/\/development.pjghangouts.com\/index.php?rest_route=\/wp\/v2\/pages\/157\/revisions\/288"}],"up":[{"embeddable":true,"href":"https:\/\/development.pjghangouts.com\/index.php?rest_route=\/wp\/v2\/pages\/155"}],"wp:attachment":[{"href":"https:\/\/development.pjghangouts.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}