Heaven/TQA Posted March 15, 2016 Share Posted March 15, 2016 I said bitmap mode is better... because damned limitating 128 chars (where I see the only benefit). mimic bitmapmode in charmode... leads to less cycles imho... due to DLI for font changes plus badline DMA penalties? Quote Link to comment Share on other sites More sharing options...
popmilo Posted March 15, 2016 Share Posted March 15, 2016 Bitmap's adventage is linear memory layout. Simple sprite routines, simple scrolling, simple everything. Antic 5 could be interesting with maybe char based movement and 5th color for extra clearity. Big effect on speed of graphics in char mode is in clearing routine. You just need one empty char and ~ 20 raster lines to clear whole screen so you can draw new frame. Compare that to 8 times slower clearing of bitmap sprites. But it's also more complex once you hit that 128 char barrier. Not to mention sprites with masking. Then all that clearing speedup goes away... Not impossible but I would leave it for second or third project... If we can't make a game work in 4 colors, no point in loosing time and energy trying to make it in 5... 1 Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted March 15, 2016 Share Posted March 15, 2016 A 128 charset doesn't always have to be a limitation as in some occasions you can use two sets but alternate each line as most of the 'tiles' don't use a top row character on the bottom and vice-versa. Reserve some chars to be used across both sets, e.g. empty char, player/enemy soft-sprite. There is of course an DLI overhead in flipping the charset. Quote Link to comment Share on other sites More sharing options...
kiwilove Posted March 15, 2016 Share Posted March 15, 2016 I will mention a possibility for getting a difficult project 'finished' - is whereby it is left up to someone else to finish it - provided the original programmer or team is OK with that idea. Making available source code/etc available. It won't be easy for someone else to step in and take over, nor for the original programmer to let go - but at least this could be an option - though a slim one for an unfinished project to go towards completion. And perhaps a cooperative project could be on the cards - if there is the interest and support for such a one. But we all know it is nowhere an ideal way for any project to go - as it's likely only very few would actually do the work involved but there could be definite benefits to this approach because of the wide range of expertise available? And finally it may be worthwhile mentioning someone who's starting out with their first major project - who appreciate some assistance and guidance with what they are working on - who may require some assistance from time to time as that project continues it's development? Or a special cooperative project could be done - with tutoring in mind, to illustrate some basics in taking on your first big project? The game itself won't be anything special and small but something 'standard' as such. I'm no programmer - and don't handle the technical side - but I've been involved in various projects - and had contact with various programmers - and there were a few projects that never got going, and some possible partnerships that went likewise. I just design graphics and try doing the best I can in that area. Harvey Quote Link to comment Share on other sites More sharing options...
José Pereira Posted March 15, 2016 Share Posted March 15, 2016 I think that I already said about these two games somewhere but here again: -> Vega was coding Imagine's MIKIE game that he stopped because he started, I think, a personal business. I don't remember who said this, I think it was Tezz and there's a nice and promissing video around. Taking the colaboration the two did on Bomb Jack I wanna ask to Tezz thinks in contacting him and maybe end the game . -> Other is Pang by Tebe that was, as it seems, all levels, engine done and videos of the game running but suddenly nothing. Don't know the reason or if he ever said what's the cause and his intention. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted March 15, 2016 Share Posted March 15, 2016 (edited) -> Other is Pang by Tebe that was, as it seems, all levels, engine done and videos of the game running but suddenly nothing. Don't know the reason or if he ever said what's the cause and his intention. Actually the level editor for Pang was released, plus 30 levels. There was only 1 provided background texture (except the default, which is just a single color), but with the level editor you can save out each level to an XEX and play that single level. So essentially you've got a working playable game already. I'm not sure why it wasn't finished and released either. Maybe they just never had time to create all the textures they wanted to yet. Creating a lot of backgrounds like that can take a lot of time, if you are determined that they'll look a certain way. If that's the case, then I can understand. Seeing that they've released the level editor with the ability to play the levels, I see no reason for them to be pressured further. But I am curious what's going on with the project. Really great stuff. I enjoy playing it from time to time. Edited March 15, 2016 by MrFish Quote Link to comment Share on other sites More sharing options...
José Pereira Posted March 15, 2016 Share Posted March 15, 2016 O.k I found Mikie's preview, it seems to be the only one available: 2 Quote Link to comment Share on other sites More sharing options...
emkay Posted March 16, 2016 Share Posted March 16, 2016 A 128 charset doesn't always have to be a limitation as in some occasions you can use two sets but alternate each line as most of the 'tiles' don't use a top row character on the bottom and vice-versa. Reserve some chars to be used across both sets, e.g. empty char, player/enemy soft-sprite. There is of course an DLI overhead in flipping the charset. Imagine that possibilites, using Antic 5 . Not really CPU saving, but the half screen-handling RAM usage, and charset fills up the screen. Circles look like circles and, still PMg available... to enhance the resolution and colours in zooming objects... for some racing game... But, if "full" CPU speed is needed... Look and compare the "Star Trek" Games on the A8 and C64.... have a closer look at the zooming "screen" ... Quote Link to comment Share on other sites More sharing options...
analmux Posted March 16, 2016 Share Posted March 16, 2016 ... Not really CPU saving ... Yes, indeed, just to fresh my memory, ANTIC 5 (graphics 13) doesn't save CPU time w.r.t ANTIC 4. And indeed the ANTIC scan line buffer keeps the font numbers, but not the font graphics data. See here: Quote Link to comment Share on other sites More sharing options...
MaPa Posted March 17, 2016 Share Posted March 17, 2016 Yes, indeed, just to fresh my memory, ANTIC 5 (graphics 13) doesn't save CPU time w.r.t ANTIC 4. And indeed the ANTIC scan line buffer keeps the font numbers, but not the font graphics data. See here: It's not totally right... you can save up to 15*40 cycles in a frame using ANTIC 5 instead of 4 (half the number of badlines) Quote Link to comment Share on other sites More sharing options...
analmux Posted March 17, 2016 Share Posted March 17, 2016 (edited) It's not totally right... you can save up to 15*40 cycles in a frame using ANTIC 5 instead of 4 (half the number of badlines) It's not totally right... you can save 8 cycles per bad line using ANTIC 4 (then just 1 RAM refresh instead of 9) It's not totally right... you can save 3 or 1 cycles per bad line using ANTIC 5 (ANTIC display list commands, LMS or non-LMS) ... Etc. Edited March 17, 2016 by analmux 1 Quote Link to comment Share on other sites More sharing options...
MaPa Posted March 17, 2016 Share Posted March 17, 2016 You got me At the end you can save only max. 15*43 cycles per frame I think (15 badlines on wide screen - 48 cycles per line, minus 15*8 RAM refreshes and plus 15*3 cycles per saved LMS dlist line) which is almost negligible. 1 Quote Link to comment Share on other sites More sharing options...
analmux Posted March 17, 2016 Share Posted March 17, 2016 You got me I know Quote Link to comment Share on other sites More sharing options...
popmilo Posted March 17, 2016 Share Posted March 17, 2016 It's not about badline saving but about 480 bytes to represent whole 40x24 screen 2 Quote Link to comment Share on other sites More sharing options...
analmux Posted March 18, 2016 Share Posted March 18, 2016 It's not about badline saving but about 480 bytes to represent whole 40x24 screen OK, but then it's quite interesting to use ANTIC 4, clever DL and LMS, but also a font switch every 8 scanlines particularly, say font page 128 -> 132 -> 128 -> 132 -> ... 1 Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted March 18, 2016 Share Posted March 18, 2016 This file (apt for the topic as it was done in 2008!) demonstrates the principle and some other points. As a 'selector' isn't visible ensure you move the joystick down at least once to avoid 'exiting' the console menu. The border is used as an indication of a font-base change. 1) The 'main menu' screen (Antic 2) uses some 'missed' changes to permit a spacing line between menu items. 2) The 'droid info' pages use the alternating font pattern. (up/down selects droid, left/right cycles through info, fire to exit to main menu) 3) The 'deck' map screen only uses one font for the available tiles. (fire to return to main menu) 4) The 'ship' side-view screen similarly only uses one font but is in Antic 4. (fire to return to main menu) 5) The WIP showed a technique the C64 can employ where the colour-map is used to 'hide' character graphics by setting the back/fore colours of a single 'point' the same. On the A8 we would typically need to set the character at that position to a blank instead. a8_pdroid.xex 3 Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted March 18, 2016 Share Posted March 18, 2016 (edited) Similarly things are evident in the transfer game too. 1) Down the left and right, the unavailable 'pulsers' are hidden on the C64 using the colour-map, so on the a8 would need to be removed. 2) Pump and stopper colouring on the player 'wires' are also controlled by colour-map. On the A8 we can use the 5th colour by setting the high-bit on the char. 3) As are the segments in the central column. 4) The A8 screenshot also highlights that the non-linked sections of the wires (e.g. off the central column) are also hidden rather than removed on the C64. 5) It may also be that the flow animation is 'halted' by the colours being set to black on those cells. pd_transfer.xex Edited March 18, 2016 by Wrathchild Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted March 18, 2016 Share Posted March 18, 2016 (edited) So those two posts go to demonstrate how a 'port' can lead to having to re-code (and even invent new code) to produce the same affect and so what initially may have appeared to be straight-forward sometimes turns out not to be. One of the major factors in my 'attempting' this was to have the transfer game working on the A8. The different layouts that can be achieved and how they influence the game, e.g. which side to pick weighed with the number of pulser you and your opponent start with, fascinate me. Hence I was already 'aware' that the coding for the main game, that is the travelling around the scrolling 2D deck, could need a far different approach to how it was done on the C64 and didn't delve into it. Edited March 18, 2016 by Wrathchild 1 Quote Link to comment Share on other sites More sharing options...
emkay Posted March 18, 2016 Share Posted March 18, 2016 OK, but then it's quite interesting to use ANTIC 4, clever DL and LMS, but also a font switch every 8 scanlines particularly, say font page 128 -> 132 -> 128 -> 132 -> ... This still needs too much CPU time. Using Antic 5 helps to fill up the gamescreen in a similar way to the C64. The lesser screen RAM allows to add PMg with much more flexibility, to enhance either the "visual" resolution and/or colours. Someone just should give it a chance. Looking at the "Zelda" screen, you see, what could be done, using Antic mixing modes. So, one still could build a "city in the far area, even using hires with PM colours... or build the horizon street "edge" using some Antic 4 lines... and so on. ... and so on. A "Test Drive" game or other "newer" racing games in Antic 4 sill never work. Using lower resolutions , to put more fluently moving and animated objects on the screen, would clearly offer more gaming fun. And , if CPU time allows, you can do Antic 5 moving objects with enhanced resolution AND colours by overlaying any PM ... Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted March 18, 2016 Share Posted March 18, 2016 maybe too early and less coffee... but Mark how does the flip 2 fonts every line help in the end??? font1 font2 font1 font2 I don't get it... in my latest project (which will be released next week) I used 12 fonts... what I discovered is that when c64 uses fixed char layout to mimic "linear" bitmap mode... A8 can do the same by introducing double amount of font... but codewise it was still c64 code running... (and later I took the full approach and recoded the c64 section to use bitmap mode ) C64 does not like bitmap games 1 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted March 18, 2016 Share Posted March 18, 2016 another approach is the so called "Dirty Char" method... which I guess never was used yet on A8... think of 3d demos like Coma Land 13 etc... Oxyron uses that most of the times... it works by assigning on the fly which char your 3d drawing routine would hit and draws into this char... I will show you next week an example of that... This of course is tough with only 128 chars available compared to 256 of the c64 but it's amazin what speed you can get out of this dynamic assigning approach. why? because most of the evil cpu cycle suckers are fill objects with color and clear screen... and in charmode thats damned easy. the filler will only "EOR" fill the "dirty chars" and between lines it pastes filled char blocks (which are pregenerated)... so with a simple putting char on screen you cleared/filled 8x8 pixels or 4x8 in multicolor. here some more infos on that (look at the bottom screenshot of the vector object of Coma Light) http://codebase64.org/doku.php?id=base:lines 3 Quote Link to comment Share on other sites More sharing options...
José Pereira Posted March 18, 2016 Share Posted March 18, 2016 (edited) That 1,2,1,2,... or even better 1,2,3,4,1,2,3,4,... charsets is the best for using soft sprites because it saves many many chars. As an example for a [3x3]chars sized soft sprite that moves 4ways it, with shifting ends up to need [4x4]chars and lets say we have 4charlines per charset then it takes a maximum of 16chars on each charset, 4 of these sprites and half of a charset is wasted. In a 20charlines you use 5charsets that is 5KBs. But if you use that interleaved 4charsets method then it only use 4KBs and in each charset this same soft sprite only takes 4chars, never more and 4 sprites will only use 16chars, always. Got it Karol? Edited March 18, 2016 by José Pereira 1 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted March 18, 2016 Share Posted March 18, 2016 sure... I used 1,2,3,4 (or 1,2,3) in Beyond Evil... but 2 charsets I thought I don't see the benefit except having 40 chars per line as "bitmap" while leaving 88 free for sprites all over the screen? Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted March 18, 2016 Share Posted March 18, 2016 Just think in terms of the C64 charset, it is 256 characters resulting in two contiguous Atari characters sets. The fonts are toggled with bit 2, for example, $80 and $84 or $88 and $8C. I did have the caveat about the 'layout' of the graphics and so for the Paradroid text-font this works well as the lower half elements are in the second half of the C64 charset. Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted March 18, 2016 Share Posted March 18, 2016 Mark... That's exactly How I converted some c64 code... Doubled the fonts and luckily it worked out.... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.