Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => Topic started by: Halifax on October 22, 2006, 11:44:00 am

Title: Reign of Ejaran Main
Post by: Halifax on October 22, 2006, 11:44:00 am
I will be posting all pictures and stuff in here and right now ROE has no storyline but I am trying to think I some. I will be trying to make it have over 200 items in the game if possible so it is really in-depth and will also have cutscenes.
Title: Reign of Ejaran Main
Post by: DJ Omnimaga on October 22, 2006, 01:29:00 pm
wow that will be a lot O_Oshocked2.gif, start small tho then later add more stuff and remember to work with one thing at once :)smile.gif
Title: Reign of Ejaran Main
Post by: Halifax on October 22, 2006, 02:30:00 pm
Here is my title screen for now, but it has no background so if anyone could come of with a cool background or anything it would be nice of you to post it  ;)wink.gif
Title: Reign of Ejaran Main
Post by: DJ Omnimaga on October 22, 2006, 02:36:00 pm
wow great so far, what kind of bg would u like?
Title: Reign of Ejaran Main
Post by: Halifax on October 22, 2006, 02:43:00 pm
anything that looks good rele
Title: Reign of Ejaran Main
Post by: DJ Omnimaga on October 22, 2006, 02:50:00 pm
I,ll try to come with something, what will the game be about? this may inspire me. In the mean time did u saw the tilesets i posted in the other ROE topic, which I moved in this sub forum?
Title: Reign of Ejaran Main
Post by: Halifax on October 22, 2006, 02:55:00 pm
Yes I saw them and also the game is about roaming over wide lands and fighting mythical monsters while meeting people along the way and the setting is in 1342 if that helps at all.
Title: Reign of Ejaran Main
Post by: DJ Omnimaga on October 22, 2006, 03:41:00 pm
aaah i see, I'll try to come up with something related with that, altough I fear I,ll have to find some kind of dark bg x.x
Title: Reign of Ejaran Main
Post by: Halifax on October 23, 2006, 02:32:00 pm
Basic Storyline(may edit):
A son named Anahis was once banished by his father, Ejaran, 12 years ago. Anahis did not seek revenge. He sought compassion and love from his, so distant, father. For 11 long years he roamed the paths outside of the kingdom, only to be denied acess time and time again. Anahis soon found a girl that he could confide in. Jacey, the young girl, was not after Anahis' love, she wanted him because of his position in Ejaran's Family. Jacey held a grudge for 14 long years, after her dad was brutally murdered by Ejaran himself, and it grew after her husband died in war fighting for Ejaran. Anahis, not knowing anything about life, because he was banished at 11 years old, and nothing about what to feel, was ready to listen and do whatever anyone told him was right. The timing was ripe as the Julimas kingdom was currently entangled in warfare with Ejas and Trisium kingdom. Ejaran's kingdom was crumbling and Jacey wasn't about to let her chance die of repaying Ejaran for her deep sadness.
Title: Reign of Ejaran Main
Post by: DJ Omnimaga on October 24, 2006, 03:11:00 am
wow very nice story/intro, I like it a lot, I dunno if I,ll be able to find something good for title screen but I'll try :)smile.gif
Title: Reign of Ejaran Main
Post by: Halifax on October 24, 2006, 12:20:00 pm
You can find a background for a white setting not a black one if that helps you and if you can't then it's ok I will try to make my own and thanks yeah it took me like 2 hours to think of/write that storyline intro
Title: Reign of Ejaran Main
Post by: DJ Omnimaga on October 25, 2006, 09:11:00 am
yeah i think we will have issue seeing the text at all with a light bg, i may need to invert it if i use one
Title: Reign of Ejaran Main
Post by: Halifax on October 25, 2006, 02:56:00 pm
Oh I was just saying you could change the white parts in the text to black parts and then maybe you could make the bg white then apply whatever background graphic you want too
Title: Reign of Ejaran Main
Post by: DJ Omnimaga on October 30, 2006, 05:13:00 am
ugh this doesnt look right, I tried my first attempt but unfortunately text didnt fit well, i had to change each words location and all, but it still didnt worked like I wanted :(sad.gif, thats the pic I used btw: http://www.bretagne.com/var/plain/storage/images/media/images/frehel/22208-1-fre-FR/frehel_large.jpg

maybe spellshaper can convert it
Title: Reign of Ejaran Main
Post by: Halifax on October 30, 2006, 09:24:00 am
Yeah it's cool xlibman but one thing did you know your name is showing up as Spellshaper !! o.oblink.gif

Edit: OMG !! Mines is too

Edit(again):Also I got the walking engine working with under 330 bytes of code and now all I need to do is put in map scrolling and NPC detection and then I may post a short demo later on this week
Title: Reign of Ejaran Main
Post by: tr1p1ea on October 31, 2006, 02:40:00 am
Sweet, walking engines are always the funnest to make :)smile.gif.

Spelli has taken over, possessed everyone cept me! Prolly cause my nick mesmerizes him! :)smile.gif.
Title: Reign of Ejaran Main
Post by: DJ Omnimaga on October 31, 2006, 03:13:00 am
i cant wait to see the demo!

