IKD - Atari Combat remake

Use this forum to share and discuss Uzebox games and demos.
User avatar
danboid
Posts: 162
Joined: Sun Jun 14, 2020 12:14 am

Re: IKD - Atari Combat remake

Post by danboid » Sun Oct 11, 2020 11:33 am

Chickens in Choppers - cool game CF! I'd not checked it out until now. Shame I can't find a link to the source. Have you uploaded the source anywhere?

Uzewars - Uses a mix of asm and C. Bit over my head.

Uzetroids - I presume this is what you meant when you said Asteroids? Its page is missing from the wiki. I'll message Nick.

EDIT: It seems your UB Asteroids clone is called VectorGame. I'll have a look at that now and see if I can make sense of it.

User avatar
danboid
Posts: 162
Joined: Sun Jun 14, 2020 12:14 am

Re: IKD - Atari Combat remake

Post by danboid » Sun Oct 11, 2020 11:57 am

It seems a few of the attributions are wrong on the wiki. Vectorgame is credited to CF on its wiki page but the source says it was Alec who wrote it. For Uzewars it credits 'Stache' but the source code says Alec also wrote that.

My next step is either making the tank shoot (in the direction the sprite is pointing) or making it move. I was initially going to tackle moving next but now I think I might be better working on the shooting first.

CunningFellow
Posts: 1253
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: IKD - Atari Combat remake

Post by CunningFellow » Tue Oct 13, 2020 11:04 am

I'm feeling pretty vague at the moment. The source was posted somewhere before but I can't find it now so here it is again.

Here is a video showing some tanks if you didn't see that.

https://youtu.be/PWnW5ROSPjI?t=695

Its got a LOT of ASM in it for the graphical stuff but the game logic and object management is all C.

When I am feeling better I will try answer any other questions you might have.
Attachments
chickens.zip
(84.53 KiB) Downloaded 113 times

User avatar
D3thAdd3r
Posts: 2472
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: IKD - Atari Combat remake

Post by D3thAdd3r » Sun Oct 18, 2020 9:46 pm

Damn the tanks there are well implemented. That same thing, a little faster and player controlled, would already be a good ways towards a Combat implementation.

User avatar
danboid
Posts: 162
Joined: Sun Jun 14, 2020 12:14 am

Re: IKD - Atari Combat remake

Post by danboid » Sun Nov 01, 2020 10:46 pm

D3thAdd3r wrote:
Sun Oct 18, 2020 9:46 pm
Damn the tanks there are well implemented. That same thing, a little faster and player controlled, would already be a good ways towards a Combat implementation.
I'm glad you like the little bit I have done!

I've been extra busy in work the last few weeks, working double time pretty much so not had the time for doing any UB stuff but I'm hoping the worst is out of the way and this week will be easier.

I made my first minor contribution to the project tonight by submitting build instructions for Ubuntu and Debian users for the UB repo.

https://github.com/Uzebox/uzebox/pull/100

I re-installed Linux on my laptop tonight and I'm currently looking into getting micro configured as an minimalistic IDE for UB dev before I get back to this.

User avatar
danboid
Posts: 162
Joined: Sun Jun 14, 2020 12:14 am

Re: IKD - Atari Combat remake

Post by danboid » Sat Feb 20, 2021 6:08 pm

I didn't do anything on IKD for a full two months until a few days ago when I finally found the time and motivation to resume work on this. It's still some way off resembling a game but I have now added some temporary code that enables the tank to shoot but currently only upwards. I think I've worked out how to shoot in the direction the tank is facing but I want to solve another issue before I add that.

Initially just for debugging purposes, I want to be able to print the value of specific variables to the UB display which I believe I should be able to do with something like

Code: Select all

Print(10,10,PSTR("Hello World"));
I have tried inserting this statement into various parts of my code but I only ever get a garbled, unreadable mess of pixels like in the attached screenshot.
Screenshot at 2021-02-20 16-52-32.png
Screenshot at 2021-02-20 16-52-32.png (33.46 KiB) Viewed 1298 times
The same happens under both uzem and cuzebox.

What could be causing this? How do I get to text to print in a readable way? Can I adjust the colour or size of the font used by PSTR?

I finally got a reply of Uze back in December and he says he will post me a few UB PCBs so I'll have a much better chance of making one that works when they arrive.

CunningFellow
Posts: 1253
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: IKD - Atari Combat remake

Post by CunningFellow » Sat Feb 20, 2021 9:19 pm

I don't use the generic video modes so I can't answer your question.

I assume it is something going wrong with the font. There are functions in the API

SetFontTable(const char *data)
SetFontTilesIndex(unsigned char index);

That have to be used before tiles can be drawn.

Someone with actual knowledge of how this is done will hopefully pop along soon.

User avatar
danboid
Posts: 162
Joined: Sun Jun 14, 2020 12:14 am

Re: IKD - Atari Combat remake

Post by danboid » Sat Feb 20, 2021 10:00 pm

The 'tutorial' demo included in the UB repo covers printing text but it uses SetFontTable() which only works with video mode 1. I'm using video mode 3 because I want to use sprites which are apparently missing in video mode 1.

I was looking at one of my old threads on here and I noticed that ghostyghost seems to have the same issue with displaying fonts as I'm having in my project. If anyone knows of a working example of using Print() with mode 3 then let me know.

User avatar
D3thAdd3r
Posts: 2472
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: IKD - Atari Combat remake

Post by D3thAdd3r » Sun Feb 21, 2021 12:42 am

I didn't see any font data within the code you have on GitHub. You need font graphics in addition to the tank stuff.

There are different ways to handle things, but the easiest method for some situations is just to make 1 image with all your background tiles first, and then a full font set pasted after. Then you need to determine how many unique background tiles there are. You will SetFontsTileIndex(NUM_BG_TILES) so it points to the 1st tile after your BG stuff.

Essentially, you are telling the Print functions what tile to use for space(the first ASCII character), and it assumes your font tiles follow ASCII sequence to put the correct tiles for each character offset from space. You can skip lower case to save flash, and the sequence will be right if you only print those characters.

VRAM in Mode 3 is 8 bits, so you can usually deduce rough VRAM values by the garbage that is going on. If you see black tiles, or tiles with parts of sprites moving(if sprites are moving), you know VRAM has a value < RAM_TILES_COUNT. If you have SetTileTable() correctly, and you see garbage like you show there, it is probably a value in VRAM past how many tiles you have. So that could be showing whatever follows your tile data in flash.

Some more advanced stuff is possible too once you grasp this. You can sandwich font data between 2 different tile sets, so you don't need 2 copies of the font if you use 2 tile sets. Look at BlockBoy intro for a simple trick to squeeze a logo in unused characters and still use stock print functiins. Columns uses 1bpp font at cost of ram tiles. You can also keep just the characters you need, and create customer string that will cause the correct string to be displayed.
Attachments
bdfont.png
bdfont.png (2.76 KiB) Viewed 1284 times

User avatar
danboid
Posts: 162
Joined: Sun Jun 14, 2020 12:14 am

Re: IKD - Atari Combat remake

Post by danboid » Sun Feb 21, 2021 12:13 pm

Thanks for explaining that d3thadd3r! Sounds easy enough.

I probably would've been spared asking that question if this page:

http://uzebox.org/wiki/Function_SetFontTable

Had a 'See also' link for http://uzebox.org/wiki/Function_SetFontTilesIndex . I have just registered for the wiki so I'll add that myself if no-one beats me to it.

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests