10/31/2023: Localization News - Dead of the Brain 1!

No, NOT a trick, a Halloween treat! Presenting the Dead of the Brain 1 English patch by David Shadoff for the DEAD last official PC Engine CD game published by NEC before exiting the console biz in 1999! I helped edit/betatest and it's also a game I actually finished in 2023, yaaay! Shubibiman also did a French localization. github.com/dshadoff/DeadoftheBrain
twitter.com/NightWolve/PCENews
Main Menu

Galads Game Dev Thread

Started by Galad, 01/31/2018, 05:09 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

seieienbu

That's some good looking Ghosts and Goblins!

GnG seems like a good candidate for a Turbo port.  The NES version kinda sucks but the game is a classic and deserved a better port in its day.
Current want list:  Bomberman 93

Arkhan Asylum

Quote from: seieienbu on 02/19/2018, 02:28 AMThat's some good looking Ghosts and Goblins!

GnG seems like a good candidate for a Turbo port.  The NES version kinda sucks but the game is a classic and deserved a better port in its day.
yeah, how in the fuck is it that the C64 one was better than the NES one?

That's literally the opposite of every other Japanese NES arcade game.
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

seieienbu

I didn't know that there was a C64 version.  I just looked it up on youtube.  It looks a lot less jittery but doesn't seem to stack up to the NES version well aside from that as far as I could tell...
Current want list:  Bomberman 93

Arkhan Asylum

The original C64 one was actually playable and fun as opposed to the frustrating bullshit in the NES one.

and there was also a remake maybe 4ish years ago.
3 years ago!

This one is great.   Its proof the C64 could've had a ton of great arcade ports if the development teams weren't dipshits, lol.
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

Psycho Punch

Finally started programming a small game
Second update onwards: Ghosts and Goblins

Nice bait. =D>
This Toxic Turbo Turd/Troll & Clone Warrior calls himself "Burning Fight!!" on Neo-Geo.com
For a good time, reach out to: aleffrenan94@gmail.com or punchballmariobros@gmail.com
Like DildoKobold, dildos are provided free of charge, no need to bring your own! :lol:
He also ran scripts to steal/clone this forum which blew up the error logs! I had to delete THOUSANDS of errors cause of this nutcase!
how_to_spell_ys_sign_origin_ver.webp

Arkhan Asylum

Quote from: Psycho Punch on 02/19/2018, 11:12 AMFinally started programming a small game
Second update onwards: Ghosts and Goblins

Nice bait. =D>
GnG is small compared to GnG

wow if you don't type that out it's confusing lol

GHOSTS AND GOBLINS AND GHOULS AND GHOSTS AND BEARS OH MY.
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

Galad

#56
Quote from: Psycho Punch on 02/19/2018, 11:12 AMFinally started programming a small game
Second update onwards: Ghosts and Goblins

Nice bait. =D>
I took your comment as joking but I'll answer,and change the thread title.
I do have a lot of programming experience in assembly 'over 15 years',I don't want anyone to think I asked Arkhan a few questions on irc,looked at The Old Rovers source code and viola I can code games like Ghosts 'N Goblins.This is a site of mine that I lost interest in but it was going to be the games I've reverse engineered to share with other programmers.

https://retrocoding.weebly.com/

Arkhan Asylum

Yeah, Galad's not fresh out da boxxxxxxxxxxxxxxxxxxx.

IIRC, you said you do asm more than C, right?
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

Galad

Yes,but for my pc engine projects those are in C,assembly for anything outside of pc engine.Although I might use assembly for angled projectiles,I'm not quite sure how to implement them in C.


crazydean

GnG is a game that I've always wanted to play through. I'd love to see it ported to PCE!

OldMan

QuoteAlthough I might use assembly for angled projectiles...
What do you mean by "angled projectiles"?
Things that move at an angle, or things that will 'hit' only on an angle?

If that makes sense...

Galad

Quote from: TheOldMan on 02/19/2018, 05:16 PMWhat do you mean by "angled projectiles"?
Things that move at an angle, or things that will 'hit' only on an angle?

If that makes sense...
Yeah that makes sense and I should have clarified,Things that move at an angle.

Arkhan Asylum

lol doing everything in assembly is faster, so just skip C and go straight for what you're already comfortable with.

This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

OldMan

QuoteThings that move at an angle.
45 degrees is easy. Just update X and Y.
Other angles....

