It is currently Fri Nov 16, 2018 5:02 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 27 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Wed Oct 17, 2018 5:30 pm 
Offline
User avatar

Joined: Wed Oct 15, 2008 11:50 am
Posts: 943
I like to start with a 12 pack of colored pencils and a graphing notebook.

[Big image]


Top
 Profile  
 
PostPosted: Fri Oct 19, 2018 8:31 am 
Offline

Joined: Tue Aug 28, 2018 8:54 am
Posts: 65
Location: Edmonton, Canada
Banshaku wrote:
There is a good part that I had to stop so "working" is quite a loose term in that case even though I had the project all the time in the back of my head but now I can put a little bit of time on it, which is refreshing. At that pace, I will match the same schedule as duke nukem forever :lol:

As for little projects, it can be interpreted in many ways. For example, if you scope is quite big, trying to build everything in one shot is quite hard. In assembler, one bug sometime can make thing fails many places (especially when you refactor the names and now everything goes south by accident ^^;;) and hunting it on a huge scale is hard. For your situation, the little projects would be "units" that can be used in your goal projects, code that can be reused with ease. Those units could be the 4 way scrolling, handling meta-sprites format, compression of data, handling of music and sfx, AI, intro/cut scene management, fx with raster etc.

By separating in smaller units/projects with test assets, it will be easier to manage and you will have re-usable code for later. And isolating the feature will make it easier to debug, which is a plus.


So as of now my plan:
1. Add two screens and transition between them
2. Add barely prototype of the important interfaces
3. Add enemies and basic AI and combat mechanics

Use open game art and forget about being fancy.

P.S. Duke Nukem Forever eventually came out ;)

tokumaru wrote:
Maybe use one of the emulators with Lua scripting (FCEUX, Mesen) and write most of the game in Lua? I don't know if you can manipulate the memory-mapped registers directly from Lua or how that works in regards to timing, but even if you have a ROM with just a vblank handler to dump buffers to the PPU, the rest of the logic could all be Lua.


Actually, I need to take a look at it. I was just thinking yesterday, that It would be cool if some emulator provided a programming interface, that I can plug my code in instead of the CPU and Memory and work with PPU/APU directly ignoring timings. Otherwise I need to program all simulation myself.

Brad just posted Lizard code, where PC version is developed on emulated ppu/apu layers. But I'm much more comfortable with C#, compared to C++ to use his code. Maybe I'll port it.

qbradq wrote:
I like to start with a 12 pack of colored pencils and a graphing notebook.


I'm really bad at drawing by hand. I use Paint.net for that...


Top
 Profile  
 
PostPosted: Sat Oct 20, 2018 3:30 pm 
Offline
User avatar

Joined: Wed Oct 15, 2008 11:50 am
Posts: 943
I could have said more :) I am on my phone so it's hard. When prototyping use the fastest thing that answers the questions you have. A lot of times drawing what you are thinking about is the fastest and easiest. Even if it's all straight lines and stock figures. That's what I start with :)


Top
 Profile  
 
PostPosted: Sun Oct 21, 2018 6:52 pm 
Offline

Joined: Mon Apr 07, 2008 6:08 pm
Posts: 334
Location: Missouri
The Lua scripting feature of FCEUX provides access to NES cpu memory so it's definitely possible to prototype the gameplay on the Lua side. Though as Tokumaru hinted, the rom should still have a typical NMI update routine. A minimal loop looks like this:

Code:
while(true) do
   emu.frameadvance()
   
   --game loop goes here
end



I'm not sure if it's possible to keep absolutely all the code in Lua; you'd probably have to poll the vblank flag instead of using an NMI.


Top
 Profile  
 
PostPosted: Tue Nov 13, 2018 11:03 am 
Offline
User avatar

Joined: Sat Nov 10, 2018 7:35 am
Posts: 10
I'd be tempted to suggest the use of NDS / GBA as a platform to quickly prototype NES stuff. You would have tiled graphics, multi-track sound (including with pulse generators in the case of the GBA) and NES-like input. You would have access to high-level language and about 10x more CPU power.

Of course, this is said by someone who's been doing NDS development and no NES development so far, so better cross-check that with people who have first-hand experience.

_________________
Image - may the source be with you.


Top
 Profile  
 
PostPosted: Tue Nov 13, 2018 12:13 pm 
Offline
User avatar

Joined: Sat Jan 09, 2016 9:21 pm
Posts: 501
Location: Central Illinois, USA
PypeBros wrote:
I'd be tempted to suggest the use of NDS / GBA as a platform to quickly prototype NES stuff. You would have tiled graphics, multi-track sound (including with pulse generators in the case of the GBA) and NES-like input. You would have access to high-level language and about 10x more CPU power.

