How fast are you people at programming?

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

How fast are you people at programming?

Post by Drew Sebastino »

I just wonder how slow I am compared to everyone, because it seems that it takes me an eternity to finish something that other people have gotten done in 5 minutes. I remember how I (as far as I know) came up with the vram finder thing and psychopathicteen liked it and used it. He's been long finished with it and I've barely started. I feel like a problem with me is that for some reason, I kind of dread starting anything, but I'm usually not that bad when I get started. It's been about 2/3 of a year and I've just now gotten past the halfway point of just making the game engine.
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: How fast are you people at programming?

Post by Sik »

Sometimes I get to the point where I can pull off a full blown system without testing and get it right in the first try. And doing all that in a matter of some minutes. That's how fast I can program (unless the environment sucks, that is).

Note, I've been programming for over 13 years, so experience probably has something to do with it. Maybe a lot.
User avatar
Khaz
Posts: 314
Joined: Thu Dec 25, 2014 10:26 pm
Location: Canada

Re: How fast are you people at programming?

Post by Khaz »

If you count QBasic, I've been programming in some way or another for nearly 25 years off and on. I can get moving pretty fast once I get comfortable in a language like I have with 65816. I would probably not have lasted long back in that era though since I tend to throw things together very fast and loose, often completely redesigning things halfway through writing it. There's always a ton of correcting to do before it works the way I intended, which makes me grateful for modern emulators.

My problem is a messed-up work ethic. I'll procrastinate getting started on some piece of code for a week, then once I get started I'll be up till 4:30am working on it until I've got it perfect. I kind of enjoy programming but the way I go about it is downright unhealthy.

It's hard to say exactly "how fast" though. Depends on what I'm trying to do and how well-prepared I am... As a general benchmark I started my game here late last November (though I was studying 65816 assembly before that) and I'd say the game engine is about 80% done now. Only a few more things that I know I need to do for certain, and then a bunch of design choices I haven't made up my mind about yet. Then, I finally get to start making a game!

EDIT: I realize "80% done" is a terrible descriptor but I still have some paranoia about giving out too many details. I'm going to want more feedback in the near future but I'm terrified if I let a demo out my work would somehow get stolen before I can finish it.

SOMEday I will make a post that I don't later feel the need to edit.
UnDisbeliever
Posts: 77
Joined: Mon Mar 02, 2015 1:11 am
Location: Australia (PAL)
Contact:

Re: How fast are you people at programming?

Post by UnDisbeliever »

According to git I'm coding at about 600 lines of assembly a week.

I could probably code faster, but I'm more focused on how the code interacts with the system then just typing out code.

Most of my informal projects go through a lot of refactoring. The subsystems and data-structures keeps changing. It usually takes 3 weeks into a project until I have a proper idea as to how the architecture of the code should look like.

My more formal projects have involved me spending half an hour a day for two weeks scribling out a subsystems document detailing the architecture and layout of all of the major components. I don't do it for the large informal one (I really should) as I keep thinking that I've missed anything.

This 1 game a month challange for me is to try and get into the habbit of not over engineering something. Considering my progress I say it is working.


If you include writing GW BASIC on paper, I've been coding on and off for 13 years. Most of my code either ends up in a 75% complete state where I just start using it full-time for bug testing and then move onto another project.

I don't have the motivation for long (>2 hour) coding sessions anymore. I'm getting distracted easily now-a-days. The good news is that its a lot easier for me to get into the coding mood than I used to.

Lately my main problem is tracking down bugs. Three days ago I spend 2 hours working with bsnes-plus trying to find a bug that was caused by me using a JSR instead of a JMP. :oops:
Khaz wrote:... but I'm terrified if I let a demo out my work would somehow get stolen before I can finish it.
I'm in the opposite boat, I've found showing off my work increases my commitment to seeing the project to 100%
User avatar
mcmillen
Posts: 11
Joined: Fri May 22, 2015 5:41 am
Location: Boston, MA

Re: How fast are you people at programming?

Post by mcmillen »

I've been programming in SNES assembly for about a week now, and have 700 lines so far. A lot of that is comments, so that I don't confuse my future self. I've also been doing an awful lot of rewriting and refactoring as I learn more, and taking a lot of notes in a separate text file. So far the net result of all this is a scrolling background and a player sprite that flies around and can shoot guns (I'm working on a shmup.) No enemies yet, though, so it's not really a *game* as of yet :)

For background, I graduated with a CS degree in 2003 so I've been programming for ~12 years, not counting fiddling around while in school. This is my first time doing anything more serious than "college homework assignment" in assembly.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: How fast are you people at programming?

Post by tepples »

