nathanielbabiak 2021-01-05 02:59 (Edited)

A little less than a month ago I decided I'd make a game, and started three...

I started each by estimating how to allocate the limited "system budget" (clock cycles, RAM, ROM, sprites, palettes, backgrounds). I was super excited with my preliminary tests, but then I got into details. I'd estimate I'm maybe 10% finished with the code for each one.

And here's my problem... I want to make the best possible game, super professional, blow-your-socks-off amazing. But, my estimates of system budget are too optimistic... my 10% projects are way over-budget. I can't do what I want as easily as I want to. :-( So I guess I'm just whining. LOL! :-)

What should I do? I could spend a year on just one of these (making it pretty and optimizing to fit in the budget), and I'm just not sure how to find inspiration on which game I should pick. Any thoughts?

nathanielbabiak 2021-01-05 03:04 (Edited)

Just in case anyone's curious:

Also, what timezone are y'all in? I feel like I'm always around when everyone else is asleep! I'm east-coast USA, btw. :-)

GAMELEGEND 2021-01-05 05:15

I love kerbal space program

nathanielbabiak 2021-01-05 05:47

My KSP knock off wouldn't include any editors... it would only have the Apollo 11 mission itself. Is that still your pick?

nathanielbabiak 2021-01-05 05:50

Just realized it wouldn't need to use the pxl library either - it'll use the new filled poly render technique instead. And I want to be the first to publish this time, so I'll make a (very small) library for it and upload tomorrow

was8bit 2021-01-05 12:18 (Edited)

Oh wow... if i had time to spend... and my mind also keeps popping up new ideas constantly, i cant keep up with it...

My online time is random and limited, and i get very little "me" time... not complaining, thats just the way it is...

... all of your ideas are great, sorry i cant help....

nathanielbabiak 2021-01-06 05:07 (Edited)

It's just covid... I have nothing to do. I have to stay occupied with something. LowRes NX is much easier than assembly on a C64!

nathanielbabiak 2021-01-06 05:21 (Edited)

At some point while working on my 3D ray caster, I lost motivation to continue. I really enjoy the 3D projection math and graphics coding, but I'm not motivated to finish it. It's pretty tough to modify the code because it's so complex. And, it's limited to only having geometric patterns on the panels (textures slow the framerate from 35 FPS to 6). It's just not attractive IMHO, so it's reluctantly become a graphics demo only (despite having plenty of system budget for everything except clock cycles, i.e., available sprites, palettes, characters, and ROM/RAM space).

was8bit 2021-01-06 06:16

I most defintitely want to use your graphics tools \(^_^)/ ... but i really need a few empty days to focus my mind on it, which i rarely get... but i will eventually dive in ;)

Timo 2021-01-06 11:19

Looks like the limits of LowRes NX are not well balanced, the graphics system is too complex :O

In any case... I would suggest not trying to remake complete games. If you like to create advanced technology, then just stick to it, make tech demos and maybe even simple games. I think no-one here expects a full game to spend hours with. A racing game could be just a title screen, one playable track and maybe a simple high score. Arcade game done :)

Timo 2021-01-06 11:21

By the way, I'm happy to hear "LowRes NX is easier than a C64" :) You are actually my target group! Most people would complain that it's much more difficult than Pico-8...

Timo 2021-01-06 11:36

And your raycasting engine could be used for a simple maze game for example.

nathanielbabiak 2021-01-06 21:00 (Edited)

Oh no! I didn't mean to complain that the system's poorly balanced. I was just whining that I want to be good at making programs that are "fun". It seems I just don't enjoy the effort required to make it happen! I'm good at making programs that are "interesting", but I think "fun" is a much greater complement to receive, so I want to try for it. I'll take your suggestion and make the ray casting engine into a maze game!

nathanielbabiak 2021-01-06 21:03 (Edited)

As far as the system balance, please take my experience with a huge grain of salt - I am intentionally trying to imbalance the system! It's only a 1.05 MHz system (17556 clock cycles for each of 60 FPS), but use of floating point and any math instruction is effectively "free" at just one CC. (The C64 floating-point algorithms can use anywhere from 1,000 to 2,500 CC for multiplication alone!) I've tried to focus on programs that will exploit this imbalance - 3D projection does that best.

Every other aspect of the system is very well balanced for both retro-accuracy and fun. This "free" FP is the only one that's not very retro-accurate, but it's super fun! Think about it: if FP math was slower, even simple programs would run noticeably slower... or the language would need to differentiate between integer and FP, an annoying complication. If FP math was removed entirely, we'd be coding implementations ourselves, and then get bogged down with CC optimizations just like the assembler programmers do, and they're an odd bunch. :-P

So I just pretend the system has a math co-processor and try not to think about it. ;-)

Roy___ 2021-01-08 19:59

Could you do the Keen idea using the “hardware” graphics features? You could concentrate on making it look as slick as possible and perhaps throw in some old-school C64 style raster tricks and character map effects? Saves you having to use up CPU time with your own graphics system. There’s the potential for a lot of cool tricks using the raster line and animating characters and I’m sure you could find some cool weird behaviour if you poked about updating values.

nathanielbabiak 2021-01-08 22:25 (Edited)

Absolutely! I've got no intentions of using the Pxl Library for Keen (I wrote as much above actually).

The reason Keen needs optimized is because I've already exceeded the CC budget using the "hardware" graphics system. For Keen, I'd like to break through the limit of eight palettes for the tiles on-screen by updating palette colors dynamically throughout the level, on a per-tile basis. For horizontal rows of zones, the rows can be pretty short, as the palettes update in the raster. For vertical columns of zones, the columns need to be pretty wide, as they're only updated in the VBL interrupt. (Wouldn't want the color changing depending on whether the camera was panning left or right!)

I'd combine this feature with a few others for a "crisp" feeling:

When all four features are combined, it's just barely above the CC budget for the system.

What's interesting is, all the graphic features have been implemented already on this site by other authors, it's just that nobody's combined the whole thing yet!

DrGonzo 2021-01-16 08:28

Go for keens never released sequel “The Universe Is Toast!” . Tom Hall even gave the pitch: “as you know from the end of Keen 6, Mortimer McMire is back, and he has big, bad plans for the end of the Universe as we know it...” it would be awesome and really fun :)

Log in to reply.