Platform-a-lotis

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

Moderator: Moderators

Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: Platform-a-lotis

Post by Oziphantom »

My Clip notes on how to get a solid RPG with a 1/2 person team... Also given more fulltime or all out fulltime

1.) use 6502BDD to do all your I kill boss X which gives me Drop Y to let me do Z plot points
2.) use a 6502 simulator + Genetic Algortihm to run 1000s of battles and balance monster numbers/rates etc
3.) palette swap to the max

doing this should limit the amount of time spent on balance, code and leave you more time to make story and special effects. The game can be done with just place holder graphics and then you can farm out the designs etc, to people to get them done till you reach your ROM limit.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: Platform-a-lotis

Post by FrankenGraphics »

Speaking of balance, a good rule of thumb could be that without specific tactical input from a human player, the player characters should be statistically losing (over the course of several battles or just the one, depending on the tone of the game) in an area where monster and party levels match. This will help ensure that battles require the active attention of the player and keep them involved. The battle system should be built to support and reward involvement.
Encounters in which the party is significantly higher levels could be avoidable at the players' option (if random encounters are even used. I think it's a dated concept).
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: Platform-a-lotis

Post by Myask »

Oziphantom wrote:My Clip notes on how to get a solid RPG with a 1/2 person team...

farm out the designs
"How to do it with a 2-person team: hire more people"?

Also, I think you meant Cliff's Notes.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Platform-a-lotis

Post by tepples »

Myask wrote:"How to do [a substantial RPG] with a 2-person team: hire more people"?
I fail to see how the market for NES games in 2017 would support a large paid team. The compo prize isn't big enough for more than a hobby project. And which authors of homebrew NES games sold on a single-game cartridge since 2010 have released sales figures?
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: Platform-a-lotis

Post by Oziphantom »

Well you get the game done with 1/2 people and then when the game is done just needs blue square made look nicer, one could optionally bring on more people to just pixel stuff ;) as its not in the "notes" section. A few people use old skool art as a fun thing to escape the tedium of their art jobs, but don't have time to make a full thing, if they just do 2~5 monsters with 1 ~ 4 frames each that is a nice little fun project that won't take them long, couple of nights, a weekend etc. Or having a complete game one could line up some pixel artists and hit kickstarter with it.

Never heard of Cliff Notes... Clip Notes to me means means a list of things you put on the Clipboard. Back in the day when we used them and would carry notes on them. One also might make some "clippings"
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Platform-a-lotis

Post by dougeff »

Cliff's Notes (usually with 's, though I see the company now goes by cliffsnotes) are study aids. It's a condensed version of a large book, used by people who don't want to read the big book, but want to get a good grade on a book report in school.

People sometimes say "give me the Cliff's notes version" when they want a shorter explanation.
nesdoug.com -- blog/tutorial on programming for the NES
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: Platform-a-lotis

Post by zzo38 »

Oziphantom wrote:1.) use 6502BDD to do all your I kill boss X which gives me Drop Y to let me do Z plot points
What is 6502BDD?
(Free Hero Mesh - FOSS puzzle game engine)
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: Platform-a-lotis

Post by Myask »

tepples wrote:
Myask wrote:"How to do [a substantial RPG] with a 2-person team: hire more people"?
I fail to see how the market for NES games in 2017 would support a large paid team.
That was my point.
User avatar
gauauu
Posts: 779
Joined: Sat Jan 09, 2016 9:21 pm
Location: Central Illinois, USA
Contact:

Re: Platform-a-lotis

Post by gauauu »

Or instead of hiring twice the people, take twice the time. (assuming everyone on your team has the necessary skill sets). I mean, for most of us, this is a hobby. Who cares how long it takes if you're enjoying yourself.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Platform-a-lotis

Post by tepples »

gauauu wrote:I mean, for most of us, this is a hobby. Who cares how long it takes if you're enjoying yourself.
Hobby means you need to feed yourself otherwise.
User avatar
gauauu
Posts: 779
Joined: Sat Jan 09, 2016 9:21 pm
Location: Central Illinois, USA
Contact:

Re: Platform-a-lotis

Post by gauauu »

tepples wrote:
gauauu wrote:I mean, for most of us, this is a hobby. Who cares how long it takes if you're enjoying yourself.
Hobby means you need to feed yourself otherwise.

Yes..... But I'm not sure how that's relevant.

For the vast majority of us for whom this is a hobby, we choose how much time to devote to it. For me, it's a small percentage of my time, which is why my games take years to write. But if I want a game with more content, I can spend more years. (Without increasing the percentage of time I spend per week)

