We're on Discord! Please join our server now if you don't want to miss anything! (More info) | Join the UCC4 contest! (More info)

* WalrusIRC & Discord main room

If you have a forum account, have more than 4 posts and are not part of a restricted usergroup, then you can chat in our main Discord server room directly from here and continue using the forums at the same time. Or you can join our server directly and access many more discussion rooms!

Author Topic: Dragon Warrior (-ish thing) CE  (Read 10777 times)

0 Members and 1 Guest are viewing this topic.

Offline xlibman

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Moderator
  • Forum Maintenance
  • Original 5
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 19061
  • Post Rating Ratio: +101/-5
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #30 on: May 26, 2017, 03:56:47 pm »
Good to hear. :D

I'll check my Cemetech PM's when I have a chance.
  • Calculators owned: TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nintendo Switch, Playstation TV

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline c4ooo

  • Pedanticity prevents ambiguity
  • Super User
  • CW Contest II Winner
  • *
  • Join Date: Aug 2015
  • Location: 127.0.0.1
  • Posts: 1035
  • Post Rating Ratio: +13/-4
  • Advanced forumer
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #31 on: May 26, 2017, 05:40:55 pm »
Adding the rooms themselves is super simple... hard-coding the transitions and the collision detection is what sucks :banghead:
Also @DJ Omnimaga can you check your Cemetech PM's ? (it has to do with this game)
Hardcodeing? This is how you should do it: :_)
Create an array of boolean values, one for each block, and set false if the block can be passed through and true if its solid. When you collide with a block, get the block's value from the array and prevent the player from moving in that direction if it is true.

Offline mazhat

  • Full User
  • Join Date: Mar 2017
  • Location:
  • Posts: 189
  • Post Rating Ratio: +8/-0
  • Edelweiss. Edelweiss.
    • /u/Mazhat
    • Mazhat
    • @Mazhat
    • MOS
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #32 on: May 26, 2017, 08:07:25 pm »
@c4ooo I personally use the following method, it's less efficient speed-wise,
but it saves space so you don't have to make a collision array and a map array:

I create an array with integer values.
Each value corresponds to a tile-type.
You check if the tile is passable or not (but now it's not boolean, you have to check every tile-type).
Both systems seem to work swell enough :^)
  • Calculators owned: TI-83Plus, TI-84Plus
  • Consoles, mobile devices and vintage computers owned: Samsung TAB A (Cheap), DSI, Rasperry PI 3
The Mogami River.

Offline c4ooo

  • Pedanticity prevents ambiguity
  • Super User
  • CW Contest II Winner
  • *
  • Join Date: Aug 2015
  • Location: 127.0.0.1
  • Posts: 1035
  • Post Rating Ratio: +13/-4
  • Advanced forumer
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #33 on: May 26, 2017, 10:13:52 pm »
@c4ooo I personally use the following method, it's less efficient speed-wise,
but it saves space so you don't have to make a collision array and a map array:

I create an array with integer values.
Each value corresponds to a tile-type.
You check if the tile is passable or not (but now it's not boolean, you have to check every tile-type).
Both systems seem to work swell enough :^)
I didnt mean collision array ;) I mean one boolean value for each tile. Then if you have a tile with ID 5, you check if the 5th element is true / false. This is the fastest / most efficient method possible.

Offline Pieman7373

  • Full User
  • Join Date: Jan 2017
  • Location: Lake Stevens, Washington, USA
  • Posts: 44
  • Post Rating Ratio: +1/-0
    • Pieman7373
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #34 on: May 27, 2017, 01:53:51 am »
I didnt mean collision array ;) I mean one boolean value for each tile. Then if you have a tile with ID 5, you check if the 5th element is true / false. This is the fastest / most efficient method possible.
The tilemap data cant even be checked while i am moving around, so i have to hardcode boundaries and  actions based on coordinates (a good 1/3 of my code is just that)


