Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email
?
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Home
About
Team
Rules
Stats
Status
Sitemap
Chat
Downloads
Forum
News
Our Projects
Major Community Projects
Recent Posts
Unread Posts
Replies
Tools
SourceCoder3
Other Things...
Omnimaga Radio
TI-83 Plus ASM File Unsquisher
Z80 Conversion Tools
IES TI File Editor
Free RAM areas
Comprehensive Getkeyr table
URL Shortener
Online Axe Tilemap Editor
Help
Contact Us
Change Request
Report Issue/Bug
Team
Articles
Members
View the memberlist
Search For Members
Buddies
Login
Register
Omnimaga
»
Forum
»
Calculator Community
»
TI Calculators
»
TI-BASIC
»
world map
« previous
next »
Print
Pages: [
1
]
2
Go Down
Author
Topic: world map (Read 4251 times)
0 Members and 1 Guest are viewing this topic.
misirlou
Guest
world map
«
on:
December 13, 2006, 11:02:00 am »
Hey, me and my friend Stan are making a BASIC rpg for the calc. Any suggestions for the fastest and shortest(preferably in that order) way to make the map system (including walking around in it)?
Logged
Halifax
LV9
Veteran (Next: 1337)
Posts: 1334
Rating: +2/-1
world map
«
Reply #1 on:
December 13, 2006, 03:20:00 pm »
maybe you could be a little more specific about what you want. It really depends because some engines will perform fast but poorly with animations and some will be good with animations and maybe bad on moving. So like there are tradeoffs for stuff. So what are you going to add after you get the engine?
Logged
There are 10 types of people in this world-- those that can read binary, and those that can't.
tenniskid493
Guest
world map
«
Reply #2 on:
December 13, 2006, 05:27:00 pm »
xLIB would be helpful to you, but is also semi-advanced. If this is your first game, i would suggest staying with ASCII graphics on your homescreen.
here's a link to xLIB if you want to try it out:
http://www.ticalc.org/archives/files/fileinfo/359/35907.html
Logged
misirlou
Guest
world map
«
Reply #3 on:
December 14, 2006, 08:01:00 am »
I'm just using the BASIC that the TI-84 comes with, plus the hidden characters and some assembly programs to archive and unarchive subroutines. I was planning on the world to be made up of all characters, because its simple. I had a really simple one set up on the homescreen thats just made up of 9 screens worth of map that remains stationary while you move(screen doesnt follow you), but because i havent been programming too long i dont think its the most efficient. The only things i need to be able to do are random encounters, interacting w/ characters, walking of course, and a menu when you press 2nd. I can do all that, im just looking for suggestions on the best way of doing it. I'll try out xLIB.
Logged
Halifax
LV9
Veteran (Next: 1337)
Posts: 1334
Rating: +2/-1
world map
«
Reply #4 on:
December 16, 2006, 09:47:00 am »
yea necro or you could store the whole world into a string for smooth four way scrolling each way zelda style which is very easy to program
Logged
There are 10 types of people in this world-- those that can read binary, and those that can't.
misirlou
Guest
world map
«
Reply #5 on:
December 17, 2006, 08:12:00 am »
ty necro
That works well. The way I had it stored the entire map into one string.
Logged
DJ Omnimaga
Clacualters are teh gr33t
CoT Emeritus
LV15
Omnimagician (Next: --)
Posts: 55943
Rating: +3154/-232
CodeWalrus founder & retired Omnimaga founder
world map
«
Reply #6 on:
December 17, 2006, 08:26:00 am »
how big is the map?
Logged
Halifax
LV9
Veteran (Next: 1337)
Posts: 1334
Rating: +2/-1
world map
«
Reply #7 on:
December 17, 2006, 02:00:00 pm »
Umm necro its not that hard I made my four way scrolling engine with that in like 10 mins
If you want some code misirlou then just say so and I will post some four way scolling code with hit detection also and explain it in-depth
Another bonus to doing it my way is it makes everything smooth with map loading so everything seems like an ASCII assembly game. Necro's way shows the loading and takes 15 secs approx. to load than storing the world into a string and switching worlds into strings. If you think about it. Say you wanted to stream 6 worlds all 40x40 then you would store that into a string which would only be 1600 bytes. But with 6 worlds it would be 9600 bytes in all. So now when you stream them so there is no loading times then you just have the player move through one world and when he reaches the end then store the other world into the string and stuff like that. It's actually a pretty easy concept. Has anyone ever streamed worlds before? because I have thought about doing it cause then it an endless 240x240 world for the player to explore which would really add to gameplay. I would make some dev tools though because it would be unwieldy to hardcode the levels o.o
Logged
There are 10 types of people in this world-- those that can read binary, and those that can't.
misirlou
Guest
world map
«
Reply #8 on:
December 18, 2006, 10:30:00 am »
I'm not sure how big it will be yet. I would say it'll be pretty big, but that would tell you nothing. i tried 4-way scrolling, but my way made movement pretty slow. Can you post your code for me halifax w/ the hit detection? you dont need to really get into detail w/ explanation. I'm pretty sure i can understand it if i read it.
Logged
Halifax
LV9
Veteran (Next: 1337)
Posts: 1334
Rating: +2/-1
world map
«
Reply #9 on:
December 18, 2006, 03:06:00 pm »
Hmm sorry I don't have four way scrolling but I do have vertical scrolling with horizontal map shifting. srry it still looks good.
(main program)
c1-->
CODE
ec1
1->B:9->C:1->A:1->L:->M
While 1
Output(1,1,sub(Str1,A,128
Output(B,C,"X
Repeat K
fetkey->K
16B+C-16+(A-1)->D
If K=31:Then
prgmRECHK:1->A
End
16B+C-16+(A-1)->D
If K=34 or (K>=24 and K<=26)
Output(B,C,"
B+(K=34 and sub(Str1,D+16(D<145),1)=" ")-(K=25 and sub(Str1,D-16(D>16),1)=" "->B
C+(K=26 and sub(Str1,D+1,1)=" ")-(K=24 and sub(Str1,D-1,1)=" "->C
If B=7 and A!=S:Then
A+16->A:B-1->B
End
If B=2 and A!=T:Then
A-16->A:B+1->B
End
If C=16:Then
2-C
L+1->L
prgmRECHG
End
If C=1 and L>1:Then
15->C
L-1->L
prgmRECHG
End
End
c2
ec2
Now for prgmRECHG
c1
-->
CODE
ec1
If L=1:Then
33->S:1->T
"9x16 MAP"->Str1
End
If L=2:Then
33->S:1->T
"9x16 MAP"->Str1
End
c2
ec2
So basically in that Level 1 is a vertical scrolling map and when you reach the edge it changes to map 2 so basically L=1 for map 1 and L=2 for map 2 and so on. Now for RECHK
c1
-->
CODE
ec1
If L=1:Then
If D=1:Then
33->S:1->T
"map 1"Str1
If D>51 and D<54:Then
1->S:1->T:101->M
"8x16 dungeon"->Str1
End
If D=123:Then
1->S:1->T:101->M
"8x16 dungeon"->Str1
End
c2
ec2
Ok basically for that program put all the places where if someone pushes alpha they will be able to enter a room. You don't need the program though.
This stuff maybe complicated but don't worry about it because actually I am making a Psugen SDK for RPG's and it will do all this stuff for you. But anyways if you understand that good job and I hope you put it to use. You can use RECHK for NPC checking to but I didnt show that.
Logged
There are 10 types of people in this world-- those that can read binary, and those that can't.
misirlou
Guest
world map
«
Reply #10 on:
December 18, 2006, 03:56:00 pm »
ty, in my way the hit detection was in its own if statement so ill see if this speeds it up at all. If there isnt a faster 4-way scrolling, though, I'll just have it switch through several 8x16 maps for simplicity and speed. O and i noticed at the beginning you had "->M:While 1" how come this works? since a zero was the last thing you input, why doesnt it give a zero at the while command?
Logged
Halifax
LV9
Veteran (Next: 1337)
Posts: 1334
Rating: +2/-1
world map
«
Reply #11 on:
December 19, 2006, 11:48:00 am »
M has nothing to do with the while command and also four way scrolling is complicated. The vertical scrolling isn't but horizontal is. Think about it this is your string
"//11//11//11//11
11//11//11//11//"->Str1
To scroll horizonatally you will have to cut off every row. Which means that you would have to use a sub( for every row you have. So if you have 10 rows you need 10 subs and that will slow it down cause it has to go like this
/11//11//11//11
1//11//11//11//
to ...
11//11//11//11
//11//11//11//
and so on...
so I haven't found a good way to do it but maybe other people have
also another thing is putting it in its own statement will just slow it down. I have tested this through 100 iterations and If function has been proven to take 5 more seconds to execute overall so your losing speed trust me
Logged
There are 10 types of people in this world-- those that can read binary, and those that can't.
misirlou
Guest
world map
«
Reply #12 on:
December 21, 2006, 04:40:00 pm »
I've looked at xLIB, and I think I'm going to use it because the game will look 500% better. Thank you for your help though. I didnt think to use the sub( command in a binary test instead of a separate if statement.
Logged
misirlou
Guest
world map
«
Reply #13 on:
January 04, 2007, 02:24:00 pm »
ok, im using xlib, and its a great program, but im having a problem. This seems to me like it should be really simple and i feel stupid, but is there a way to get the tile to replace itself after the character moves off of it without recalling the whole map? o wait. nvm hahaha as i was typing it i thought of how to do it. To keep this post w/ a purpose, often when I am looking at threads, the page messes up and all the text is squished to the side, and the footer overlaps it. why is that happening? it had never happened before a few days ago.
Logged
Zeromus
Guest
world map
«
Reply #14 on:
January 30, 2007, 10:14:00 am »
4 way scrolling? Homescreen? ASCII?
http://tifreakware.net/tutorials/83p/b/cdi/l1.htm
is one of the fastest and easiest ways I know how
Logged
Print
Pages: [
1
]
2
Go Up
« previous
next »
Omnimaga
»
Forum
»
Calculator Community
»
TI Calculators
»
TI-BASIC
»
world map