The Vicious Dead (jrpg)
Moderator: Moderators
The Vicious Dead (jrpg)
Title: The Vicious Dead
Current state: work in progress
Author: Ryan Liston
Genre: JRPG
Target: Vic 20 w/ 32k
Description : A horror themed turn based JRPG inspired by 80s horror films. Fight demonic creatures, collect artifacts, solve puzzles, explore and escape with your soul intact and your sanity in shreds.
Current state: work in progress
Author: Ryan Liston
Genre: JRPG
Target: Vic 20 w/ 32k
Description : A horror themed turn based JRPG inspired by 80s horror films. Fight demonic creatures, collect artifacts, solve puzzles, explore and escape with your soul intact and your sanity in shreds.
R'zo
I do not believe in obsolete...
I do not believe in obsolete...
Re: The Vicious Dead (jrpg)
R'zo
I do not believe in obsolete...
I do not believe in obsolete...
Re: The Vicious Dead (jrpg)
Looks very promising. One have to win against the tree to proceed to next cave, right?
Valid rule today as earlier: 1 Byte = 8 Bits
-._/classes instead of masses\_.-
-._/classes instead of masses\_.-
-
- Vic 20 Hobbyist
- Posts: 129
- Joined: Sun Dec 26, 2010 1:51 pm
Re: The Vicious Dead (jrpg)
Good spooky music and a nice atmosphere. I like that the monster looks like he's poking out of the frame. Gives it some depth.
Re: The Vicious Dead (jrpg)
The tree will just be a common world map enemy.
R'zo
I do not believe in obsolete...
I do not believe in obsolete...
Re: The Vicious Dead (jrpg)
Thank you. This being horror themed atmosphere will be prime. This will mean that music and graphics as well as special effects will get a large amount of attention. Having a good storyline that draws you in and pulls you through the game will be very important as well.malcontent wrote: ↑Sat Nov 14, 2020 10:07 am Good spooky music and a nice atmosphere. I like that the monster looks like he's poking out of the frame. Gives it some depth.
R'zo
I do not believe in obsolete...
I do not believe in obsolete...
Re: The Vicious Dead (jrpg)
Nice. Seems to hint at some Ash from Evil Dead themes, I like it. 'This is my boomstick!'
Re: The Vicious Dead (jrpg)
Are you influenced by Chaos by Julian Gollop on Spectrum or the derivative Arena by Cult Games on C64 (one of my favourites) ?
There was enchanted Mirkwood in those games that attacked the players.
Lots of ideas for creatures and undead characters to battle if that helps you develop your game.
Chaos Wiki
https://en.wikipedia.org/wiki/Chaos:_Th ... of_Wizards
Arena by Cult Games on C64
http://www.gamebase64.com/game.php?id=390&d=18&h=0
Vic20 Port with only text characters
viewtopic.php?f=10&t=8430&p=93325&hilit ... aos#p93325
There was enchanted Mirkwood in those games that attacked the players.
Lots of ideas for creatures and undead characters to battle if that helps you develop your game.
Chaos Wiki
https://en.wikipedia.org/wiki/Chaos:_Th ... of_Wizards
Arena by Cult Games on C64
http://www.gamebase64.com/game.php?id=390&d=18&h=0
Vic20 Port with only text characters
viewtopic.php?f=10&t=8430&p=93325&hilit ... aos#p93325
Vic20-Ian
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
The best things in life are Vic-20
Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
Re: The Vicious Dead (jrpg)
I've played the vic port of chaos. I have thought about doing something along those lines. My main influences (in terms of the games that made me want to write games) are early JRPGs. Games along the lines of dragon quest and final fantasy.
As far as the look and story goes I am drawing influence from 80s b-horror films themed around accidentally raising demons and undead. I.e. evil dead, house and the gate. I plan on making most of the enemies parodies of monsters that you will find in those movies as well as others.
This will be a turn based jpeg filed with nice graphics, atmospheric music, creepy monsters, maps to explore, puzzles to solve, items to find and a well thought out story line to carry you through the game.
R'zo
I do not believe in obsolete...
I do not believe in obsolete...
Re: The Vicious Dead (jrpg)
This is a demo over world map that I have designed to test out the games engine as I build it. Many of the graphics have undergone minor changes. I am now using only for colors per area. These colors will be global between each area map and it's enemies. This will save a decent amount of load time as well as ram and disk space.
I have also made changes to the screen setup. The game will now only use 1 screen ram area. When an enemy battle occurs an area of the map will be saved to ram, the enemy graphics will be printed over the map for battle then after the battle the map area will be reprinted over the enemy graphic.
This demo map is currently 3*3 map screens. The final overworld map will be 6*6 with a equally as large cave map to parallel it.
I have also made changes to the screen setup. The game will now only use 1 screen ram area. When an enemy battle occurs an area of the map will be saved to ram, the enemy graphics will be printed over the map for battle then after the battle the map area will be reprinted over the enemy graphic.
This demo map is currently 3*3 map screens. The final overworld map will be 6*6 with a equally as large cave map to parallel it.
R'zo
I do not believe in obsolete...
I do not believe in obsolete...
Re: The Vicious Dead (jrpg)
here is the source code for the music format that i have settled on for the game.
Code: Select all
export init
export alenc
*=$2000
vocl=$900a
vocm=$900b
voch=$900c
vocv=$900e
irqx=$eabf
n000 = $00
n001 = $08
n100 = $10
n101 = $18
n200 = $20
n201 = $28
n300 = $30
n301 = $38
n400 = $40
n401 = $48
n500 = $50
n501 = $58
n600 = $60
n601 = $68
n700 = $70
n701 = $78
n800 = $80
n801 = $88
n900 = $90
n901 = $98
na00 = $a0
na01 = $a8
nb00 = $b0
nb01 = $b8
n010 = $00+1
n011 = $08+1
n110 = $10+1
n111 = $18+1
n210 = $20+1
n211 = $28+1
n310 = $30+1
n311 = $38+1
n410 = $40+1
n411 = $48+1
n510 = $50+1
n511 = $58+1
n610 = $60+1
n611 = $68+1
n710 = $70+1
n711 = $78+1
n810 = $80+1
n811 = $88+1
n910 = $90+1
n911 = $98+1
na10 = $a0+1
na11 = $a8+1
nb10 = $b0+1
nb11 = $b8+1
n020 = $00+2
n021 = $08+2
n120 = $10+2
n121 = $18+2
n220 = $20+2
n221 = $28+2
n320 = $30+2
n321 = $38+2
n420 = $40+2
n421 = $48+2
n520 = $50+2
n521 = $58+2
n620 = $60+2
n621 = $68+2
n720 = $70+2
n721 = $78+2
n820 = $80+2
n821 = $88+2
n920 = $90+2
n921 = $98+2
na20 = $a0+2
na21 = $a8+2
nb20 = $b0+2
nb21 = $b8+2
n030 = $00+3
n031 = $08+3
n130 = $10+3
n131 = $18+3
n230 = $20+3
n231 = $28+3
n330 = $30+3
n331 = $38+3
n430 = $40+3
n431 = $48+3
n530 = $50+3
n531 = $58+3
n630 = $60+3
n631 = $68+3
n730 = $70+3
n731 = $78+3
n830 = $80+3
n831 = $88+3
n930 = $90+3
n931 = $98+3
na30 = $a0+3
na31 = $a8+3
nb30 = $b0+3
nb31 = $b8+3
n040 = $00+4
n041 = $08+4
n140 = $10+4
n141 = $18+4
n240 = $20+4
n241 = $28+4
n340 = $30+4
n341 = $38+4
n440 = $40+4
n441 = $48+4
n540 = $50+4
n541 = $58+4
n640 = $60+4
n641 = $68+4
n740 = $70+4
n741 = $78+4
n840 = $80+4
n841 = $88+4
n940 = $90+4
n941 = $98+4
na40 = $a0+4
na41 = $a8+4
nb40 = $b0+4
nb41 = $b8+4
;sound design
;{note index}={oct}+({simitone}*8)+({note}*16
; oct semitone note
; 000 0 0000
; 0-7 0-1 0-11
arang_l byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
arang_m byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
arang_h byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
arang_v byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
;{note index}=n(note)(octave)(tone)
;c=0,c#=1,d=2,d#=3,e=4,f=5,f#=6,g=7,g#=8,a=9,a#=a,b=b
;
patrn_n byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$00
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$10
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$20
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$30
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$40
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$50
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$60
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$70
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$80
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$90
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$a0
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$b0
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$c0
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$d0
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$e0
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$f0
patrn_s byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$10
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$20
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$30
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$40
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$50
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$60
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$70
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$80
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$90
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$a0
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$b0
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$c0
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$d0
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$e0
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$f0
patrn_v byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$10
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$20
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$30
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$40
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$50
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$60
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$70
;n(note)(octave)(tone)
;c=0,c#=1,d=2,d#=3,e=4,f=5,f#=6,g=7,g#=8,a=9,a#=a,b=b
sound_n byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$00
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$10
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$20
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$30
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$40
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$50
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$60
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$70
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$80
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$90
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$a0
byte n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000,n000 ;$b0
sound_v byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$00
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$10
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$20
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$30
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$40
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$50
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$60
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ;$70
speed byte $00
sndlen byte $0f
patlen byte $0f
snglen byte $00
;player 1rq
;-counters
spdc byte $00
slenc byte $00
plenc byte $00
alenc byte $00
;-play control
;0=stop:1=play:2=restart
cntrl byte $01
;-buffer
buff_l byte $00
;-player controls
;-loops if stop
start lda cntrl
cmp #$01
beq play_l
cmp #$02
beq rstart
jmp irqx
;-resets song settings and goes to play
rstart lda #$00
ldx #$00
rsloop sta spdc,x
inx
cpx #$04
bne rsloop
lda #$01
sta cntrl
;-player
;-gets arrangement data and store in buffer
play_l ldy alenc
lda arang_v,y
jsr play_3
sta vocv
lda arang_l,y
jsr play_2
sta vocl
lda arang_m,y
jsr play_2
sta vocm
lda arang_h,y
jsr play_2
sta voch
jmp timers
play_2 clc
adc plenc
tax
lda patrn_n,x
sta buff_l
lda patrn_s,x
clc
adc slenc
tax
lda sound_n,x
clc
adc buff_l
tax
lda notbl,x
rts
play_3 clc
adc plenc
tax
lda patrn_v,x
clc
adc slenc
tax
lda sound_v,x
sta buff_l
lda vocv
and #$f0
clc
adc buff_l
rts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;------------------
timers ldx #$00
timer lda spdc,x
cmp speed,x
beq trset
inc spdc,x
jmp irqx
trset lda #$00
sta spdc,x
inx
cpx #$04
bne timer
restrt lda #$02 ;loads accumulater with 2
sta cntrl ;sets song play controls to restart
jmp irqx
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; NOTE TABLE
;-tru int note table
;{note index}={oct}+({simitone}*8)+({note}*16
; oct semitone note
; 000 0 0000
; 0-7 0-1 0-11
;oct 0,1 ,2 ,3 ,4,5,6,7
notbl byte 0,255,191,223,0,0,0,0 ;c
byte 0,131,193,224,0,0,0,0 ;c+
byte 0,134,195,225,0,0,0,0 ;c#
byte 0,137,197,225,0,0,0,0 ;c#+
byte 0,141,198,226,0,0,0,0 ;d
byte 0,144,199,227,0,0,0,0 ;d+
byte 0,147,201,228,0,0,0,0 ;d#
byte 0,150,203,229,0,0,0,0 ;d#+
byte 0,153,204,228,0,0,0,0 ;e
byte 0,156,206,230,0,0,0,0 ;e+
byte 0,159,207,231,0,0,0,0 ;f
byte 0,162,208,231,0,0,0,0 ;f+
byte 0,164,210,232,0,0,0,0 ;f#
byte 0,167,211,233,0,0,0,0 ;f#+
byte 0,170,212,234,0,0,0,0 ;g
byte 0,172,213,234,0,0,0,0 ;g+
byte 0,174,215,235,0,0,0,0 ;g#
byte 0,176,216,235,0,0,0,0 ;g#+
byte 0,179,217,236,0,0,0,0 ;a
byte 0,181,218,236,0,0,0,0 ;a+
byte 0,183,219,237,0,0,0,0 ;a#
byte 0,185,220,238,0,0,0,0 ;a#+
byte 0,187,221,239,0,0,0,0 ;b
byte 0,189,222,238,0,0,0,0 ;b+
;-irq initializer
init sei
lda #>start
sta $0315
lda #<start
sta $0314
;cli from main program
rts
R'zo
I do not believe in obsolete...
I do not believe in obsolete...
Re: The Vicious Dead (jrpg)
Caves will be dark unless you have found a way to see in the dark. Here are demo pictures of the cavern screens dark and lit. Here are also my overworld and cave maps that I have designed to test the engine.
R'zo
I do not believe in obsolete...
I do not believe in obsolete...
-
- Vic 20 Hobbyist
- Posts: 129
- Joined: Sun Dec 26, 2010 1:51 pm
Re: The Vicious Dead (jrpg)
It sort of looks like the cave is an underworld, and connects to different overworld entrances? That gives a very open feel, even when you block areas with "keys". How much will you depend on the RPG style to limit the player's exploration? That is, what is blocking exploration? Certain adventure style items? or players not being able to overcome areas until they are strong enough to overcome the monsters? I'm just gonna guess cause of the multiple weapon/attack levels, this will be mostly about getting the fire power to succeed.