if you limit the sprite position to 256 (ie, don't track sprite in world coordinates),
you can use the low byte of an int for a fractional amount. It should roll over into high byte when needed, and you can shift it into position for the sprite coord.

for world coords, use an int/char pair. use char to count steps, and bump the int when the steps are up.
It's easier to do than explain, so i suspect you'll have no problem :)


...and yeah, it's easier in asm.

Arkhan Asylum

It's called fixed-point, and galad probably already understands how to do that, lol.   If not, it's not horrible to deal with. 


That's what you end up using for floaty physics (like Atlantean)
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

Psycho Punch

Quote from: TheOldMan on 02/19/2018, 07:04 PM45 degrees is easy. Just update X and Y.
Yes, just add 0.707 to X and Y.

Brought to you by the Citizens Against Faster Diagonal Movement Association of America
This Toxic Turbo Turd/Troll & Clone Warrior calls himself "Burning Fight!!" on Neo-Geo.com
For a good time, reach out to: aleffrenan94@gmail.com or punchballmariobros@gmail.com
Like DildoKobold, dildos are provided free of charge, no need to bring your own! :lol:
He also ran scripts to steal/clone this forum which blew up the error logs! I had to delete THOUSANDS of errors cause of this nutcase!
how_to_spell_ys_sign_origin_ver.webp

Arkhan Asylum

Quote from: Psycho Punch on 02/19/2018, 07:59 PMBrought to you by the Citizens Against Faster Diagonal Movement Association of America
This made me lol
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

ParanoiaDragon

Quote from: Psycho Arkhan on 02/19/2018, 05:22 PMlol doing everything in assembly is faster, so just skip C and go straight for what you're already comfortable with.
Yeah, I was thinking(as a non coder) ASM is the best way to go, though, I thought it was supposed to be more complicated maybe compared to C?  ASM is more stable & powerful or something, or am I just talkin' out my botox?  :-P
IMG

elmer

Quote from: Psycho Arkhan on 02/19/2018, 12:18 AM
Quote from: elmer on 02/18/2018, 05:49 PMI gave you a working version of Squirrel that had been modified for the new HuC nearly a year ago.
Yea, kinda.   You changed register names, and I *think*(?) maybe made it so only vsync based timers worked with Squirrel.    It's been awhile since I looked since I don't use your HuC.   Maybe this isn't the case.

Anyway, you're the one that broke the semantic versioning concept with your changes.   Should've called it HuC 4, lol. 

Don't put the onus on us to update something that you rendered not working.   Go ahead and give out/post your patched up version.   Just make sure you explain the who/what/when/where/why of it.
Actually, Uli Hecht was the guy that changed the zero-page parameter names for the assembly variables, in order to stop them from conflicting with regular C variable names.

It was one of his many, many improvements to HuC.

I just changed his variable names again to make them consistent with the standard C naming convention for internal variables.


You are right, it would have been rude for me to have expected you to make lots of changes to Squirrel in order to have it work with the new HuC.

So, I didn't.

Instead, I took the time to look at Squirrel, and made a bunch of small modifications to it so that the same code would work with both the old and new versions of HuC.

Then I gave the changes to you, and asked you to make the single-character change to your proprietary, closed-source Squirrel MML converter tool, that would make the whole package releasable for folks that wanted to use the same version of Squirrel interchangeably with both the old and new versions of HuC.


Since, a year later on, you have indicated that you don't wish to do that, and have now given me permission to openly distribute the modified version of Squirrel, then I can just write a small filter program to change the output of the Squirrel MML converter so that it will work.

If someone really wants to use Squirrel with the new version of HuC, then I will have a reason to do that.


QuoteThat's where you're likely going to get into the whole "open source/licensing/omfg what now" hoojoo, but it's like, this is shit about 6.5 people are using in the grand scheme of things.
Huh??? Where did this come from???

We settled the whole Squirrel/Open-Source question a couple of years back, and I totally respect your wish to keep your code private and closed-source.

I don't particularly like it, but I do totally respect it ... it's your code to do with as you wish.


But it's that decision, plus the appearance of all of michirin9801's wonderful PCE DefleMask tunes, that spurred the creation of Huzak.


QuoteAs you and others repeatedly point out, MML is so 1980s, nobody is going to use it, and Deflemask+your new sound engine will stop judgment day, so what's the point anyways?  :lol: 
DefleMask+Huzak definitely won't "stop judgment day", but they will certainly give PCE musicians and developers an alternative to Squirrel.

