-
Content Count
36 -
Joined
-
Last visited
Posts posted by KK/Altair
-
-
Really nice game.
I definitely should look into E7 bankswitching one day.
-
1
-
-
I'm not quite sure which exactly STA happens to early or too late, but if you'd like to split the 2-cycle NOP in half for greater flexibility, you can use shadow registers on the $01xx page.
In other words, for every TIA or RAM basic address, there's an alternate location 256 bytes higher.
And by using these locations you can easily force the assembler not to use zeropage addressing mode - because the address is not on the zero page.
Bad: STA GRP0 ; 3 - let's assume for this example it's 1 cycle too early NOP ; 2 STY GRP1 ; 3 Fix: STA GRP0+256 ; 4 - bullseye! this instruction now takes 1 cycle longer, but on VCS does exactly the same STY GRP1+256 ; 4 - this one needs 1 cycle delay too, to write at 8th cycle exactly as before
This trick is VERY useful on the VCS to get 1-cycle NOPs.-
2
-
-
2 hours ago, DirtyHairy said:Thanks for the confirmation. The table in Stella is based on the idealized resistor network, so I actually am interested in the real values that you measured.
Well, that's the table. Measured on a PAL light sixer with a standard voltage multimeter. Of course much better measurement could be made (e.g. by better tools, or possibly automated with an Arduino or something), but this one was enough for my purposes. I tried matching these to a resistor network model, but the measurements failed to match any assumptions I tried, so I just used this table as it is.
Also if you'd like complete emulation of TIA sound, I have written complete cycle-exact implementation basing on the TIA internal schematics, including some not really obvious quirks (e.g. the fact that it's actually driven by two clocks). Sadly, it looks like you can't glitch the sound in any meaningful way by exploiting this, which is something I hoped for.
AUDF0 AUDF1 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 0x 4.91 4.88 4.68 4.53 4.28 4.13 3.93 3.78 3.53 3.39 3.22 3.09 2.91 2.79 2.67 2.56 1x 4.89 4.73 4.53 4.37 4.14 3.98 3.79 3.64 3.40 3.26 3.10 2.98 2.80 2.69 2.57 2.47 2x 4.69 4.52 4.33 4.17 3.94 3.78 3.61 3.46 3.22 3.10 2.94 2.83 2.66 2.56 2.45 2.36 3x 4.53 4.37 4.18 4.02 3.80 3.65 3.47 3.33 3.11 2.97 2.83 2.72 2.57 2.47 2.36 2.28 4x 4.28 4.13 3.93 3.78 3.56 3.42 3.25 3.12 2.91 2.79 2.66 2.57 2.43 2.33 2.24 2.16 5x 4.13 3.98 3.79 3.64 3.43 3.29 3.12 3.00 2.80 2.69 2.56 2.47 2.34 2.26 2.17 2.09 6x 3.93 3.79 3.61 3.46 3.25 3.12 2.97 2.85 2.66 2.56 2.45 2.36 2.24 2.16 2.08 2.01 7x 3.79 3.64 3.46 3.32 3.12 3.00 2.85 2.74 2.56 2.47 2.36 2.28 2.17 2.09 2.01 1.95 8x 3.54 3.39 3.23 3.10 2.91 2.80 2.67 2.57 2.41 2.32 2.23 2.16 2.05 1.99 1.92 1.86 9x 3.41 3.26 3.10 2.98 2.80 2.69 2.57 2.48 2.33 2.25 2.16 2.08 1.99 1.93 1.86 1.81 Ax 3.23 3.10 2.95 2.83 2.67 2.57 2.45 2.36 2.23 2.15 2.07 2.00 1.91 1.86 1.80 1.75 Bx 3.10 2.98 2.84 2.72 2.58 2.47 2.37 2.28 2.16 2.09 2.01 1.94 1.86 1.81 1.75 1.70 Cx 2.91 2.80 2.67 2.56 2.43 2.34 2.24 2.17 2.05 1.99 1.92 1.86 1.78 1.73 1.68 1.63 Dx 2.80 2.70 2.57 2.47 2.34 2.26 2.17 2.10 1.99 1.93 1.86 1.80 1.74 1.69 1.63 1.59 Ex 2.67 2.57 2.45 2.36 2.25 2.17 2.08 2.01 1.92 1.86 1.79 1.75 1.68 1.63 1.58 1.54 Fx 2.57 2.47 2.37 2.28 2.17 2.10 2.02 1.95 1.86 1.81 1.75 1.70 1.63 1.59 1.54 1.51
-
7
-
2
-
-
15 hours ago, Turbo Laser Lynx said:Who's KK/Altair by the way?
Well, looks like it's me.
You might or might not remember me from games like RoboMechanik (VCS), Druidarium (XL/XE) or the Chiphead demo (VCS).
-
3
-
-
Oh, that's unfortunate. I knew the human ear is very sensitive to timings, but I wouldn't have thought that it would notice a 3/1,000,000 sec delay.
Human ear is very sensitive to anything happening regularity at 5kHz rate. And my player was giving randomly 3-cycle peaks and notches exactly at that rate.
Thanks, but this is already in Stella. Maybe you want to verify your findings.
Nice. And thanks, but I have enough confidence in my multimeter.

