Vic 20 Screen and Character designer

You need an actual VIC.

Moderator: Moderators

User avatar
tokra
Vic 20 Scientist
Posts: 1120
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Re: Vic 20 Screen and Character designer

Post by tokra »

Just played around a little with this. Nice tool! I was thinking if it would be possible to use this for creating bitmaps for some of the higher resolutions Mike and I developed over the years? Right now there is the 256-character-limit in your editor. Our display modes re-use characters by updating them on the fly. However for your editor I suppose you could add more "virtual" characters so one can edit higher resolution graphics?

For a 208x256 bitmap you would need 832 characters and for 224x280 you would need 980. Files could be saved as "straight" bitmap-data. The modes use such files anyway when Mike's PPM-converter does its job. I have another converter that takes the raw bitmap-data and generates the viewable file on the VIC.

Since there is no other way to pixel in those resolutions yet, and requests have been made pixel-artists this would be a welcome feature :-)
User avatar
beamrider
Vic 20 Scientist
Posts: 1447
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Vic 20 Screen and Character designer

Post by beamrider »

Increasing the number of characters shouldn't present a problem, but I'm not sure what you mean by ~ "Files could be saved as "straight" bitmap-data. ".

I have a backlog of features to add to this when time permits, the main one of which is bitmap import.
User avatar
Mike
Herr VC
Posts: 4816
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Vic 20 Screen and Character designer

Post by Mike »

beamrider wrote:I'm not sure what you mean by ~ "Files could be saved as "straight" bitmap-data."
The text screen contents of these overscan bitmap modes are constant. Their file formats thus don't bother to save the text screen along with the "character definitions" (a.k.a. bitmap in that context). Rather, the display routine of these modes can reconstruct the (address generating) text screen by itself.

Of course, the colour information (colour RAM and VIC registers $900E/$900F, possibly per scanline) also is retained.

MG pictures likewise don't store the text screen. The text screen contents are either restored by a routine in MINIGRAFIK itself, or by the built-in display routine located at $2188 when the picture is loaded to the normal BASIC start at $1201 and then RUN.
User avatar
beamrider
Vic 20 Scientist
Posts: 1447
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Vic 20 Screen and Character designer

Post by beamrider »

This has received a version bump to 0.63

New features
===========

Sort all characters by screen usage
------------------------------------------


As the name suggests, this sorts all the UDC characters by screen order i.e. any screen using them. Any characters appearing on more than one of the 5 screens are placed first and so don't need to be swapped in/out. All references to the characters from screen ram are adjusted preserving screen layouts BUT PROBABLY NOT ANY BITMAPS. [It may disturb the intra screen refs so you will need to update any refs to specific characters from your code..]

This facility is very useful when you are developing multi screen games (like Popeye for instance) where the graphics won't all fit in UDC space at once and require that [character] data be swapped in for each particular screen/level. .

The export now provides a commented report section showing the utilisation of the UDCs between the various screens as shown in the extract below. In this instance chars common to all screen finish at char 20, sreen 0 uses additional chars 20-49 and screen 1 starts at 49. So I can dynamically load screen 1 chars at position 20 when needed and apply a -29 char displacement anywhere they are referenced in code. Same for screens 2,3,4....

; Char Usage Report
; ================= 00 01 02 03 04
; Char Index (00) TotalScreenCount:03 ScreenUsage [0-4]: 22,22,06,--,--,
; Char Index (01) TotalScreenCount:02 ScreenUsage [0-4]: 03,--,01,--,--,
; Char Index (02) TotalScreenCount:02 ScreenUsage [0-4]: 16,67,--,--,--,
; Char Index (03) TotalScreenCount:03 ScreenUsage [0-4]: 40,93,41,--,--,
; Char Index (04) TotalScreenCount:02 ScreenUsage [0-4]: 02,01,--,--,--,
; Char Index (20) TotalScreenCount:03 ScreenUsage [0-4]: 09,11,60,--,--,

; Char Index (21) TotalScreenCount:01 ScreenUsage [0-4]: 03,--,--,--,--,
; Char Index (22) TotalScreenCount:01 ScreenUsage [0-4]: 01,--,--,--,--,
; Char Index (23) TotalScreenCount:01 ScreenUsage [0-4]: 02,--,--,--,--,

; Char Index (49) TotalScreenCount:01 ScreenUsage [0-4]: --,01,--,--,--,
; Char Index (50) TotalScreenCount:01 ScreenUsage [0-4]: --,13,--,--,--,
; Char Index (51) TotalScreenCount:01 ScreenUsage [0-4]: --,03,--,--,--,

; Char Index (64) TotalScreenCount:01 ScreenUsage [0-4]: --,--,02,--,--,
; Char Index (65) TotalScreenCount:01 ScreenUsage [0-4]: --,--,01,--,--,
; Char Index (66) TotalScreenCount:01 ScreenUsage [0-4]: --,--,01,--,--,

Smart Swap Pair
----------------------

Allows tweaking to the order by swapping character pairs but preserving any screen refernces.
User avatar
beamrider
Vic 20 Scientist
Posts: 1447
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Vic 20 Screen and Character designer

Post by beamrider »

.. and another bump to 0.64 - now preserves original character ordering where possible, so should not disturb sprite layouts and bitmaps
User avatar
beamrider
Vic 20 Scientist
Posts: 1447
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Vic 20 Screen and Character designer

Post by beamrider »

