Alter Ego

Use this forum to share and discuss Uzebox games and demos.
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Alter Ego

Post by D3thAdd3r »

Very cool! Getting a rating of "Awesome" by perhaps the best ZX Spectrum wizard doesn't happen everyday :ugeek:
User avatar
Harty123
Posts: 467
Joined: Wed Jan 12, 2011 9:30 pm
Location: PM, Germany
Contact:

Re: Alter Ego

Post by Harty123 »

Awesome game. Very nice! :D :D
User avatar
paul
Posts: 457
Joined: Sat May 02, 2009 8:41 am
Location: Brisbane, Australia

Re: Alter Ego

Post by paul »

Really nice work on this one, Lee! Everything is so polished. The Level Select menu is a great feature and works so smoothly. Is 'Fake Wall' done with sprites? And what about the little pixel pickup things? Are they animated tiles? If so, they seem to appear in front of the character sprites. Can you point them all to the same ram tile and effectively have "unlimited" sprite copies? Although some seem out of sync, so maybe a few ram tiles. The Intro and Uzebox logo effects are also very cool, as is the "Continue, New Game, Erase" cursor. It all adds to the polish which is evident throughout the game.

I don't know anything about these new SD features, but it sounds like they add a ton more freedom. I'll have to check it out.

Nice job!
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Alter Ego

Post by D3thAdd3r »

Hey Paul, awesome to see you around again!
paul wrote:Is 'Fake Wall' done with sprites?
It is a manual ram tile modification after the kernel has blit the sprite. So your player actually gets blit over that tile like normal, then the foreground function in the vsync callback runs through each ram_tiles_restore[].tile_index and checks against a table that specifies if it is a foreground tile or not. If that tile index happens to be a foreground tile than the pixels for that tile are manually read and written back over unless the pixel color is 0(because of the pixel graphics mentioned below having black background).

Code: Select all

		for(uint8_t roff=0;roff<RAM_TILES_COUNT;roff++){
			uint8_t t = ram_tiles_restore[roff].tileIndex-RAM_TILES_COUNT;
			if(pgm_read_byte(&IsForegroundTile[t])){
				for(uint8_t rtoff=0;rtoff<64;rtoff++){
					uint8_t t2 = pgm_read_byte(&font_tiles[(t*64)+rtoff]);//reblit
					if(t2)//something other than black
						ram_tiles[(roff*64)+rtoff] = t2;
				}
			}
		}
In this game it wasn't done, but it's possible to do more intricate effects like this:
Image
It's simple and graceful to pull off and realistic cycle-wise for lots of games, if you keep the rest of the program very efficient.
paul wrote:And what about the little pixel pickup things?
Yep it's tile based with 8 animation frames using 5 actual unique tiles. I specified those tile index as foreground in the table too so that they get automatically blit over the top of the enemies for a cool effect. I had considered just pointing water at ram_tile indices but the problem was it's possible for your alter ego to go over the water so you would see pieces of him repeated all over the water. It's very useful when that wont happen and allows big savings with compressed graphics like Columns
paul wrote:I don't know anything about these new SD features, but it sounds like they add a ton more freedom. I'll have to check it out.
Definitely, the game simply couldn't have been as good if it was done 2 years ago. I'm remaking Lolo again and it's almost silly how much better it can be with the new techniques. Non-blocking SD music streaming I want to focus on when I get back to it, but Uzenet is just too interesting to do anything else now that its actually working :ugeek:
User avatar
paul
Posts: 457
Joined: Sat May 02, 2009 8:41 am
Location: Brisbane, Australia

Re: Alter Ego

Post by paul »

That's a really nice effect! I'll have to steal that one 8-)

And Uzenet is working? Man, how long have I been gone... :lol: UCC2016 is going to be something else.
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: Alter Ego

Post by CunningFellow »

Paul,

Does that mean you are back for UCC this year :)
User avatar
paul
Posts: 457
Joined: Sat May 02, 2009 8:41 am
Location: Brisbane, Australia

Re: Alter Ego

Post by paul »

CunningFellow wrote:Paul,

Does that mean you are back for UCC this year :)
It depends if I can find graphics for a game that takes my fancy. It'd probably be a clone for that reason - I don't enjoy making graphics (and I'm terrible at it). I told Uze way back when that I was going to make Contra. I never did because it looked like it'd be only a half-port, which I don't find very satisfying. But with all of the new Uzebox features (which I'd need to explore first), perhaps Platz can be modified to make Contra possible. LePlatz should also allow for tile editing and automated level compilation (for the most part). Then I think it would be a go-to tool for platformers. Currently it's kind of a half solution that expects too much from the unfamiliar user.

But that doesn't sound like something I'll get done this year. That might be a 2016 goal. It's fun to think about, though; Uzebox coding is still the most fun. Sometimes I get bored of coding on larger projects. The boss-to-trash ratio is much more favorable on Uzebox.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Alter Ego

Post by uze6666 »

Hey Paul, cool to see you around! :)
But with all of the new Uzebox features (which I'd need to explore first), perhaps Platz can be modified to make Contra possible. LePlatz should also allow for tile editing and automated level compilation (for the most part). Then I think it would be a go-to tool for platformers. Currently it's kind of a half solution that expects too much from the unfamiliar user.
I always though Platz didn't get its fair chance to shine. And it's kinda of shame, since it was so complete with the editor. If you get to work on it again and add some of the latest kernel stuff, I'd jump in to finally make that Super Mario Bros. port I always wanted. I'd have tons of questions for sure.
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: Alter Ego

Post by CunningFellow »

Paul,

I agree that drawing graphics is no fun. Hence why I am doing vectors :)

How would you feel about a Brisbane based team effort?

I've got some interesting things to do with the SD card interface at the moment that might make some games possible.
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Alter Ego

Post by D3thAdd3r »

CunningFellow wrote:How would you feel about a Brisbane based team effort?
That would be cool. In that case look out for team Australia for UCC2016. Such a powerhouse would be nearly unethical ;)
Post Reply