Jump to content
IGNORED

Atari Graphics Lab


Recommended Posts

I'm currently working on an Atari 8-bit game (aimed at the 400/800). I've been searching for good tools to use and I've found a few, but they've seemed rather limited. So I started my own utility: "Atari 8-bit Graphics Lab". It's written in C++ using the Irrlicht engine, so it should port to Linux and Mac OS without a hitch.

 

The idea is to create a visual graphics editor that lets you design things as you would see them on the Atari. So, the program stores data in the same format as the Atari and lets you edit display lists and see them in action. The program is in beta stages of development but I'd like to know if this is something others would be interested in. The current version exports data that can go straight to the Atari. I'm working in Windows but if there is enough interest, a Mac/Linux port should be possible.

 

Current features (0.40):

= Antic modes 2, 4, 5, 6, 7

= Edit character sets with simple tools

= Create brushes with characters

= Draw tile maps with characters and brushes

= Dynamically resize maps

= Inverse mode support

= Large map support (scrolling)

= Display list editing (colours only)

= Import standard colour palettes to customise the display

= Save/load maps, character sets, display lists and palettes

 

Features for 1.0:

= More Antic modes

= GTIA mode support

= Sprite editor

= Advanced display list editing including mode changes

= Bitmap editing?

= Zoomed-out map view

= Other improvements

 

Screenshot

Edited by lightman
Link to comment
Share on other sites

Allan:

Thanks. I don't have a Mac but I think I can find someone to do a binary when I get to a beta-testing stage (probably v0.70+). Then I'd be happy to get some feedback and suggestions for functionality. Well, in fact, I'd be happy to get suggestions at any time ;)

 

Math You:

I'm not really a fan of game construction sets (excluding "Adventure Construction Set" on the Apple //e). It seems to me that "game makers" are never close to games made from the ground up and usually less dynamic or fun than mods. However, I'm always open to ideas and I'd like to make this as useful as possible.

 

I'd probably say that some kind of development kit might be more likely. It would need an assembler, IDE, code snippets, sound/music editor and Graphics Lab. Then you'd have everything you need to build a game. RMT might be good enough for sound, but I have my reservations about it.

Edited by lightman
Link to comment
Share on other sites

I think your best bet would lie with the ability to import or create custom character sets, and then visualize large expanses of character or tile based maps on the PC.

 

You can easily do so on the Atari, but a "big picture" view would be extremely useful.

 

Imagine developing something like Spelunker, and being able to see the entire game world on one or two screens.

Link to comment
Share on other sites

I think your best bet would lie with the ability to import or create custom character sets, and then visualize large expanses of character or tile based maps on the PC.

 

You can easily do so on the Atari, but a "big picture" view would be extremely useful.

 

Imagine developing something like Spelunker, and being able to see the entire game world on one or two screens.

 

You can already save/load character sets. I forgot to write that on the current features list, but it's there now. I'm planning a view where you could see things zoomed out.

Edited by lightman
Link to comment
Share on other sites

  • 2 weeks later...

I've made some progress, including large map support and some of the code for sprites. I'm not sure how to handle a zoomed-out view of the map. It would still use a lot of screen space if it's "actual pixels" and scaling the graphics down seems a bit of a waste. I tried actual pixels and it was fun, but not very useful. If anyone has an idea for this, let me know. I suppose a preview (zoomed out) window could take up most of the screen and you could close it when you were done. The display list might also be an issue in previewing the map...

Edited by lightman
Link to comment
Share on other sites

  • 4 weeks later...
I'm assuming this will work for the 5200 graphics as well. Hint Hint Nudge Nudge

 

I assume so too? I'm not entirely aware of the differences between the two but the hardware is very similar. In any case, when I have a beta ready for testing, I'll be happy to get your input on it and you can let me know how to address the 5200 needs.

Link to comment
Share on other sites

I'm assuming this will work for the 5200 graphics as well. Hint Hint Nudge Nudge

 

