nesdev.com
http://forums.nesdev.com/

Why is programming taking so dang long for me nowadays?
http://forums.nesdev.com/viewtopic.php?f=5&t=16851
Page 1 of 5

Author:  psycopathicteen [ Fri Dec 22, 2017 3:17 pm ]
Post subject:  Why is programming taking so dang long for me nowadays?

The last youtube video I posted was 8 or 9 months ago, and I feel like I need to make an updated video, it's just that I've barely made any progress. The only things I've added was a lava dragon who doesn't even have collision, some slightly glitchy wooden crates, and an unfinished wolf boss that moves almost exactly the same way as the "plasma grinch" but with a different body.

I've been working on this almost every day, and I feel very frustrated because it's just so unfinished.

Author:  tokumaru [ Fri Dec 22, 2017 3:23 pm ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

You're getting old, I guess... It seems that at as time goes by and we become more experienced, our enthusiasm decreases for whatever reason.

Author:  psycopathicteen [ Fri Dec 22, 2017 4:22 pm ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

Most of my achievements are behind the scenes stuff like how I am able to cram 74 object memory slots into 8kB of RAM, even though it's still not anywhere close to 128 objects; and making the metasprite data format slightly more user friendly, even though it resulted in an uglier dynamic animation code.

Author:  Drew Sebastino [ Fri Dec 22, 2017 6:55 pm ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

A PCE coder could probably fit that many objects in half that size. :lol: How many bytes are reserved per object? 74 is a really weird number.

Author:  psycopathicteen [ Fri Dec 22, 2017 7:06 pm ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

96 bytes per slot. It's kind've embarrassing.

Author:  Drew Sebastino [ Fri Dec 22, 2017 7:49 pm ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

:| I don't think it would be unrealistic to half that... Do you have a list of all the variables under one slot?

Author:  psycopathicteen [ Fri Dec 22, 2017 8:57 pm ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

I actually found a register I didn't need while I was getting it ready, so there are actually 94 bytes per object now. Some of these only a couple bits are actually used so I can try to combine them. I have a "metasprite" register that says what the previous metasprite was. It used to be an important part of the animation engine, but now all it is used for is starting the frame number at 0 when a new animation/action happens, which I think I can get around.

Code:
define object_id($00)
define metasprite($02)         //this is register can probably go after some code revision
define x_position_lo($04)
define x_position($05)
define x_position_hi($06)
define y_position_lo($08)
define y_position($09)
define y_position_hi($0a)
define attributes($0c)
define angle_velocity($0e)
define angle($10)
define amplitude($12)
define kick_range($12)         //share the same register as amplitude.  Unused, but I'm planning on using it.
define linked_object($14)      //linked object is for connecting a sprite to another sprite
define relative_angle($16)
define #_of_child_objects($18)
define modular_animation($1a)
define collision_point_offset($1a)   //share register with modular animation
define timer($1c)
define flicker($1e)
define metasprite_request($20)
define vram_slot_number($22)
define animation_update($24)
define linker($26)         //linker is used for sprite drawing priority order
define priority($28)
define height($2a)
define x_acceleration($2c)
define amplitude_y($2e)
define timer2($2e)      //uses same register as amplitude y
define hits($30)
define on_platform($32)
define on_ground($34)
define slope_data_address($36)
define animation_index($38)          //this is the animation frame number x2
define frame_id($3a)
define impact_freeze_enable($3c)
define object_traits($3e)
define attack($40)
define action2($42)
define parent_object($44)   //parent object means it belongs to a multijointed boss
define object_number($46)   //this is used for object spawning/despawning
define action($48)
define x_speed($4a)
define direction($4c)
define width($4e)
define x_velocity($50)
define y_velocity($52)
define animation_frame($54)  //this is the animation frame number in TV frames
define timer3($56)
define timer4($58)
define timer5($5a)
define next_slot($5e)

Author:  Drew Sebastino [ Fri Dec 22, 2017 11:14 pm ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

psycopathicteen wrote:
Some of these only a couple bits are actually used so I can try to combine them.

I can definitely tell; 64 bytes per object looks reasonable. Some of these look really situational; (impact freeze enable?) could you also use less bytes by having multipurpose variables? Or is there actually an object (probably the player) that will potentially use all of these at the same time? One of the first things that stuck out to me is that you're using 4 bytes for x and y position. Could you not get away with 3?

Author:  psycopathicteen [ Sat Dec 23, 2017 5:13 am ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

I was able to get rid of the "metasprite" register. Now down to 92 bytes.

I think "slope data address" is only used within the tile map collision routine, and used only for indirect addressing. Maybe I can use that "lda ($xx,s),y" opcode that doesn't get used very often.

Author:  tokumaru [ Sat Dec 23, 2017 5:37 am ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

So, your complaint that you weren't making progress as fast as you'd like resulted in you spending time redesigning/optimizing something that was already working... :roll:

Author:  psycopathicteen [ Sat Dec 23, 2017 6:18 am ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

I think I'll make it a goal to have a new gameplay video ready by New Years.

Author:  Drew Sebastino [ Sat Dec 23, 2017 10:00 am ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

tokumaru wrote:
So, your complaint that you weren't making progress as fast as you'd like resulted in you spending time redesigning/optimizing something that was already working... :roll:

You've got to admit, 96 bytes per object is pretty damn ridiculous. :lol:

Author:  tokumaru [ Sat Dec 23, 2017 11:04 am ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

Espozo wrote:
You've got to admit, 96 bytes per object is pretty damn ridiculous. :lol:

Maybe, but... is this getting in the way of progress, requiring immediate attention?

I can understand that the longer you take to settle on the final object RAM layout, the more objects you'll have to change later to accommodate the final layout, so maybe that's the reason to get this out of the way before moving forward?

Author:  GradualGames [ Sat Dec 23, 2017 11:38 am ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

Perhaps you need to develop soft skills such as creating a schedule for yourself, and sticking to it. Then one is not quite as dependent on those youthful marathon spurts of activity. They'll still happen, just not as often. And, I'd say for large homebrew projects, it is good to resign oneself to the length of a project---it's gonna be several years if not more. Accept that, and develop a routine, and you will complete your projects.
Jordan B. Peterson on having a routine (for life in general, but...really think it applies just as well to a hobby like this)
*edit* I'd add to that, for my own routine working on projects, I make sure not to work on it absolutely every day, there are frequent breaks. Gotta avoid burnout. I've been working on my projects 3 evenings a week 100% consistently since late 2008, with the only exceptions being particularly busy times surrounding holidays, family or vacation.

Author:  psycopathicteen [ Sun Dec 24, 2017 8:01 am ]
Post subject:  Re: Why is programming taking so dang long for me nowadays?

I wish I can have a schedule, but my parents just randomly ask me to do chores around the house.

Page 1 of 5 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/