PROGRESS!!!!!!!!!!!!

Some pretty sexy progress, if i do say so myself :3

To-do List:
*Make a way to draw the 16x16 sprites on-calc (luv ya CalcMeister)
*Devise a method for drawing each screen and the transitions
*Add opening menu with option to either continue game or start new game
*game wont try to load a save if it is empty
*Implement saving (DONE! loading works on-calc, but not in CEmu for some reason)
*Add Player stats (i capped the gold at 5 digits, just for you, Kerm :3 )
*add function menus
*make quitting the game be a menu option, not pressing [clear]

*add the first town (60% done)
*Add the whole map (like 5% done)
*hardcode the boundaries for each screen (5% done)
*finish the menu menu (F4)
*add encounters, 1 in 30 chance per step, they just dont do anything important yet :P
(encounter chance will go up and down depending on the section of the world you are in)

*add items
*add fighting


(BTW, the numbers show up fine, CEmu is just weird with the screenshots sometimes, also, you arent gonna be able to change your stats like that in the game, that is just for debugging :) )
« Last Edit: May 27, 2017, 02:15:26 am by Pieman7373 »
  • Calculators owned: TI-80, TI-81, TI-82,TI-83+, TI-84+SE, TI-84 Pocket SE, TI-84+CSE, TI-84+CE, TI-89 Titanium, TI-92, TI-92 plus
  • Consoles, mobile devices and vintage computers owned: Atari 2600, Sega Genesis (model 2), Sega Game Gear, Playstation 2

Offline xlibman

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Moderator
  • Forum Maintenance
  • Original 5
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 19061
  • Post Rating Ratio: +101/-5
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #35 on: May 27, 2017, 05:12:15 pm »
Wait, you can't access Ice tilemap data for collision detection? O.O
  • Calculators owned: TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nintendo Switch, Playstation TV

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Unicorn

  • ??? ??? ??? ??? ???
  • Super User
  • CW Contest II - 2nd place
  • *
  • Join Date: Jan 2015
  • Location: ??? ??? ??? ??? ???
  • Posts: 2830
  • Post Rating Ratio: +5/-2
  • make :PICKACHUP: a thing!
    • Unicorn808
    • 114/11432
    • ??? ??? ??? ??? ???
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #36 on: May 28, 2017, 12:02:51 am »
Wowie! thats lookin quite awesome, lots of progress!
  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???

Offline Switchblade

  • Full User
  • Join Date: Mar 2017
  • Location:
  • Posts: 38
  • Post Rating Ratio: +1/-0
Re: Dragon Warrior (-ish thing) CE
« Reply #37 on: May 28, 2017, 01:45:04 am »
I didnt mean collision array ;) I mean one boolean value for each tile. Then if you have a tile with ID 5, you check if the 5th element is true / false. This is the fastest / most efficient method possible.
The tilemap data cant even be checked while i am moving around, so i have to hardcode boundaries and  actions based on coordinates (a good 1/3 of my code is just that)

If ICE is anything like Axe you should be able to check the tilemap data. If it is like Axe, you should check out the rpg example program that comes packaged with Axe.

Offline c4ooo

  • Pedanticity prevents ambiguity
  • Super User
  • CW Contest II Winner
  • *
  • Join Date: Aug 2015
  • Location: 127.0.0.1
  • Posts: 1035
  • Post Rating Ratio: +13/-4
  • Advanced forumer
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #38 on: May 28, 2017, 01:46:42 am »
I didnt mean collision array ;) I mean one boolean value for each tile. Then if you have a tile with ID 5, you check if the 5th element is true / false. This is the fastest / most efficient method possible.
The tilemap data cant even be checked while i am moving around, so i have to hardcode boundaries and  actions based on coordinates (a good 1/3 of my code is just that)

If ICE is anything like Axe you should be able to check the tilemap data. If it is like Axe, you should check out the rpg example program that comes packaged with Axe.
I dont think ICE has direct memory access. At least not the last time i talked to PT_