The only oddity here is that I failed to found any reasonable approximation for this circuit, but on the other hand the DAC resistances in TIA are not real resistances but rather half-open transistors, so that was to be expected. -
AUDV0/AUDV1 is definitely updated immediately on real hardware.
When writing my softsynth I tried use both registers separately to improve the output quality, because the volume addition is not linear in TIA.
E.g. when setting both channels as "High", volumes don't simply add up, and volumes 0+14 give different voltage than 7+7.
I was trying to use that feature to improve output quality, but even the 3 cycle delay in writing AUDV1 after AUDV0 gave audible buzz at 5kHz sampling rate.And if anyone would like to update Stella with the AUDV0+AUDV1 mixing table, just PM me.
I have measured output voltage for all 256 combinations already and can share the table.
-
3
-
-
10 hours ago, Thomas Jentzsch said:What's new in this revision?
World F renamed to G, and added new world in its place (to give ZPH some more levels to fill the stream). Also last boss got weakened considerably.
-
2
-
-
Thanks!
Also please note that worlds A-G are just preview. I have twice that number already.
-
1
-
-
Looks really great!
And playing mostly on Amiga, I definitely prefer the 1-button controls.
I know this is far from being complete, but what really stands out right now is:
- no proper gravity when jumping (the character moves up and down),
- colors are broken on some moves (e.g. uppercut) - will this be fixed, or is it going to be some optimization (gfx reuse)?
- Raiden sprite lacks hat - another optimization?- controls feel a bit unresponsive in general
But other than that, it starts looking great.
Good luck!
(and PM me if you'd like some help with the msx/sound)
-
1
-
-
1 hour ago, Thomas Jentzsch said:If you accept any help, I can try helping to optimize the code for size (I am pretty good at this 😄). It would be shame if this project gets further delayed or even abandoned.
Code size is not a problem, because all maps reside in two banks filled 99% with map data. Some map data could be shared between maps, but that would need serious cleanup of the maps.
-
1
-
-
Hi guys! Thank you for your support and patience!
I definitely didn't drop this project, just got a bit burned with my extreme perfectionism.
Right now I'm able to fit about 97 maps in the 32k binary, but I would love to break the magic number of 100.
I see a clear way of breaking that number, but it would require a bit of rewrite cleaning up tile data in all the existing levels, which is not something I'm looking forward to.
So, given my very limited free time I focused on other things, waiting for my energy and focus to build up again for this task, or go forward to release the thing as is.And going 64k just to waste 31.9k is again something my perfectionism can't accept.

In any case, the project is not abandoned, and if you would like to reach me (e.g. to help with testing), find me on Facebook and just PM me (as you have notices, I'm not active user of this forum).Take care!
KK/Altair-
9
-
-
Nice one KK. little bit suprised that it is a game and not a demo... seems Amiga and shaders are becoming boring?
Never.
Just Atari is also cool and Silly Venture needs some stuff to show.
But srsly, I suggest everyone checking up devkk.net, lot of really impressive stuff.Good point! Haven't checked (i.e. updated) it for some time.
I suppose a castle would be cool, and/or some type of castle dungeon.I was already thinking in this general direction.
Also, maybe some larger enemies/end bosses, using combined P/M's.Endbosses were on my wishlist as well.

-
2
-
-
That's what I meant - you can have up/down movement, but would complicate things

Even if you solve that sprite move logic, you end up with one less sprite per "row". Imho it's more important to have that many enemies on screen (which looks great in later stages, shooting fast to kill some, and still plenty left to feel danger and look on that healthbar all the time
).One thing that would maybe add value to gameplay could be weapons that shoot upwards or maybe on side with downward slope so you can hit stuff above you and enemies under your position.
If I didn't want to "complicate things", I wouldn't code for Atari.

Also the enemy count limitation would only be temporary for the duration of the move. As soon as the enemy moves to the desired row, it will free the previous one and continue horizontal movement. And I think it's worth including to break the row fragmentation and to surprise the player.

Also diagonal shots is something I probably should consider, but only if I can come up with a control solution that doesn't break the general flow of the game.
-
5
-
-
BTW, will there be more background level graphics in the final game?I have a few empty chars still left in the village/forest charset, and plenty in the stonehenge/cemetery one, so that would be a good idea.
Also adding a third one could still be an option.

Still, I have very limited amount of free time for all this, so I can't really promise.
But any ideas on possible new locations are always appreciated.
A suggestion - if the multi-shot enemies could register each hit with a momentary flicker or similar. Or perhaps get progressively dimmer until the kill shot is delivered.I can't really change their color without affecting other things (missiles), but I'd really like to make a few pain frames for them.
If the parallax scrolling is jut limited to some characters, the visuals could be enhanced, already.I know this trick, but it requires a single texture for entire background, otherwise you get into trouble at edges (the edges should move with background speed). I also like to have some more background variety in the caves, even if it's just mixing background and black tiles, as it is right now.
Could be nice to create the "ID" character a bit more recognizable, for some artistical stuff
I did not create the font, so it's probably better as it is now.
Artistic parts in games do add well, if you understand
Using proper variable-width font in graphics mode would add even more, in this case.
Some inspiration video for some possible ? DLI sets and other stuff
What elements exactly would you me to get inspiration from?

-
2
-
-
Hi!

Thanks all for the kind comments!
Responding to some questions:
- NTSC was supported, but right now is not due to code not optimized enough before Silly Venture deadline. But it's still on the list.
- The music uses just 3 channels, 4th is dedicated to future SFX.
- I didn't plan the multicolor sprites, especially that they are coupled with missiles, making things quite tricky. And it would limit the number of enemies.
- I would love some parallax scrolling, but that would be tricky as well.
- The name is "Druidarium". Title screen has a typo.
Deadlines, again.- The picture is a conversion with off-the-shelf font.
- The "Dru i dar i um" in the text is not stylized. Just monospace.
- I can have enemies moving up/down. They just would need extra logic to reserve a sprite from line below and do a line transition. I'd love to have some one day.
- The game wasn't really fast to make. 2 missile positions (4th missile is unusable) are updated every 2 scanlines so explosions are done using missiles and this system allows various spell projectiles (just deadline didn't allow adding more). And add to that running all the enemy logic and actually redrawing all the sprites - and you have the reason why it's not running in NTSC right now with some parts requiring (yet another) rewrite.