Of course, this is said by someone who's been doing NDS development and no NES development so far, so better cross-check that with people who have first-hand experience.


There's a number of similarities between the platforms, but:

- If you just want a platform to test game ideas, something PC-based would be easier and allow more rapid development than GBA/DS.
- If you care about NES restrictions (palette issues, attributes, etc), then the GBA won't help you test that. Using Lua on an emulator would be a pretty good way to force yourself to use NES limitations but with a higher-level language.

(I do think the GBA is a great system to get started with for learning console development, as it has many of the same general ideas as NES, but is much easier. But I'm just not convinced it would be advantageous for prototyping NES games.)

_________________
My games: http://www.bitethechili.com


Top
 Profile  
 
PostPosted: Wed Nov 14, 2018 10:57 am 
Offline

Joined: Tue Aug 28, 2018 8:54 am
Posts: 65
Location: Edmonton, Canada
I agree with you gauauu. To develop on NES I need to know NES. Learning another platform will make everything even harder, I would rather use something like godot instead then. For now I've decided just program on the NES directly. If I knew the system well enough, I could just use lua or NES-like graphics simulation layer. I spend an hour rendering metasprite from nesst, always getting lost when I need to check < or > for the variable, but by the other hand I learn from those issues.


Top
 Profile  
 
PostPosted: Wed Nov 14, 2018 12:24 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10972
Location: Rio de Janeiro - Brazil
Most people developing for retro consoles don't do it because it's practical, or commercially viable, or just for the heck of targeting any old hardware. They do it because they love the consoles. For this reason, I think it's pointless to recommend they use another retro machine that happens to be "somewhat easier to program" in order to learn or prototype stuff. Easier or not, each machine has its own set of idiosyncrasies and will require effort to master, and hardly anyone will have the motivation to put that effort into something that isn't their actual goal.

If you're gonna go retro, don't waste your brain cells learning about a machine you have no interest in making something for, just learn the thing you actually want to learn. If you do feel the need to start with something simpler/faster, better go with something more modern on the PC, something popular with good support that you might even profit from in the future in case you decide to.


Top
 Profile  
 
PostPosted: Wed Nov 14, 2018 4:17 pm 
Offline

Joined: Fri Jul 04, 2014 9:31 pm
Posts: 968
PypeBros wrote:
NDS
Quote:
about 10x more CPU power

67 MHz ARM9 vs. 1.79 MHz 6502 is more like 300x more CPU power, isn't it? Probably more, considering few chips are as dependent on bus throughput as a 6502. Even the GBA's ARM7 should be way more powerful per MHz than the NES CPU...


Top
 Profile  
 
PostPosted: Wed Nov 14, 2018 11:45 pm 
Offline
User avatar

Joined: Sat Nov 10, 2018 7:35 am
Posts: 10
Quote:
something PC-based would be easier and allow more rapid development than GBA/DS.


I must really have trouble with getting started with multimedia programming on a PC, then ^^"

_________________
Image - may the source be with you.


Top
 Profile  
 
PostPosted: Thu Nov 15, 2018 5:48 am 
Offline

Joined: Sun Mar 08, 2015 12:23 pm
Posts: 286
Location: Croatia
qbradq wrote:
I like to start with a 12 pack of colored pencils and a graphing notebook.

[Big image]

Am I the only one who did this as a kid 10 years ago in my sketchbook when I was still wondering what kind of magical mechanism is used for CPU opcode execution and collission detection? XD All without knowing that this was done way back before me!? WHY DO I ALWAYS INVENT THINGS THAT ALREADY EXIST WITHOUT KNOWING THAT THEY ALREADY EXIST!? XDDDDD


Top
 Profile  
 
PostPosted: Thu Nov 15, 2018 10:30 am 
Offline

Joined: Tue Aug 28, 2018 8:54 am
Posts: 65
Location: Edmonton, Canada
PypeBros wrote:
Quote:
something PC-based would be easier and allow more rapid development than GBA/DS.


I must really have trouble with getting started with multimedia programming on a PC, then ^^"


Using "DrawString" in GDI (windows) is much simpler than than setting up palettes, creating CHR banks and writing to nametable (NES). I'm not even talking about 2d engines. I'm trying to make something for NES because of the limitations. I am not an artist, and I will not make anything visually interesting for PC. I might make something visually interesting for NES dough.

But to be fair so far I made text-only dialogue system, and just made my first sprite animate and move around the screen. Not the greatest accomplishment.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 27 posts ]  Go to page Previous  1, 2

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group