What I do with the rest of my time (work, family, etc), and how I feed myself, is irrelevant.
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: Platform-a-lotis

Post by Oziphantom »

zzo38 wrote:
Oziphantom wrote:1.) use 6502BDD to do all your I kill boss X which gives me Drop Y to let me do Z plot points
What is 6502BDD?
BDD is Behaviour Driven Design, its a evolution of TDD ( Test Driven Design ). The idea is you test the actual desired behaviour, not the internal logic. 6502BDD is the system hooked up to a 6502 emulator. It uses the Gerkin script implementation of BDD.
For example, on Squid Jump, the platform collision logic is complex ( I was trying to see if I could squeeze it into 4K, and I need every clock I can get ) so I could easily brake it.

Code: Select all

Feature: Test how Squid interacts with Platforms 

  Check squid against a bunch of platform types and make sure the right things happen

Scenario: Simple Solid
  Given I have a simple overclocked 6502 system
  And That does fail on BRK
  And I load prg "squid.prg_test"
  And I load labels "squid.acme"
  And I load bin "testLevels\simpleCollision.bin" at LevelData 
  And Joystick 2 is NONE
  When I execute the procedure at $810 for no more than 800000 instructions until PC = GFSM_Game
  And I write memory at playerY with 158
  And I continue executing until $403 = 150
  Then I expect to see playerY less than 200
  Then I expect to see playerY greater than 158
So this basically loads in my code, loads in the labels so I can reference things by label. Then I inject a test level, clear the joystick input, run the game set up which will plot the level etc for a while, then I move the player to 158, then I run the engine for 150 frames, then I make sure the player has hit the platform ( which is a little above the bottom of the screen), and I also make sure that the player fell under gravity.
Thus testing the player collides with a platform.
Then I have another one to test that a conveyer will a.) collide and b.) move the player to the right,

Code: Select all

Scenario: Simple Convayer Right
  Given I have a simple overclocked 6502 system
  And That does fail on BRK
  And I load prg "squid.prg_test"
  And I load labels "squid.acme"
  And I load bin "testLevels\simpleConRight.bin" at LevelData 
  And Joystick 2 is NONE
  When I execute the procedure at $810 for no more than 100000 instructions until PC = GFSM_Game
  And I write memory at playerY with 158
  And I continue executing until $403 = 150
  And I expect to see PlayerData_onGround equal 1
  And I expect to see playerX greater than 154
  And I expect to see playerY greater than 158
Then I also want to make sure that a player can't move right when on a normal platform

Code: Select all

Scenario: Can't move when on a platform R
  Given I have a simple overclocked 6502 system
  And That does fail on BRK
  And I load prg "squid.prg_test"
  And I load labels "squid.acme"
  And I load bin "testLevels\simpleCollision.bin" at LevelData 
  And Joystick 2 is NONE
  When I execute the procedure at $810 for no more than 800000 instructions until PC = GFSM_Game
  And I write memory at playerY with 158
  And I write memory at playerX with 152
  And I continue executing until $403 = 150
  And I write memory at $403 with 0
  And Joystick 2 is R 
  And I continue executing until $403 = 25
  And I expect to see playerX equal 152 
It takes about 12 seconds to run all my tests (the system is in JAVA ) but it lets me code fearlessly
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Platform-a-lotis

Post by Drew Sebastino »

Oziphantom wrote:For example, on Squid Jump, the platform collision logic is complex ( I was trying to see if I could squeeze it into 4K, and I need every clock I can get ) so I could easily brake it.
Wait... This?

Image
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: Platform-a-lotis

Post by Oziphantom »

Well not actually detecting if there is a platform or not, although there are char platforms, sprite platforms and pickups to detect, each with there own data structures to walk though. Its how the player has to react to said platforms, in that some will move them, some cause them to have a fixed momentum, some accelerate the player, some force you into a jump, which may or may not need to reset the jump counter. As I was tring to get it into 4K I was looking at making equations CanJump = OnPlatform OR (HasDoubleJump and NumJumps=1) OR (Not OnPlatform AND CanJumpTimer < 5) to keep the IF THEN cont down and squeeze out the bytes.These equations were very brittle. So to control the Physics FSM each platform needs to set the right flags, but to keep code down any shared settings are grouped into a single function, but I would change the settings which would work for 3 but then the 4th would need the flag not set etc. BDD6502 would find such cases in seconds.
User avatar
pubby
Posts: 583
Joined: Thu Mar 31, 2016 11:15 am

Re: Platform-a-lotis

Post by pubby »

I'm going to be judgmental and say you've added a lot of complexity to your little 4k game by adding all of that.

You've also added complexity to your description of it.
Post Reply