Pleased to report a new release to version 0.65 which includes Image Import Functionality (experimental)...!

IMAGE IMPORT
=============
It is now possible to import a bitmap/jpg/png etc. into the Bitmap Editor. To do this prepare a bitmap as follows;

1) Select some screen cells for your bitmap to appear in (256 cells max)
2) Select a start character for your bitmap from the character table on the right of the screen - tick the multicolor box if you want the bitmap to be 4 color multi-color mode otherwise it will be monochrome.
3) Select "layout columns" to populate the selection with ordered characters
4) Select "Edit as Bitmap" (the bitmap editor opens) - Resize as required

... in the Bitmap Editor
5) Click "Choose File" to browse to the required file (a thumb nail of the selected file will be shown)
6) Click "Select All" (or select a smaller area with the mouse) to receive the imported image.
7) Choose conversion options as required.
8 ) Click "Paste to selection" to apply the image to the bitmap editor window.
(steps 7 & 8 can be repeated as required to achieve the best possible image)

9) After importing experiment with the background/border/aux colors at the top of the screen.
10) Character colors in the bitmap change be changed en mass by selecting the required characters on the screen and performing a "Fill" operation with the mask "Selected Operation Mask" set to only color selected. Click any character on the right and choose the required color before clicking fill.
11) The color registers used by the pixels within each character can be adjusted using the new "Select Screen Selection" function (see below).

Select Screen Selection
====================

This is a new button on the right hand side character editor. When clicked it selects in the table the any characters used in the screen selection rectangle. Using this it is then possible to adjust the color registers using the MC SWAP buttons. In the example image below, this was used to change the color of the Popeye letters below (which came out as border color[cyan]) to use the character color instead. A red character color was then filled as per step 11 above. This is extremely useful when working with bitmaps as it allows you to select areas of the bitmap and swap the color registers that the import may have chosen incorrectly.

**Notes**
- Feature is not 100% stable and needs code tidying. (I'll get around to this at some stage, but going back to work on Popeye again next...)
It sometimes may not work a second time you try or if you change the file etc. Please close browser window and retry if you experience difficulties.

- you may get better results if you pre-process images and simplfy them in a paint package before importing.

Good luck.

Image
Last edited by beamrider on Tue Oct 13, 2015 6:19 am, edited 2 times in total.
User avatar
beamrider
Vic 20 Scientist
Posts: 1447
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Vic 20 Screen and Character designer

Post by beamrider »

and here's a stab at converting the pulse cover (1) by darkatx ...

Image
User avatar
pixel
Vic 20 Scientist
Posts: 1328
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: Vic 20 Screen and Character designer

Post by pixel »

beamrider wrote:and here's a stab at converting the pulse cover (1) by darkatx ...

Image
That looks damn good. Are you planning to implement automatic character reuse anytime soon to go full size?
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
beamrider
Vic 20 Scientist
Posts: 1447
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Vic 20 Screen and Character designer

Post by beamrider »

pixel wrote:Are you planning to implement automatic character reuse anytime soon to go full size?
Yeah, that did occur to me, but it's on hold now as I'm back on Popeye. The main motivator was to get the title screen converted.

It's not too dificult to do manually tho, just copy and paste "similar" characters in the screen editor and then use the "Sort all characters by screen usage" feature to shuffle the unsused ones higher up the list.
User avatar
darkatx
Vic 20 Afficionado
Posts: 470
Joined: Wed Feb 04, 2009 2:17 pm
Location: Canada

Re: Vic 20 Screen and Character designer

Post by darkatx »

OMG that is so wild! :D
Learning all the time... :)
User avatar
darkatx
Vic 20 Afficionado
Posts: 470
Joined: Wed Feb 04, 2009 2:17 pm
Location: Canada

Re: Vic 20 Screen and Character designer

Post by darkatx »

Image

Yup importing was so much easier than I thought it'd be...between this and Mike's tools I can mess with my frames now. :D
Last edited by darkatx on Wed Nov 08, 2023 11:27 am, edited 2 times in total.
Learning all the time... :)
User avatar
beamrider
Vic 20 Scientist
Posts: 1447
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Vic 20 Screen and Character designer

Post by beamrider »

I have now updated this tool to version 0.66

* MUCH faster !
* better rendering - eliminated unwanted smoothing

As always ensure Ctrl+F5 to refresh cache (or download the zip file)
User avatar
Misfit
Vic 20 Devotee
Posts: 207
Joined: Thu Nov 28, 2013 9:09 am

Re: Vic 20 Screen and Character designer

Post by Misfit »

Nice! I need a simple level editor for my next VIC-20 game. I could use this. Thanks!
User avatar
beamrider
Vic 20 Scientist
Posts: 1447
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Vic 20 Screen and Character designer

Post by beamrider »

I've been working on this a little taking advantage of a docking library to better manage the workspace. Also made a start on map/tile functionality.

Image

You can check my WIP here (will be buggy right now - use the old one for important work)...

http://www.fox-ts.co.uk/betavic20sdd/Vic20SDD.htm
User avatar
Misfit
Vic 20 Devotee
Posts: 207
Joined: Thu Nov 28, 2013 9:09 am

Re: Vic 20 Screen and Character designer

Post by Misfit »

Could you add a real pixel ratio feature to the main window?
If I select a 8x16 chars and update rows / cols values, it's difficult to draw things.
Automatic canvas stretch feature? 1xzoom, 2xzoom etc.
Post Reply