Are you trying to discourage developers/musicians from using Squirrel, if they wish to use the new version of HuC?

Arkhan Asylum

Quote from: elmer on 02/20/2018, 01:47 AMActually, Uli Hecht was the guy that changed the zero-page parameter names for the assembly variables, in order to stop them from conflicting with regular C variable names.

It was one of his many, many improvements to HuC.

I just changed his variable names again to make them consistent with the standard C naming convention for internal variables.
Ah, well, this is where it should have been changed to HuC 4, as it breaks compatibilty with anything prior.

Fortunately, as mentioned, we have about 6.5 (6.75?) people doing devwork, so it's not going to cause some great uproar or confusion really. 

QuoteYou are right, it would have been rude for me to have expected you to make lots of changes to Squirrel in order to have it work with the new HuC.

So, I didn't.

Instead, I took the time to look at Squirrel, and made a bunch of small modifications to it so that the same code would work with both the old and new versions of HuC.

Then I gave the changes to you, and asked you to make the single-character change to your proprietary, closed-source Squirrel MML converter tool, that would make the whole package releasable for folks that wanted to use the same version of Squirrel interchangeably with both the old and new versions of HuC.
Correct us if we're wrong, mainly OldMan as he looked at it last, doesn't it (Squirrel) not work with anything but vsync timers using the new HuC?  If that's the case, it severely limits it's functionality to the point where there isn't really a point in using it.   The vsync timer sucks.

As for a single character change to the conversion utility, either there was a miscommunication (likely) or there is more to it.  I don't recall much of that so that might have been between yourself and OldMan.

That was all happening while I was finishing Inferno, so I wasn't doing anything PCE related except posting and occasionally reading stuff.   

I try to work on one thing at a time so they get finished.  I don't like bouncing around.

QuoteSince, a year later on, you have indicated that you don't wish to do that, and have now given me permission to openly distribute the modified version of Squirrel, then I can just write a small filter program to change the output of the Squirrel MML converter so that it will work.

If someone really wants to use Squirrel with the new version of HuC, then I will have a reason to do that.
It's not like you needed permission, since you just admitted that you'd been handing it out anyways, lol.

QuoteHuh??? Where did this come from???
I don't know.  You just have a tendency to get overly pedantic at the strangest of times.

QuoteBut it's that decision, plus the appearance of all of michirin9801's wonderful PCE DefleMask tunes, that spurred the creation of Huzak.
I really doubt the non-open nature of an MML to PCE conversion utility is what spurred the creation of Huzak, lol.   I'm certain it's just the appearance of covers of chiptunes on PCE with no means to play them on real hardware.   If the Deflemask stuff wasn't being pumped out for PCE, I really doubt you'd have bothered simply because of Squirrel/MML.   I figure you would've just made fun of MML, and done nothing else really.

QuoteDefleMask+Huzak definitely won't "stop judgment day", but they will certainly give PCE musicians and developers an alternative to Squirrel.
Definitely.  It might be the first time tracker-related chiptuning on the PCE is released in any functional capacity.

QuoteAre you trying to discourage developers/musicians from using Squirrel, if they wish to use the new version of HuC?
No, lol. 

MML discourages people in the first place.  Not sure if you noticed, nobody really uses it anyways because everyone's basically telephone gamed the woes and fears of the dreaded MML to the point where nobody can be bothered to even actually try it.

I was just operating under the assumption it doesn't really work right so no point bothering. 

If it's something that is easy to sort out, now that I'm not doing an MSX project outside of gluing things together in a poorly ventilated room, I could fuck around with it.
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

OldRover

MML isn't hard unless you're afraid of big scary letters.
Turbo Badass Rank: Janne (6 of 12 clears)
Conquered so far: Sinistron, Violent Soldier, Tatsujin, Super Raiden, Shape Shifter, Rayxanber II

Gredler

I've tried MML  a bunch, and made a "song " and sound effects with it, but i am not a sound guy let alone a musician... yet ;)


That being said, I don't care if it's huzak or aquirrel, as long as it works and the avg joe musician can crank out some tunes with it.

Arkhan Asylum

Quote from: The Old Rover on 02/20/2018, 08:50 AMMML isn't hard unless you're afraid of big scary letters.
IMG

TRIGGGERRRRRRRED