Offline Switchblade

  • Full User
  • Join Date: Mar 2017
  • Location:
  • Posts: 38
  • Post Rating Ratio: +1/-0
Re: Dragon Warrior (-ish thing) CE
« Reply #39 on: May 28, 2017, 01:51:28 am »
So you can't do something like this?

Code: [Select]
{pointer + 1}

Offline c4ooo

  • Pedanticity prevents ambiguity
  • Super User
  • CW Contest II Winner
  • *
  • Join Date: Aug 2015
  • Location: 127.0.0.1
  • Posts: 1035
  • Post Rating Ratio: +13/-4
  • Advanced forumer
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #40 on: May 28, 2017, 01:53:38 am »
So you can't do something like this?

Code: [Select]
{pointer + 1}
I dont think so, ask PT_. He did say he was going to add a command to read an address or something.

Offline xlibman

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Moderator
  • Forum Maintenance
  • Original 5
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 19061
  • Post Rating Ratio: +101/-5
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #41 on: May 28, 2017, 08:42:55 pm »
No pointers in ICE yet.
  • Calculators owned: TI-84 Plus C Silver Edition, TI-84 Plus CE, Casio fx-CG10
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nintendo Switch, Playstation TV

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Pieman7373

  • Full User
  • Join Date: Jan 2017
  • Location: Lake Stevens, Washington, USA
  • Posts: 44
  • Post Rating Ratio: +1/-0
    • Pieman7373
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #42 on: May 29, 2017, 03:14:56 pm »
Yeah, i have been working quite closely with @PT_  to make this  and i have helped him find many bugs and prompted the additions of new features. As of right now, i am pretty sure that i am doing it in the most efficient way possible...
But that is NOT very efficient at all  :crazy: 417 of my 888 lines of code are used to make the boundaries in just the 12 rooms that i have so far... there are 26 rooms in the first castle alone, and at least 6 or 7 more castles/towns... and that is not including the humongous overworld (@DJ Omnimaga) so... unless a more efficient way emerges, i will likely run out of space (or my program will become too large for ICE to hendle)
« Last Edit: May 29, 2017, 03:17:10 pm by Pieman7373 »
  • Calculators owned: TI-80, TI-81, TI-82,TI-83+, TI-84+SE, TI-84 Pocket SE, TI-84+CSE, TI-84+CE, TI-89 Titanium, TI-92, TI-92 plus
  • Consoles, mobile devices and vintage computers owned: Atari 2600, Sega Genesis (model 2), Sega Game Gear, Playstation 2

Offline PT_

  • Full User
  • Join Date: Mar 2016
  • Location:
  • Posts: 315
  • Post Rating Ratio: +16/-0
Re: Dragon Warrior (-ish thing) CE
« Reply #43 on: May 29, 2017, 03:22:48 pm »
Why don't you ask me for a small ASM snippet to check boundaries, instead of having 466 lines of code? :P

Offline Pieman7373

  • Full User
  • Join Date: Jan 2017
  • Location: Lake Stevens, Washington, USA
  • Posts: 44
  • Post Rating Ratio: +1/-0
    • Pieman7373
  • Gender: Male
Re: Dragon Warrior (-ish thing) CE
« Reply #44 on: May 29, 2017, 03:25:51 pm »
Hey, @PT_, Can i have a small asm snippet to check boundaries?

***Pieman7373 hides
  • Calculators owned: TI-80, TI-81, TI-82,TI-83+, TI-84+SE, TI-84 Pocket SE, TI-84+CSE, TI-84+CE, TI-89 Titanium, TI-92, TI-92 plus
  • Consoles, mobile devices and vintage computers owned: Atari 2600, Sega Genesis (model 2), Sega Game Gear, Playstation 2

 


You can also use the following HTML or bulletin board code to share it on your page or forum signature!


Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games