- Hi-res sprites would be (twice the) pain to refresh. Also I don't think it would add that much to the visuals without the increased horizontal resolution.And thanks all again!

-
11
-
-
That's your call, just wanted you to be aware that I only saw about 40% downloaded the Windows version of my level tool.
Thinking a bit more on this, I'm trying to implement your idea in browser JavaScript. Long time since I touched JS at all, but early proof-of-concept looks promising. Maybe in some time I'll be able to give you guys some fun with level design.

-
1
-
-
I'd never use the first two as I find them painful to look at.
Third ones iffy, I'd need to see it full-screen to see how well I'd be able to tolerate it; however, I'll most likely add that one to SpiceC as a Kernel Option even if I wouldn't use it myself.
My thoughts exactly.
But using third one in a demo (as on demoscene) would open some interesting options. 
-
I really appreciate the explanation!
No problem!
If you have any questions, feel free to ask! 
Just an FYI - Omegamatrix figured out a 160 pixel display, 2 layouts using 15 Hz flicker, and a 3rd using 20 Hz. Source is provided, stock 6507 code
Thanks for the update. Still, as far as I can see first two work just by flickering two 96px (or 80px, in this case) displays side by side, but the third one is a nice trick indeed.

-
I know this is a bit off topic, but as a pixel artist I need to ask - what tools are people using to achieve the level of graphics seen in games like this?
MS Paint. Really.
Plus a custom made tool that shows the tiles with proper NTSC proportions and running animations.Some tiles were made with a bit of math (circles and rotations at that aspect ratio are a bit non-intuitive), but in the end they were mspainted, too.
And the title screen was rendered in Blender, scaled to NTSC aspect ratio, dithered to 1-bit at several different brightness threshold levels and hand-merged in GIMP (by painting masks to choose which brightness threshold is used where).
So there were no fancy tools involved in the process, and everything except title screen can be made with any editor showing correct pixel proportions and live animations.