lol
This "max-level forum psycho" (:lol:) destroyed TWO PC Engine groups in rage: one by Aaron Lambert on Facebook "Because Chris 'Shadowland' Runyon!," then the other by Aaron Nanto "Because Le NightWolve!" Him and PCE Aarons don't have a good track record together... Both times he blamed the Aarons in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged, destructive, toxic turbo troll gang!

Galad

#73
TheOldMan,thank you and I appreciate the info but I'm going to go for fixed point implementation in asm as that is easier for me.Your comment wasn't a waste though as I did learn something from you.

Galad

#74
Quote from: Psycho Arkhan on 02/19/2018, 07:22 PMIt's called fixed-point, and galad probably already understands how to do that, lol.   
Indeed I do

Quote from: Psycho Arkhan on 02/19/2018, 05:22 PMlol doing everything in assembly is faster, so just skip C and go straight for what you're already comfortable with.
Arkhan I don't know why I didn't listen to you as that's the second time you've suggested that,If I would have just listened I could have saved myself hours,instead of screwing around with what I was doing.I lost development time over this.And yes my code  is working 100% now
in assembly,Thanks for the help gentlemen.

OldMan

Quote... I'm going to go for fixed point implementation in asm as that is easier for me
As would I, personally. It's easier to do and will probably end up much faster. :)

The point however, was that a similar thing can be done in C. Not sure why anyone
would want to, but it is possible. :)

[For when you get farther along in this: #asm/#endasm blocks are very useful in HuC. You can
write and debug code in C, and translate it to asm quite easily, and semi-invisibly ]

ParanoiaDragon

Anything new to show, looking forward to your coding progress!
IMG

Galad

#77
The last part I coded was the sprites"grave stones"that scroll,Ive been busy with porting the balloon game code to z80 assembly"master system" and writing the floor effect in Space Harrier.I know that's disappointing for others that are/did follow the progress,when I'm done I'll come back to these.


  call Do_HandleColorRotation
  ld hl,ColorPaletteArray
  ld de, $C000                ;Color Ram Address
  rst DEToVDPControl
  ld c, Port_VDPData
  call Do_UpdatePaletteColors
  jp Label24
;-------------------------------------------------------------
Do_HandleColorRotation:
  ld hl,ColorRotationDelay
  dec (hl)                            ;Decrement ColorRotationDelay
  ret p
  ld a, (ColorRotationDelayC)
  ld (hl), a                          ;ReInit ColorRotationDelay
  inc hl
  ld a, (hl)
  dec (hl)                            ;Decrement ColorRotationIndex
  jp p, +
  ld (hl),$07                         ;ReInit ColorRotationIndex
+:
  and %00000111
  ld bc, (ColorsToRotate)
  ld l, a
  ld h, $00
  add hl, hl
  ld de,ColorRotationFunctionTable
  add hl, de
  ld a, (hl)
  inc hl
  ld h, (hl)
  ld l, a
  jp (hl)
;-------------------------------------------------------------
ColorRotationFunctionTable:
.dw ColorRotationFunction1
.dw ColorRotationFunction2
.dw ColorRotationFunction3
.dw ColorRotationFunction4
.dw ColorRotationFunction5
.dw ColorRotationFunction6
.dw ColorRotationFunction7
.dw ColorRotationFunction8
;-------------------------------------------------------------
ColorRotationFunction1:
  ld hl,ColorRotationArray
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  ret
;-------------------------------------------------------------
ColorRotationFunction2:
  ld hl,ColorRotationArray
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), b         ;DarkGreen
  ret
;-------------------------------------------------------------
ColorRotationFunction3:
  ld hl,ColorRotationArray
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  ret
;-------------------------------------------------------------
ColorRotationFunction4:
  ld hl,ColorRotationArray
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  ret
;-------------------------------------------------------------
ColorRotationFunction5:
  ld hl,ColorRotationArray
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  ret
;-------------------------------------------------------------
ColorRotationFunction6:
  ld hl,ColorRotationArray
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), c         ;Light Green
  ret
;-------------------------------------------------------------
ColorRotationFunction7:
  ld hl,ColorRotationArray
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  ret
;-------------------------------------------------------------
ColorRotationFunction8:
  ld hl,ColorRotationArray
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), b         ;DarkGreen
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  inc hl
  ld (hl), c         ;Light Green
  ret
;-------------------------------------------------------------
.



ParanoiaDragon

Well, either way, I look forward to more PCE progress when you get around to it!
IMG