Author Topic: ASCII World  (Read 7349 times)

0 Members and 1 Guest are viewing this topic.

Offline Yeong

  • Not a bridge
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3739
  • Rating: +278/-12
  • Survivor of Apocalypse
    • View Profile
ASCII World
« on: February 16, 2012, 09:28:25 pm »
First of all, screenshot.



I started this because I have to wait for my other calc to be returned and I was bored. :D
This is the pure TI-BASIC rpg game (maybe I might use xcopy later)
So far I made the inn, walking, and bit of status stuff.

Offline chattahippie

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 358
  • Rating: +27/-0
  • Super Member! :D
    • View Profile
Re: ASCII World
« Reply #1 on: February 16, 2012, 10:42:33 pm »
This looks amazing! :D
Honestly, when you talked to the innkeeper, I was expecting that awesome battle scene to appear :P

Offline Yeong

  • Not a bridge
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3739
  • Rating: +278/-12
  • Survivor of Apocalypse
    • View Profile
Re: ASCII World
« Reply #2 on: February 16, 2012, 10:43:37 pm »
lol :P
The talking engine will change later to one that looks like the intro scene. :)
Sig wipe!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: ASCII World
« Reply #3 on: February 16, 2012, 10:46:56 pm »
Seems nice, although the speed seems a bit slow by ASCII standard (the usual walking engine with no moving enemies runs at about 6-8 FPS in ASCII on a 84+ and with stuff moving around 1.5 to 3 FPS. You might need to put the events somewhere out of the main loop and only go through them when an event tile is detected while walking. (kinda like in Illusiat 13)

Offline chattahippie

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 358
  • Rating: +27/-0
  • Super Member! :D
    • View Profile
Re: ASCII World
« Reply #4 on: February 16, 2012, 10:46:57 pm »
Ooh, that would be cool, but I do like how simple it is now

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: ASCII World
« Reply #5 on: February 17, 2012, 03:47:24 am »
@DJ
Looks nice Yeong
I'm not a nerd but I pretend:

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: ASCII World
« Reply #6 on: February 17, 2012, 03:48:29 am »
Like DJ mentioned, the tilemapping seems a bit slow. Blakpilar and I played around with tilemappers awhile back and here's what we managed to get.

Spoiler For Spoiler:
Mine: Very fast map refresh (~0.1 seconds) and reasonably memory efficient, but slows down the farther along you go in the map. And yes that is an item collection system I'm showing in there. The refresh is fast enough to actually scroll.


Blakpilar's: insanely fast movement, but very slow to change the map and uses more memory to store the map.

I can't speak for blak, but I'm willing to help if you want to make it faster :)
« Last Edit: February 17, 2012, 03:49:35 am by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: ASCII World
« Reply #7 on: February 17, 2012, 05:18:05 am »
Looks nice Yeong. I caught a spelling error, Stelth should be spelled Stealth.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: ASCII World
« Reply #8 on: February 17, 2012, 09:35:02 am »
@DJ
Looks nice Yeong
I always forget to close parenthesizes in english O.O

Offline Yeong

  • Not a bridge
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3739
  • Rating: +278/-12
  • Survivor of Apocalypse
    • View Profile
Re: ASCII World
« Reply #9 on: February 17, 2012, 04:45:19 pm »
well, this is what it does during the loop:
-set character temporately
-walking engine(a program that contains displaying sprite and getkey stuff
-collision detection
-event trigger
Sig wipe!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: ASCII World
« Reply #10 on: February 17, 2012, 04:52:23 pm »
Ok, what I usually do personally for collision detection is make sure in the game there is only one or two tile you can walk on (for example, stairs and blank tiles). Then make sure every event tile is solid. If the character tries to walk on a solid tile, it either exits the entire walking loop or launch a sub-program (preferably the former) to check what kind of tile you just hit. If it's not an event, then it goes back in the walking loop, otherwise it checks what event needs to be launched. In any case, anything involving solid tiles occurs outside the walking loop. That speeds walking up considering, but only as long as you don't have like 5-6 tiles you can walk on. I did something similar in Reuben Quest and Illusiat 13. The only downside is that when you try to walk on a solid tile, there's a small delay before you can move again.

Offline Yeong

  • Not a bridge
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3739
  • Rating: +278/-12
  • Survivor of Apocalypse
    • View Profile
Re: ASCII World
« Reply #11 on: February 17, 2012, 04:57:07 pm »
this is how I handle collision detection:
I store 3 chars in Str2 that is walkable and store all map in Str1.
and I check if the tile I move next is walkable or not.
Sig wipe!

Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Re: ASCII World
« Reply #12 on: February 17, 2012, 07:22:54 pm »
@DJ
Looks nice Yeong
I always forget to close parenthesizes in english O.O
Too much TI-BASIC programming? :P
Anyways, I always love seeing new TI-BASIC projects pop up because it is a great language, if you use it correctly.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: ASCII World
« Reply #13 on: February 17, 2012, 07:45:40 pm »
I agree. In the past (and even today sometimes) I noticed that some people quickly judged it only based on the majority of the programs on ticalc.org. X.x

In some cases BASIC programming can almost be an art lol (although I guess it's true in ASM and other languages too)

Offline Yeong

  • Not a bridge
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3739
  • Rating: +278/-12
  • Survivor of Apocalypse
    • View Profile
Re: ASCII World
« Reply #14 on: February 18, 2012, 09:58:32 am »

Code: [Select]
::"TOWN CODE
:Lbl T1
:0→∟ADATA(80
:"XXXXXXXXXXXXXXXXX  [OOO]        X [OOOOO]       X  11I11        X  11M11     000X    0       0  X    0       0  X    000000000  →Str1
:" 0M→Str2
:Output(1,1,Str1
:prgmθWALK
:If U=16 and θ=26:Then:1→U:Goto T2:End
:If V=8 and θ=34:Then:1→V:Goto T3:End
:If U=6 and V=5:Then:7→V:8→U:Goto I1:End
:Goto T1

Code: [Select]
::"WALKING ENGINE
:3→Z:prgmθTRT
:Output(V,U,Ans
:DelVar θRepeat θ:getKey→θ:End
:16V-16+U+16(θ=34 and V≠8)-16(θ=25 and V≠1)+(θ=26 and U≠16)-(θ=24 and U≠1→T
:DelVar B
:sub(Str1,T,1
:If Ans=sub(Str2,1,1) or Ans=sub(Str2,2,1) or Ans=sub(Str2,3,1
:Then
:U+(θ=26 and U≠16)-(θ=24 and U≠1→U
:V+(θ=34 and V≠8)-(θ=25 and V≠1→V
:End
:If θ=31:prgmθMENU
:If θ=45:Then:U→∟ADATA(78:V→∟ADATA(79:ClrHome:AxesOn:FnOn :ZStandard:Stop:End

Code: [Select]
::" PART OF PRGM TRT
:If Z=3:Then
:"iθπ
:sub(Ans,∟ADATA(5)+1,1
:End


These are my main loop / walking code.
Can you see any way to make this faster?
Sig wipe!