Incredible game, btw! It’ll be a day one purchase for me.

Thanks!

-
2
-
-
I love the progress that's been made on this game.
As I was playing World X yesterday, I noticed the screen rolled a couple times as the game transitioned between levels. Not a lockup, just a time overrun.
Thanks for the info - I'll try to reproduce it. There's not much overscan time in NTSC, but I do my best not to roll (especially during gameplay, where it's a priority). But during transitions avoiding rolling is usually as simple as adding one blank frame devoted to processing. Thanks!

-
That's your call, just wanted you to be aware that I only saw about 40% downloaded the Windows version of my level tool.
You might be able to do something similar for non-windows user, a simple text file like this would be easy enough for a user to create and your tool to parse:
There's a bit more to that. The game has 16 tile slots for unique tiles. Some are reserved, while other have hardcoded restrictions or special meaning in some cases (like certain monsters dropping "item" of hardcoded tile type), which are only partially automated. Also every monster has some customizable properties (speed, initial direction, behavior, etc), depending on its type. And there is a scripting system in place, allowing game to respond to certain events (pulling a level, breaking a tripwire) in quite a programmable way. So personally, I wouldn't like to approach this without a proper editor.

But you have a point here. I'll look into some options - I have a framework ready, which compiles even to web, but it uses OpenGL, so I'd have to estimate the effort required.
-
1
-
-
Based on the dracsec downloads, being Windows only will cut your response quite a bit.
Well... porting command-line tool is one thing, and porting editor made with DirectX is completely another. Will the result be worth the effort?
-
Maybe, when you are ready, start a new thread just for the level design. The easier accessible the required info and tools are, the more and better results you will get in return. Best would be a framework, where the level designers can directly test their creations.
It's a WYSIWYG tile editor and a normal Windows application. And you can test levels instantly - just hit F5 and the editor compiles the map, patches BIN file with it and runs it with Stella. The game even detects it was patched and skips all menus straight to the gameplay, so the whole process is almost instant, and dying/winning while in this mode restarts the map immediately.

-
2
-
-
You could offer credits in the manual, they don't require any budget.

I will definitely do that.
Even if I would have to reserve a whole page for that (I have an option to switch to 64k cart, which would fit about 500 levels total, in case of a massive response). 

High speed structured programming - best tools?
in Atari 5200 / 8-bit Programming
Posted
K65 already saved me more time than it took to write, and enabled making some cool things I wouldn't dare to do with classic assembler, so they sometimes point in the same direction.