News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_ervin

My CPCRetroDev2015 entry - RUN"CPC"

Started by ervin, 13:08, 28 June 15

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ronaldo

Well, I think I can imagine the problem. If depacker is decompressing a buffer and looks for some condition to detect the end of the buffer, when that condition is not met, it will continue filling up the memory with rubbish.

The difficult thing would be detecting when does this happen. It might be due to bad understanding between compressor and decompressor. Say that you have a compressor that doesn't have a last minute modification done to the decompressor (or viceversa) and there you have a problem like this.

ervin

I used exomizer a *lot* with all sorts of data files when I was working on chunky pixel curator, and it never caused a crash.
So far in my development of RUN"CPC", it has worked fine every time (though of course I haven't used it for very many data files yet).
:)


ervin

#102
Been working on my sprite routines over the last few evenings.
I had to make some changes to accomodate larger sprites, and still fit things into memory.
I think I've got it sorted.

I will now have sprites that can take up *over* half the screen when they are closest to the player.
I'm trying for sprites that can be 25x25 characters.

This naturally will cause a performance hit, but it's still very fast, so I'm happy with the trade-off.
I also had to drop the idea of tiles with transparency because TechnicalReasons(tm). It's a trade-off I'm less happy about, but I can live with it.
:)

The reason I want huge sprites is that it will give me more options for better gameplay.
Tunnels, wide objects, etc. I'll have more options, and therefore more variety.

I've also changed the visual style a bit, in order to simplify the graphics but hopefully still make them appealing.
Otherwise I won't finish the game in time!

[EDIT] I've got huge obstacles of 25x25 characters working, at a decent speed!
YEEHAA!!!

ervin

#103
I've done some very careful analysis, and planned a memory map that allows sprites of 32x25 characters (80% of the regular screen)!
They are huge, and it's awesome to see them zooming around the screen!

I've also identified a small optimisation in my tile routine, which is very useful considering the enlarged sprites.

Time to start setting the game's palette!
I'm steering away from the bright and cheerful look, and going for something a bit different from the regular gaudy CPC game.

Holy cow only 2 months to go!!!
:o


ervin

I've now got my player sprite in the game!
Very happy about that.
:)

Unfortunately I've had to discard the idea of having multiple frames of animation for the player sprite (i.e. leaning left/right, tilting up/down), due to the approaching deadline.
I'm *really* bad at pixel art, and I don't have the time to develop some skill in it.

On the other hand, I've regained some memory, as I had already written the routines to display multiple frames, and allocated space for the sprite data.
Those things have now been removed.
8)

And of course, another couple of optimisations have been found.
I just can't help it!

Gryzor

Hey, for being bad at pixel art this looks really cute. You're keeping it simple and it works!

ervin

Thanks man.
:)

It will have a lot of graphics in it, but they will indeed be simple, as otherwise I'll never finish it.
Hopefully I can make simple graphics look ok!
:-[


Optimus

That's quite impressive. It kinda reminds me of this

ervin

Indeed, early versions of my game did look a bit like that, but now it looks quite different, and hopefully a lot better.
I'm using pixels instead of character blocks for the graphics now, albeit large chunky pixels.
(Though of course the game is still tiled, so everything is rendered in character positions).

I haven't seen that version of space harrier before.
Pretty impressive, considering the limitations.

However, the main influence for my game is Chris Butler's work!  :o
Yes, the genius that created space harrier, thunderblade, power drift and turbocharge on the c64.
The games vary in quality, but the graphical presentation was remarkably clever.
He used the character mode of the c64 to create some of the fastest pseudo-3d games on the machine.

Of course, the cpc doesn't have a character mode as such, so I'm emulating the idea using tiles.
My main concern was always whether or not it would be fast enough, but thankfully it is.
:)

ervin

#109
Sigh... this pixel art business is very difficult!

Folks like Carnivac make me jealous.
It's an *amazing* skill, and I don't have one ounce of it!

As a result, I'm simplifying my graphics, though not quite down to character block level.
Otherwise this game will never be finished in time!



AMSDOS

Quote from: ervin on 02:52, 26 August 15
Sigh... this pixel art business is very difficult!

Folks like Carnivac make me jealous.
It's an *amazing* skill, and I don't have one ounce of it!

As a result, I'm simplifying my graphics, though not quite down to character block level.
Otherwise this game will never be finished in time!


Nothing to do with Pixel Movement is it?
* Using the old Amstrad Languages :D * And create my own ;)
* Incorporating the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

ervin

Quote from: AMSDOS on 11:31, 26 August 15

Nothing to do with Pixel Movement is it?

Movement will still be character-based, but I'm going to use large "pixels", similar in size to those in Chunky Pixel Curator.
But of course, this engine is totally different.
:)

AMSDOS

Quote from: ervin on 11:36, 26 August 15
Movement will still be character-based, but I'm going to use large "pixels", similar in size to those in Chunky Pixel Curator.
But of course, this engine is totally different.
:)