Khaz wrote:but I'm terrified if I let a demo out my work would somehow get stolen before I can finish it.
Obscurity is more of a threat than mass infringement, especially before you have a finished product. See TorrentFreak blurb citing an O'Reilly TOC essay and other articles.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How fast are you people at programming?

Post by Drew Sebastino »

Sik wrote:Sometimes I get to the point where I can pull off a full blown system without testing and get it right in the first try. And doing all that in a matter of some minutes. That's how fast I can program (unless the environment sucks, that is).
Wow.
Sik wrote:Note, I've been programming for over 13 years, so experience probably has something to do with it. Maybe a lot.
Less than 1 year. :lol:
Khaz wrote: I tend to throw things together very fast and loose, often completely redesigning things halfway through writing it.
I try and make sure I get everything perfect the first time so that I don't have to edit it latter. (That could be why I take forever...)
Khaz wrote:My problem is a messed-up work ethic. I'll procrastinate getting started on some piece of code for a week, then once I get started I'll be up till 4:30am working on it until I've got it perfect. I kind of enjoy programming but the way I go about it is downright unhealthy.
That's me! :lol:
UnDisbeliever wrote:
Khaz wrote:... but I'm terrified if I let a demo out my work would somehow get stolen before I can finish it.
I'm in the opposite boat, I've found showing off my work increases my commitment to seeing the project to 100%
Whenever I'm done with my game engine, I plan on freely distributing it. I plan on getting help on designing the game after I finally finish the game engine and maybe throw a little demo, so that people can have something to work with. My biggest problem is artwork. I greatly enjoy good artwork, but I can't quite make it myself, and I take ages. The explosion picture I made was probably my best, and it took ages just for that one frame.
mcmillen wrote:So far the net result of all this is a scrolling background and a player sprite that flies around and can shoot guns (I'm working on a shmup.) No enemies yet, though, so it's not really a *game* as of yet
Are you interacting with the sprites directly, or do you already have an object and a metasprite handling code done? If so, dang! :shock:
Khaz wrote:I'd say the game engine is about 80% done now.
I might be at about that, if I weren't so crazy and wanted a vram finder and a cgram finder to look for empty space to occupy with graphics and palettes.
User avatar
Khaz
Posts: 314
Joined: Thu Dec 25, 2014 10:26 pm
Location: Canada

Re: How fast are you people at programming?

Post by Khaz »

tepples wrote:
Khaz wrote:but I'm terrified if I let a demo out my work would somehow get stolen before I can finish it.
Obscurity is more of a threat than mass infringement, especially before you have a finished product. See TorrentFreak blurb citing an O'Reilly TOC essay and other articles.
I dunno about this... Honestly my concern is not so much that the finished product would be mass-pirated and I won't get paid (Ha! Sorry, the thought of people paying me is funny). It's more the fact that I'm not a corporation, I have no patents, I have no anything. So from a legal perspective as far as I am aware, somebody could take my demo rom and disassemble it, claim it was always theirs and build their own project out of it, and there'd be nothing I can do or say about it. I don't understand the patent system very well, but what I gather from it is that if they took my game and ran to the patent office and filled out the paperwork first then they legally own it and now I have to PROVE beyond all doubt that I made it first. Which is impossible even if I HAD the time and money to sue over it...

I'm not so much in this to make money or even get mass exposure. I just want to make damn sure that the end result has my name on it and nobody else's (aside from the many thanks I owe people for help getting started). I don't think the risk is terribly high, it's just that on the off chance I get shafted I lose eeeeeeeeverything.
Espozo wrote:I might be at about that, if I weren't so crazy and wanted a vram finder and a cgram finder to look for empty space to occupy with graphics and palettes.
To be fair, I'm sticking with a much simpler VRAM system, and I haven't even BEGUN to worry about palettes yet. I'm hoping that my simpler screen-by-screen map system, while I can already see many ways it'll be restrictive, will make it easier to manage all those little details as you move around. I could easily get away with each room just having one static set of palettes loaded on entry, though I probably want to do a BIT better than that. I dunno. Still mixed feelings about that design choice.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How fast are you people at programming?

Post by Drew Sebastino »

Khaz wrote:To be fair, I'm sticking with a much simpler VRAM system, and I haven't even BEGUN to worry about palettes yet. I'm hoping that my simpler screen-by-screen map system, while I can already see many ways it'll be restrictive, will make it easier to manage all those little details as you move around. I could easily get away with each room just having one static set of palettes loaded on entry, though I probably want to do a BIT better than that. I dunno. Still mixed feelings about that design choice.
What kind of game do you plan on making? (And I honestly wouldn't worry about people disassembling it. That's a bit crazy...) The game engine I'm making is pretty all purpose, in that it could really be a run and gun, (as intended) a platformer, or a shoot 'em up with minor modifications. I can appreciate a flexible game engine, and while it would be nice to only have my name on something, I don't have nearly enough experience or patience to try to do something by myself, and frankly, I don't really care. I imagine it would be an interesting experience working with whoever is interested here.

The reason I want to do the vram finder is because I want to compress things as much as possible in vram, because I want to see if something like or close to Metal Slug animation is possible, because I'm a sucker for large animated objects. The DKC games are smoothly animated, but nothing is really that big, even most of the bosses. (I'd say King K. Rool is probably the most impressive, but there really isn't anything else going on.)
psycopathicteen
Posts: 3001
Joined: Wed May 19, 2010 6:12 pm

Re: How fast are you people at programming?

Post by psycopathicteen »

Plus, bosses get their own designated slot anyway, so they basically cheat their own system.
User avatar
Khaz
Posts: 314
Joined: Thu Dec 25, 2014 10:26 pm
Location: Canada

Re: How fast are you people at programming?

Post by Khaz »

Espozo wrote:What kind of game do you plan on making? (And I honestly wouldn't worry about people disassembling it. That's a bit crazy...)
It is a bit crazy, but people can be crazy sometimes. If someone were to disassemble Mario or Metroid to steal and sell it they'd get sued to death instantly. However, mine is a totally unprotected piece of work by some nobody who has just said out loud he doesn't have the resources to pursue a lawsuit. If they're gonna pick something to disassemble and steal, it makes way more sense to steal my work since I can't fight back.

What kind? Well, it's a heavily-Sonic-inspired platformer loosely based in the Metroid/Vania genre. It's far from the most original thing ever made, but I think I've got enough unique ideas going on that it's worth seeing through.
Espozo wrote:The reason I want to do the vram finder is because I want to compress things as much as possible in vram, because I want to see if something like or close to Metal Slug animation is possible, because I'm a sucker for large animated objects. The DKC games are smoothly animated, but nothing is really that big, even most of the bosses. (I'd say King K. Rool is probably the most impressive, but there really isn't anything else going on.)
To toss out an idea I'm sure has been raised before, if what you're looking for is huge detailed bosses to fight, have you considered devoting a BG layer to them?
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How fast are you people at programming?

Post by Drew Sebastino »

psycopathicteen wrote:Plus, bosses get their own designated slot anyway, so they basically cheat their own system.
If you're talking about DKC, then I'd imagine so. Most of the bosses break if you try to put them in a level in that they sometimes will display garbage if anything else is around and they just don't work, like Very Gnawty jumps in place and is indestructible. The only boss that does work is Master Necky. It's kind of funny, because once you beat him, it shows the victory animation, and it shows the life counter go down right afterword and you loose a life instead of beating the level. I've done some crazy stuff to that game. One think that's funny is that you can put an enemy in one of the animal token bonus rooms and when you get hit, Donkey or Diddy Kong appear out of nowhere as if they were riding the animal. The game is probably set up to where they are always riding the animal in the bonus room, but that it is hardcoded to where they aren't being displayed. Quite a bit of stuff in the game is hardcoded.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How fast are you people at programming?

Post by Drew Sebastino »

Khaz wrote:To toss out an idea I'm sure has been raised before, if what you're looking for is huge detailed bosses to fight, have you considered devoting a BG layer to them?
There's more that's big than just the boss... I want to get as close to this as possible:

Image


And of course, there will still be a lot of big sprite objects around BG bosses.

Image

(Of course all that is really crazy, but I don't think I've ever even seen something remotely close to that done on the SNES. I think a large problem with a lot of companies that made arcade and console games is that they tried to treat vram as if it were chr rom in that they just dump all the graphics for the enemies and only change the character with DMA. Occasionally, halfway through the level, they may change out the enemy graphics, but often there are unused graphics in vram, for at least at the particular moment. I really want to see if I can get away with using 64x64 sized explotions, using double buffering somehow, or at least 48x48. Enemies don't have to explode, just vehicles and explosive crates or whatever, and I can make it to where all the explosions for each go off at the same time so it's only really like 2 64x64 explotions with double buffering, so 3/8 of vram or 1 of 2 and 1/2 of bandwidth.)
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: How fast are you people at programming?

Post by tepples »

Khaz wrote:So from a legal perspective as far as I am aware, somebody could take my demo rom and disassemble it, claim it was always theirs and build their own project out of it, and there'd be nothing I can do or say about it.
Copyright in all WTO member states is automatic upon creation of an original work. If you can demonstrate that you fixed a work in a storage medium on a given date, that's evidence of your authorship. Dropbox saves revision history of files uploaded to it; this can be used as a timestamp.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How fast are you people at programming?

Post by Drew Sebastino »

I just really don't see anyone disassembling Khaz's game out of all the SNES games that have been made.
Post Reply