Why is programming taking so dang long for me nowadays?

You can talk about almost anything that you want to on this board.

Moderator: Moderators

psycopathicteen
Posts: 3140
Joined: Wed May 19, 2010 6:12 pm

Why is programming taking so dang long for me nowadays?

Post by psycopathicteen »

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.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Why is programming taking so dang long for me nowadays?

Post by tokumaru »

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.
psycopathicteen
Posts: 3140
Joined: Wed May 19, 2010 6:12 pm

Re: Why is programming taking so dang long for me nowadays?

Post by psycopathicteen »

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.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Why is programming taking so dang long for me nowadays?

Post by Drew Sebastino »

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.
psycopathicteen
Posts: 3140
Joined: Wed May 19, 2010 6:12 pm

Re: Why is programming taking so dang long for me nowadays?

Post by psycopathicteen »

96 bytes per slot. It's kind've embarrassing.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Why is programming taking so dang long for me nowadays?

Post by Drew Sebastino »

:| I don't think it would be unrealistic to half that... Do you have a list of all the variables under one slot?
psycopathicteen
Posts: 3140
Joined: Wed May 19, 2010 6:12 pm

Re: Why is programming taking so dang long for me nowadays?

Post by psycopathicteen »

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: Select all

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)
Last edited by psycopathicteen on Mon Dec 25, 2017 8:46 am, edited 1 time in total.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Why is programming taking so dang long for me nowadays?

Post by Drew Sebastino »

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?
psycopathicteen
Posts: 3140
Joined: Wed May 19, 2010 6:12 pm

Re: Why is programming taking so dang long for me nowadays?

Post by psycopathicteen »

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.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Why is programming taking so dang long for me nowadays?

Post by tokumaru »

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:
psycopathicteen
Posts: 3140
Joined: Wed May 19, 2010 6:12 pm

Re: Why is programming taking so dang long for me nowadays?

Post by psycopathicteen »

I think I'll make it a goal to have a new gameplay video ready by New Years.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Why is programming taking so dang long for me nowadays?

Post by Drew Sebastino »

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:
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Why is programming taking so dang long for me nowadays?

Post by tokumaru »

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?
User avatar
GradualGames
Posts: 1106
Joined: Sun Nov 09, 2008 9:18 pm
Location: Pennsylvania, USA
Contact:

Re: Why is programming taking so dang long for me nowadays?

Post by GradualGames »

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.
psycopathicteen
Posts: 3140
Joined: Wed May 19, 2010 6:12 pm

Re: Why is programming taking so dang long for me nowadays?

Post by psycopathicteen »

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