I assume so too? I'm not entirely aware of the differences between the two but the hardware is very similar. In any case, when I have a beta ready for testing, I'll be happy to get your input on it and you can let me know how to address the 5200 needs.

 

From a graphics point-of-view there is no difference. They use the same exact ANTIC and GTIA so you wouldn't (or couldn't) do anything different for it to work for the 5200.

 

Allan

Link to comment
Share on other sites

Updated to beta 0.40. I added internal support for Antic modes 5, 6, 7, D, E, F and map editing is possible in all the character modes. There are some minor issues to fix and then sprites will probably be next. There is partial internal support for sprites, but I need to finalise that and add an editor.

Link to comment
Share on other sites

re: 7800

 

i am not sure if 7800 support does work with the tool as the 7800 is quite different internally. so when exporting data it might get complicated...f.e. the display list list (DLL) the data including "holy dma holes" etc. etc... representing the stuff on screen, yes... but for 7800 you would have to write a special export filter i assume.

Link to comment
Share on other sites

re: 7800

 

i am not sure if 7800 support does work with the tool as the 7800 is quite different internally. so when exporting data it might get complicated...f.e. the display list list (DLL) the data including "holy dma holes" etc. etc... representing the stuff on screen, yes... but for 7800 you would have to write a special export filter i assume.

 

 

There are essentially 6 display modes.

 

well there is one pretty much the same as antic 4 except you can define 256 characters vs 128 (good for character selection, but no extra color you get on the 5200/computers)

 

There is a mode similar to ANTIC 0 with 256 characters. (bits need scrambled around though)

 

another mode gives 12 colors (4 bits per color but 4 of the combos give you background, bits are scrambled around though). Pixels are the same size as the 4 color mode and not fatter like the gtia modes on the 5200/computers . This gives you characters that are normally 2 pixels wide. but....

 

There is a flag that can be set for any character mode to make it double wide (it will automatically display two characters of date even though you specify one).

 

The other modes I haven't messed with yet. Some are really weird.

 

Character data does need to be rearanged. each row is stored 256 bytes apart instead of 1 byte. And character data is stored upside down. the byte at offset 0 specifies the last row of character 0. the byte at offset 1 specifies the last row of character 1.

 

Characters can be different heights but typically would be 8 (or maybe 16)

 

Character mode is usually referred to as "indirect mode" in the documentation.

 

Background bitmap and sprites are pretty similar to characters as far as bit and data ordering. bitmap backgrounds ands sprites are really the same since you are only building objects and there is no real distinction between the two. Typically sprites will be 8 or 16 rows high. Backgrounds will be typically built in 8 or 16 line chunks. The width limit is 32 bytes. There is an option to make any pixel set to background to be transparent (doesn't work very well in high res modes).

Edited by kenfused
Link to comment
Share on other sites

Congratulations on the project. Will be very useful for developers.

 

I have a question:

 

1. You can draw and use fonts in the computer?

2. Can export the set of characters or drawing a basic, action! And Assembler?

3. When it comes to use?

 

Greetings

 

Thanks. Er, sorry, you might need to explain your questions a little more. I think I've explained most of this in the first post. You can create/export/import character sets (fonts) and character maps of any size (though currently with a minimum of one screen size). All the data exported from the program is in a raw format - the same as it would be on an Atari (except for display lists). What you use on the Atari (Basic, Action!, assembly) is irrelevant. The program doesn't export code. All screen data is stored internally in the same way it's stored on the Atari. I'm not really interested in making a paint program, but, eventually, I will probably add support for bitmap editing/exporting/importing.

 

The next step for me is to work on sprites and various issues with the UI. I expect to release a beta when I get to 0.5 - 0.7. By then, the important features should be ready and I can start taking input on finalising the UI etc.

 

Cheers.

Link to comment
Share on other sites

I took apart Pitfall II for fun today and I extracted the character set so I could try it in the program. So, the version 0.40 screenshot I just uploaded is a quick map I made using the graphics from Pitfall II.

 

That looks really nice.

 

Stephen Anderson

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...