IKD - Atari Combat remake

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

Re: IKD - Atari Combat remake

Post by danboid »

Today I added an engine noise that plays when you move the tanks. It was a simple addition but IKD seems much closer to being finished now that I've added that one extra sound. The game was too quiet before.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: IKD - Atari Combat remake

Post by Artcfox »

If you compile cuzebox with video recording support in the Make_config.mk file:

Code: Select all

# Should the video capture feature be built in? Note that it requires ffmpeg
# and it is not possible to have it in the Emscripten build.
#
FLAG_VCAP=1
then you can press F5 while cuzebox is running, and it will record a video with sound that you can upload to YouTube.
User avatar
danboid
Posts: 1931
Joined: Sun Jun 14, 2020 12:14 am

Re: IKD - Atari Combat remake

Post by danboid »

It has been over two years since I started working on IKD and I think it's fair to say its entered a beta like phase now so its time to upload a test build and maybe get some feedback before the proper release.

Missing features in IKD test 1:

* Player death animations
* Bouncy bullet noise
* Menu screen music

Hopefully I can improve both the wall/tank collision detection code and the bouncy bullet code because both don't quite work properly. In the case of the bouncy bullet code, I just have to try and implement what Jim told me. Once I've done that, it'll likely be clear how to rewrite the tank/wall collision code. I may also get someone who is much better with PS/GIMP than me to do so some box art like Alter Ego's.

I haven't been able to test this on a real Uzebox yet but I should get to do that within the next few days, with any luck.
IKD-test1.uze
(27.97 KiB) Downloaded 166 times
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: IKD - Atari Combat remake

Post by Artcfox »

Very cool! I didn't realize the bullets would be so tiny! It looks awesome.

Do you have a USB gamepad? Just make sure it is plugged in before you start cuzebox, and it should auto-detect it.

I mistakenly developed Bugz using the keyboard only in the emulator, not realizing how difficult it is to only press the D-pad UP button without accidentally pressing D-pad L or R at the same time. As a result, it's hard to run and climb straight up a ladder without accidentally falling off the sides. (I'm not making the same mistake with my current WIP, I'm using the gamepad almost exclusively to test it, so it shouldn't suffer from those types of issues.)

With IKD, I noticed with a gamepad it is hard to turn while going straight because I have to keep holding U on the D-pad, while pressing then lifting either L or R, and then pressing L or R again while maintaining pressure on the U to keep moving forward and turn more than a single increment. With the keyboard it wasn't too difficult though.

I'm looking forward to the type of pixel level collision detection you have going on.
User avatar
danboid
Posts: 1931
Joined: Sun Jun 14, 2020 12:14 am

Re: IKD - Atari Combat remake

Post by danboid »

Thanks for testing it out Artcfox!

Yes, you're right! I hadn't tried testing it under cuzebox with a joypad. How did that happen?

I've changed it so that both players can move forward either by pushing up or by pushing button B. Not having that might make it unplayable so here's a revised test build if anyone else wants to try it out before its finished:
IKD-test2.uze
(27.86 KiB) Downloaded 181 times
I know the bullets are small but thats the way I prefer it, unipixel. I presume they're visible on your display?
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: IKD - Atari Combat remake

Post by Artcfox »

Feels much nicer with a gamepad now!

Have you experimented with using other buttons, or performing an action continuously while holding a button down? What if you had a drive button, and then used the shoulder buttons to act like skid steer brakes to turn? That could free up the entire D-pad for rotating the turret L or R, or moving it U or D if you wanted to get totally crazy with things. Or maybe it could auto-drive unless you are pressing both shoulder buttons at the same time. That would free up all of the rest of the buttons for doing things. I'm not sure how that would feel though, maybe it would be too complicated.

I pretty much use this style in all of my games:

Code: Select all

struct BUTTON_INFO;
typedef struct BUTTON_INFO BUTTON_INFO;

struct BUTTON_INFO {
  uint16_t held;
  uint16_t prev;
  uint16_t pressed;
  uint16_t released;
} __attribute__ ((packed));
Somewhere, I will declare a

Code: Select all

BUTTON_INFO buttons;
and then every frame in my main loop, or something that gets called by my main loop, I update it:

Code: Select all

buttons.prev = buttons.held;
buttons.held = ReadJoypad(0);
buttons.pressed = buttons.held & (buttons.held ^ buttons.prev);
buttons.released = buttons.prev & (buttons.held ^ buttons.prev);
Then you can differentiate between a button that was just pressed or released, versus one that is currently being held down:

Code: Select all

  if (buttons.held & BTN_SELECT) {
    if (buttons.pressed & BTN_Y)
      DDRC = --ddrc_num;
    else if (buttons.pressed & BTN_B)
      DDRC = ++ddrc_num;
  }
I do like the single pixel bullets. I haven't tried it on real hardware, just on cuzebox. The sounds are good!
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: IKD - Atari Combat remake

Post by uze6666 »

Hey Dan, great work, totally feels like the 2006 version!!

Also that ChatGPT stuff is pretty dope. Last year I had it generate AVR and 8085 assembler code for different algorithms and asked it to fix some mistakes and it did exactly that. Not super optimized code for sure but pretty impressive nonetheless. :ugeek:
User avatar
danboid
Posts: 1931
Joined: Sun Jun 14, 2020 12:14 am

Re: IKD - Atari Combat remake

Post by danboid »

Thanks for trying IKD Uze! I'm happy you like it and think its like the 2600 version. I wanted to stay faithful bar copying the odd choice of interchangeable background colours. I prefer black and I don't feel the need to change it.

Its cool that my first ever C program has a small but grateful audience and that I've managed to improve the Uzebox wiki in the process, all before I have a fully working Uzebox.

Artcfox:

Thanks for the suggestion! Yes, improving the controls seems like a good way to potentially improve the game with little effort so I will have to look at further tweaking the controls.

I've added one of the last few missing features from a finished release by adding a bullet bounce sound so it's time for another test build:
IKD-test3.uze
(28.15 KiB) Downloaded 186 times
User avatar
danboid
Posts: 1931
Joined: Sun Jun 14, 2020 12:14 am

Re: IKD - Atari Combat remake

Post by danboid »

I don't consider this finished yet but you can annouce it if you want.

Will you be adding RAM patches (back?) to the kernel soon so that we can do a Uzesynth 2.0 or whatever it will be called?

I created a new thread to discuss what needs to be done to improve Uzebox music production here:

https://uzebox.org/forums/viewtopic.php?f=3&t=11209
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: IKD - Atari Combat remake

Post by uze6666 »

[Edit: made an update and lost a intermediate post somehow]

Looks pretty good and polished to me from your last reply. I added it to the main site...congrats for your first Uzebox game!

I created a placeholder page in the wiki. Feel free to document your game's details. Tell me when it's done, I'll post it on the social media feeds.
Will you be adding RAM patches (back?) to the kernel soon so that we can do a Uzesynth 2.0 or whatever it will be called?
I created a new thread to discuss what needs to be done to improve Uzebox music production here:
Don't you worry, I hope we will. This subject is of great interest to me. ;)
Post Reply