and tr1p rules :Dbiggrin.gif his nick didnt got possessed!
Title: Reign of Ejaran Main
Post by: Halifax on October 31, 2006, 03:46:00 pm
@tr1p: Yes walking engines are the funnest to make and this was the first one that I made

But all that fun will end when I finish the demo cause then it is back to the sprites, sprites, and more sprites :(sad.gif
Title: Reign of Ejaran Main
Post by: Halifax on November 01, 2006, 07:17:00 am
I'm running into some interesting problems with my very first 16x16 RPG because I have the person moving on a 8x8 grid so that it is a more walking feel but at sometimes the person is in 2 matrix positions at once and it is hard to make a fast checking routine for this because it is not linear checking if you know what I mean
Title: Reign of Ejaran Main
Post by: Halifax on November 05, 2006, 07:18:00 am
Yea sorry if you don't think this is moving forward at a good rate or is dead but it is not because I am trying to learn Assembly and will be trying to develop this in ASM instead of TI-BASIC so I can have more features and also SPEEEEED
Title: Reign of Ejaran Main
Post by: bfr on November 05, 2006, 11:21:00 am
It's probably going to take a while to port this into assembly (assembly usually takes a while to get really good at), so don't plan on porting this to assembly within the next month or so.  It's nice that you're learning assembly though.  It's also fine if there isn't any progress in a while, or maybe if you just don't have the time to post the progress.  Although Omnimaga - The RPG isn't dead, I haven't made much progress on it in a while.
Title: Reign of Ejaran Main
Post by: Halifax on November 05, 2006, 03:25:00 pm
Yea I don't plan on doing it in the next month maybe next year or two cause it is very hard I have one question to ask you though if you can help me but how do you get the adress of a label like my_label:
Title: Reign of Ejaran Main
Post by: bfr on November 05, 2006, 04:24:00 pm
ld hl,my_label

Makes hl point to the address of my_label (and loads hl with the address my_label).  If you wanted to display that address, then after doing ld hl,my_label you could do:

bcall(_DispHL) (or BCALL _DispHL or whatever you use...)

If you're trying to go to that label, then you would do:

jr my_label

Does that help?
Title: Reign of Ejaran Main
Post by: Liazon on November 06, 2006, 09:01:00 am
my_label is the address.  When the assembler assembles, it goes through line by line, and at the same time totals up how many bytes have been used by the program so far.  A label simply tells the assembler to remember how many bytes the label is from the beginning, and then translate it into an actual address when the assembler starts converting everything into raw binary/hex.  You don't have to worry about it yourself

however:
;header goes here
progstart: ;beginning of program, 0 bytes from $9d95 <-ASM program starting point
.db 0,0,0,0,0,0 ;define some bytes
my_label: ;label
 inc a ; command

Relative to progstart, what is the RELATIVE address of my_label?
answer:
7
Title: Reign of Ejaran Main
Post by: Halifax on November 06, 2006, 10:31:00 am
Yes bfr that helps and that is what I neeeded Liazon I don't quite get yours cause all that I wanted was the hex position it is at like 8000h or 4050h
Title: Reign of Ejaran Main
Post by: Liazon on November 06, 2006, 12:07:00 pm
I guess to sum it up, all I'm saying is that the actual value of the memory address is never actually needed.  You just need the name of the label and the assembler takes care of everything else for you.  However, it can be useful to take advantage of labels when you want to do self modifying code.  More on that later.

sorry if that was a bit complicated
Title: Reign of Ejaran Main
Post by: Halifax on November 06, 2006, 12:55:00 pm
Yes I need the actual value of the table for a lookup table I am using and just one more ASM question and then I am done but what parameters does Iline use and also how do I multitask because I made a program and when the person moves the AI doesn't and when the person doesn't move the AI does so how do I like thread these two things together??
Title: Reign of Ejaran Main
Post by: Liazon on November 06, 2006, 05:30:00 pm
http://nwps.ws/~dragonfire/Asmin28/lesson/day13.html#vct once again has a very nice explanation of vector tables (what you want), look up tables, and jump tables.

Keep in mind that if your table is stored in RAM (saferams for example), you can also change the values stored in the table.  This form of self modifying code is useful, but you can shoot yourself in the foot if you're not careful.  in general, SMC is frowned down upon, but it can definitely save size and speed in RAM programs.

As for your speed issues, there is no multithreading atm for z80 calcs.  You must design your code to deal w/ that.  Basically, if the person moves, just move them a bit, go check on the AI, and then loop everything from teh beginning again.  The speed of the z80 + ASM will allow you to cycle through the player and AI rather quickly, provided you make sure the event handlers are not too complicated.  If you end up doing too much during one key press, you don't have time to get to the AI.

#1 tip:  don't use bcalls!  they are generally bulkier because they are a part of the TIOS, and are designed to handle events w/ many possible cases.  Write your own or borrow someone else's code, provided you understand how it works, relatively well.

Also Iline:

http://www.geocities.com/calcul831415/help/83psysroutines.zip is the official TI system routines guide for 83+ series calcs.  It has basically all the bcalls you'll want.  It explains what they do, as well as inputs, outputs, and registers destroyed.  A bit of warning though, iirc, some of the routines have incorrect info, but it'd probably appear obvious if the emu crashed.

my suggestion is that if you're only drawing horizontal and vertical lines, write your own routine that only does those.  It will be much faster because it doesn't have to check for clipping, calculate slope, mess around too much with pointer arithmetic, etc.  It'd probably be faster than iline.  Otherwise, look for a line routine on TI calc.

btw, questions are always good.  I don't mind pointing you in the right direction, and eventually you'll figure out where to look for answers, and you probably won't need to ask questions
Title: Reign of Ejaran Main
Post by: Halifax on November 07, 2006, 09:50:00 am
Yeah thanks that helps a lot and also how does MirageOS recognizes the ret / .db 1 at the start of programs like how would I be able to put detection for that in a program and also you suggest making my own bcall macros, where would I store the code for them and like where would I store the code if I wanted to make a routine like Iline or something like that??
Title: Reign of Ejaran Main
Post by: Liazon on November 07, 2006, 11:58:00 am
Any routine is simply a section of code that you call or jump too, but it can also find away back.  When you use a bcall, you basically jump to the code stored in ROM, and at the bottom there is a way for the rom call to return back to the place where it was code and continue running from there.

Routines and data are generally put after the main routine.  The main routine should typically be a closed loop.  The main function will control entry and exit of the program.  In between, it directs how your subroutines(bcalls, functions, what ever you want to call them) will be used to achieve the goal.  Sometimes data should be put w/ code, provided there's no way for the calc to proceed to the data and treat it as executable.

Typically:

lable_routine_name:
;some code here
;typically you use the registers and do something w/ them, assuming the program put in the right inputs
ret

And in your main program:

;load inputs into registers
call lable_routine_name
;when the routine is done, it comes back here and does next command

It's as simple as that.

if you read the instruction set provided in ASMin28, it will explain how call simply means push pc <-program counter/address of current command, jp lable_routine_name

ret <- pop "some register pair", jump there.  It'd not exactly what those two do, but that's the gist of it.
Title: Reign of Ejaran Main
Post by: Halifax on November 16, 2006, 03:44:00 pm
ok now back to the game

Update:
I have finished a tilemapping engine which isn't deadly fast and I am planning on improving. It is just a little something I made in the past 1 1/2 weeks. The engine is bloody hard to make though with the walking and I have been working on that a lot but I can't get it to work uhhhhh frustrating anyways what do you guys want smooth scrolling or once end of map reached switch to appropiate map??
Title: Reign of Ejaran Main
Post by: DJ Omnimaga on November 16, 2006, 04:33:00 pm
hmm for first project i would go with map to map change, no scrolling. should be easier, unless you figure it out in the meantime
Title: Reign of Ejaran Main
Post by: DJ Omnimaga on November 27, 2006, 05:25:00 am
how is it progressing, and sry i dunno if I'll be able to make a good title screen with that text  i tried both dark and light bg image and it looked crappy i could barely see the txt anymore, maybe spellshaper could be able to manage to get around that

(I hope this post wont land in resident evil forum again...)
Title: Reign of Ejaran Main
Post by: Halifax on November 27, 2006, 05:29:00 am
This one is going find except the walking routine I have the tilemappnig routine working I just don't have tiles. It just shows black white and black bordered squares but that is fine for testing purposes.
Title: Reign of Ejaran Main
Post by: DJ Omnimaga on November 27, 2006, 05:40:00 am
about tiles I had some lying around somewhere, i just dunno if they are still up though, it was ROL3 sprites, distributed for free use

EDIT: still seem to be online

user posted image
Title: Reign of Ejaran Main
Post by: Halifax on November 27, 2006, 07:48:00 am
I may be able to use those but I was actually looking for some 16x16 sprites but thanks
Title: Reign of Ejaran Main
Post by: Delnar_Ersike on January 02, 2007, 02:59:00 pm
mesa got a question. :Ptongue.gif

Progress?
Title: Reign of Ejaran Main
Post by: Halifax on January 03, 2007, 01:29:00 pm
 %)rolleyes2.gif not particulary
Title: Reign of Ejaran Main
Post by: Delnar_Ersike on January 03, 2007, 03:51:00 pm
...after all, if I what I see is really your avatar and if your signature loaded correctly, there should have been some progress lately :wacko:triso2.gif

no, really, I was bored out of my calc (before it crashed, that is <_<dry.gif)  because there weren't any more good RPG games out there and I didn't know which one of my programs to work on. The only reason I actually used my calc is RealSound -.-blah.gif ... so *Delnar_Ersike
Title: Reign of Ejaran Main
Post by: Halifax on January 04, 2007, 01:56:00 pm
haha do you know how long its been since i updated my avatar and my sig like two months o.oblink.gif Well you can look forward to The Massacre I game I am producing with RPG elements in it and it will be sure to keep you from bored out of your calc.
Title: Reign of Ejaran Main
Post by: Delnar_Ersike on January 04, 2007, 04:57:00 pm
*Delnar_Ersike