It's still CPCtelera your using, or is the updated Library creating havoc?
* Using the old Amstrad Languages :D * And create my own ;)
* Incorporating the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

ervin

Quote from: AMSDOS on 11:44, 26 August 15
It's still CPCtelera your using, or is the updated Library creating havoc?

Yep, I'm using cpctelera.
I absolutely love it.
And it has been getting better and better at a remarkable rate!

Any subsequent CPC projects will certainly 100% be created using it.

ervin

 :'( :'( :'( :'( :'(

I finally finished all 21 frames of my first obstacle sprite today.
It's really just a very large collection of tile references.

Unfortunately (hence the crying faces), the exomize'd file is over 1,800 bytes.
Which means that if I want to have a dozen or so different obstacle sprites in the game, I'm gonna run out of memory.

So I have to simplify my graphics even more, and go back to character blocks as "pixels".
That calls for some more tears...  :'( :'( :'( :'( :'(

I'm going back to character blocks in order to reduce the number of tiles required.
This will then allow much more repetition in the tile reference lists, thereby compressing them much better.

And then hopefully I will fit them all in memory!

There is a positive side to this though... because there will be less tiles, there will also be less character cells changing per frame, so the speed will be kept high!

ronaldo

It's always difficult to maintain a good balance between memory constraints for the different thins we want to fit in a game :). That's what makes a great differences when yo see a greatest hit and a good game :).

Come on! You still have almost 2 months for the deadline ;).

ervin

I was thinking over the weekend about optimisations I could make, due to the fact that I have had to go back to character blocks for the obstacle graphics...

And I realised that because there won't be very many such tiles, I can use a compiled sprite approach!
Instead of copying data from the tile table, and printing it to the screen, I can simply write a routine for each character-block tile that sets each byte in the tile to a colour value! And then I realised that I don't need to have a routine per tile... I just need an input that sets the colour to be used!

I had it up and running within 2 hours (after lots of crashes), and the speed difference is awesome!
The program seems to be around 25% faster now - I'm absolutely chuffed. This will (sort of) make up for the fact that my game will look like something made of character attribute squares on the Spectrum.
:P

The player sprite is displayed using a more traditional tile technique (lots of LDIs). I didn't want the player sprite to be composed of a few character blocks only.
:)

ervin

All my tiles are finished (and tested)!
Yay!

Admittedly, I don't have very many tiles, as my graphics will be so chunky and simple, but still eh?

Less than 7 weeks to go!!!
:o

ervin

AT LAST I have got my first obstacle in the game, correctly drawn and coloured.
It looks really cool, seeing the final version of some (admittedly poor) pixel art, finally in the game!

I also found another (tiny) optimisation!
8)

ervin

#119
After a few stressful nights being stuck on a nasty bug, I'm back on track.
I've just finished the 2nd obstacle, and the 3rd is on the way.
8)

Alongside the game's dev, I've also been writing some tools to help with the graphics.
I've written some programs (in blitz basic on the PC) to generate the scaled sprites for me, and to colour them appropriately, so they look nicely shaded as they approach.

I hope people like the graphic style I've gone for - it's probably going to be rather weird for some people, but that's ok.
I loaded the game on my 6128 earlier tonight, and it was wonderful seeing it in action.
The monitor hides some of the strangeness in my graphics, resulting in a more shaded look.
(In WinAPE the shading is less subtle).

I certainly don't recall seeing any games that look like this.
Whether that is a good or bad thing will be up to the judges/players!
It's quite possible that people may find this game a bit ugly... we'll see!
:o

ervin

3rd obstacle is in!
This development is really becoming fun now!

My daughter tried the current build on my 6128, and she said, "wow dad, this is really good!".
I hope she's right...  :)

Having said that, the game is *extremely* simple.
It's more like a tech demo with a thin slice of gameplay attached, so I doubt that I'll be walking away with one of the "best game" prizes.

That's ok though - I just very very happy that I've got this far!
:)

ervin

#121
I just found a small optimisation, and made the tile routine 5 NOPs faster... I wish I could show you all how it's looking and running now!
;D

TFM

Quote from: ervin on 04:09, 17 September 15
I just found a small optimisation, and made the tile routine 5 NOPs faster... I wish I could show you all how it's looking and running now!
;D


Won't take long until we're there.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

ervin

#123
No more optimisations to be found, it seems...
Never mind.
:)

I've put in a very simple front-screen.
I don't think I'll have time (or the skill) to make it fancy, but that's ok.

I've also got a game over condition now, which takes you back to the title screen after a collision.

TFM

If you have some time then add some eye candy. That's what I did learn from the ROM competition. Only few people will appreciate your work actually (that's the ones who can code Z80), the majority will not understand how your great creation actually works and just judge 'by eyeball'.
What I've seen from your side is imho to be the winner, but they may have another POV. Give them some nice loading screen, so to make the first impression well.


And wasn't there something like '5 Extrapoints for a connection to a movie'. You could put something little in your loading screen.


Who else is participating, anything known already?



TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Powered by SMFPacks Menu Editor Mod