This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's Your Projects subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Project Ideas/Start New Projects => Your Projects
Author Message
thebetter1


Advanced Newbie


Joined: 09 Jul 2008
Posts: 86

Posted: 02 Mar 2009 10:38:19 pm    Post subject:

This is the discussion thread for [s]Falcon[/s] Awakening, an RPG written in Basic + Resource.

Features
-text screens for great graphics
-6x6 tiles
-separated into chapters, as the whole game would be too large for a basic Ti-83+
-around 100 screens per chapter
-in-game clock which is almost always advancing
-5 stats, +-15 skills, and 10 spells
-stats/skills/spells determine level, rather than the other way around
-overall linear design, but with freedom within each chapter
-experience is awarded after each chapter, with a bonus for speed
-limited number of battles per chapter (no "training")
-real-time battles, controlled by pressing number keys to issue attacks, or other keys for defense/moving
-intricate storyline, currently being written by a friend

Progress
[/] character builder
[X] user-friendly name entry
[X] relatively fast screen drawing (20 sec)
[X] scrolling/tile warps
[] text
[X] energy/hunger/thirst
[/] items (inventory system works)
[] entire battle system (not started)
[] actual maps

I am now focusing on making the character builder, which allows you to customize the bonuses you get from your experience. You use it before chapter 1 and after each subsequent chapter. It allows a lot of freedom; you can completely ignore almost everything just to power up one spell as high as it can go if you want to.

Demo Log
1: 3 screens to walk through; inconsistent graphics; archive everything except RESOURCE and START, then execute START to run the demo. I know this demo is kind of crappy, but another one will be realeased when I finish some key features like eating.
2: 4 screens not related to the first demo. Execute it the same way as before. You can now pause the game by pressing MODE, which gives access to camping and the inventory screen. The attacks button doesn't work yet, and suspend will exit the game without saving. The clock system and draining energy, hunger, and thirst are included. There is also a switch that must be pulled to change a different screen.


Last edited by Guest on 06 Jul 2009 04:06:20 pm; edited 1 time in total
Back to top
MaskedTwilight


Newbie


Joined: 12 Mar 2009
Posts: 3

Posted: 12 Mar 2009 07:29:45 pm    Post subject:

I might as well introduce myself. I am the story writer. This game will actually have a storyline! *Yay* I'm still working it out the main story but the skeleton is already done. There will also probably be a secret side-story, if thebetter1 agrees to put it in, that you'll be able to unlock or trigger in the game. That's all I can tell about it.
Back to top
simplethinker
snjwffl


Active Member


Joined: 25 Jul 2006
Posts: 700

Posted: 12 Mar 2009 07:32:51 pm    Post subject:

Hi MaskedTwilight. Welcome to UTI :biggrin:

Have any more spoilers to [s]leak[/s] share in exchange for that nice hello?
Back to top
MaskedTwilight


Newbie


Joined: 12 Mar 2009
Posts: 3

Posted: 12 Mar 2009 07:56:35 pm    Post subject:

Oh yea, I forgot to mention that the name is changed to Awakening. At first we didn't know what to call it, so thebetter1 just called it Falcon. As for the spoilers, I can't give much. Maybe later I'll post the intro. Also, thebetter1 is going to add achievements to this game, and one achievement is with the secret event I mentioned earlier. I'm pretty sure thebetter1 will make it so that you can trigger it in a random area.

Here's more info on the game itself:
The game will have maybe around 10 bosses that you must kill in order to complete the game. There will probably be side-bosses in the side quests.
Also, thebetter1 is going to make it so that the amount of xp you can get is limited, so make sure to kill everything you encounter if you want the max xp or you may end up paying for it in later chapters.
Back to top
thebetter1


Advanced Newbie


Joined: 09 Jul 2008
Posts: 86

Posted: 13 Mar 2009 06:21:03 pm    Post subject:

No, I am absolutely not putting in that dumb side story where you go into the Pokemon world and free all the Pokemon. My idea was to have a Pikachu somewhere in the game as an easter egg that you can KILL (not KO).
Back to top
MaskedTwilight


Newbie


Joined: 12 Mar 2009
Posts: 3

Posted: 13 Mar 2009 09:17:04 pm    Post subject:

Why not? I like things with a story rather than just plain randomness. Plus, getting the achievement with pikachu will be hard unless its just killing pikachu. It'd be much easier if there were more pokemon to fight.
Back to top
thebetter1


Advanced Newbie


Joined: 09 Jul 2008
Posts: 86

Posted: 08 Apr 2009 10:26:45 pm    Post subject:

Some progress. I've been working on the clock system for the world screen. It advances by one minute of game time per frame, and one frame takes about one second of real time on an 83+. There is a delay system that makes all frames about the same length, although this has the consequence of causing possible longer delays when you start moving.
Back to top
simplethinker
snjwffl


Active Member


Joined: 25 Jul 2006
Posts: 700

Posted: 09 Apr 2009 01:42:35 pm    Post subject:

How did you program the delay? I've played around with making the framerate in Chip's Challenge uniform, but my attempts have either failed miserably or caused a massive loss of speed.
Back to top
darkstone knight


Advanced Member


Joined: 07 Sep 2008
Posts: 438

Posted: 09 Apr 2009 02:43:07 pm    Post subject:

use rand(delelay_condition_1*weight+delay_condition+2*weight
Back to top
simplethinker
snjwffl


Active Member


Joined: 25 Jul 2006
Posts: 700

Posted: 09 Apr 2009 02:48:33 pm    Post subject:

darkstone knight wrote:
use rand(delelay_condition_1*weight+delay_condition+2*weight

Right, but that will always produce a wait, and calculating the weights themselves adds a lot of time to execution. Plus, unless you assign integer values to each weight/condition you'll have to use int( unless you want a domain error, and if it evaluates to zero you also get a domain error.
Back to top
Mapar007


Advanced Member


Joined: 04 Oct 2008
Posts: 365

Posted: 10 Apr 2009 05:11:31 am    Post subject:

Then use round( instead.

OK yeah it is slow...
Back to top
simplethinker
snjwffl


Active Member


Joined: 25 Jul 2006
Posts: 700

Posted: 10 Apr 2009 10:13:35 am    Post subject:

Mapar007 wrote:
Then use round( instead.

OK yeah it is slow...

round(.2,0 will still give zero.


Last edited by Guest on 11 Jul 2010 05:51:26 pm; edited 1 time in total
Back to top
Galandros


Active Member


Joined: 29 Aug 2008
Posts: 565

Posted: 13 Apr 2009 06:39:39 am    Post subject:

why not switch to a for loop? Is bigger than rand(X...
Adjust better to this situation.

For(I,0,delay_condition1*with+...
End

It has no problems with fractions. But you should increase the weight.
Back to top
thebetter1


Advanced Newbie


Joined: 09 Jul 2008
Posts: 86

Posted: 15 Apr 2009 08:03:53 pm    Post subject:

I have no idea what you guys are talking about. I just did

If (wait condition)
Then
69.5!
69.5!
69.5!
69.5!
End
Back to top
Harrierfalcon
The Raptor of Calcs


Super Elite (Last Title)


Joined: 25 Oct 2006
Posts: 2535

Posted: 15 Apr 2009 10:22:29 pm    Post subject:

thebetter1 wrote:
I have no idea what you guys are talking about. I just did

If (wait condition)
Then
69.5!
69.5!
69.5!
69.5!
End


Firstly, if you're using that for delaying something, cut the decimal out. It's really not necessary.

Secondly, this is a much more efficient method for delaying something:

:If [Wait Conditional]
:[Then]
:rand(#
:[End]

You can make it an If statement or an If-Then. Just keep in mind that If-Then statements that are false more often that true will run faster (approximately 2x faster for a false run than a true run). Also remember that this will mess up Ans.

Probably the best balance between memory and speed is something like this:

:If rand(1+#[Wait Conditional]
:[Next code line, etc.]

Because it doesn't affect Ans and only takes up one line. However, it will slow it down the slightest bit.

Moral of the story is...well, put bluntly, don't do it the way you did. That way is horribly inefficient...it may slow it down, but by no variable amount, and it uses Ans, and it takes up a lot more screen-space and memory than it needs to.


Last edited by Guest on 11 Jul 2010 05:51:51 pm; edited 1 time in total
Back to top
DarkerLine
ceci n'est pas une |


Super Elite (Last Title)


Joined: 04 Nov 2003
Posts: 8328

Posted: 15 Apr 2009 10:45:04 pm    Post subject:

Quick correction: you want If dim(rand(1+#[Wait condition] -- otherwise you get a silly error.

Last edited by Guest on 11 Jul 2010 05:52:13 pm; edited 1 time in total
Back to top
kalan_vod


Advanced Member


Joined: 04 Sep 2005
Posts: 446

Posted: 16 Apr 2009 12:49:36 am    Post subject:

rand(0+(K=45 ; which ever condition you want, since rand(0 has little to no pause it does not slow down as much as a If statement.
Back to top
Weregoose
Authentic INTJ


Super Elite (Last Title)


Joined: 25 Nov 2004
Posts: 3976

Posted: 16 Apr 2009 01:05:18 am    Post subject:

kalan_vod wrote:
rand(0+(K=45 ; which ever condition you want, since rand(0 has little to no pause it does not slow down as much as a If statement.
It also causes a domain error.
Back to top
thebetter1


Advanced Newbie


Joined: 09 Jul 2008
Posts: 86

Posted: 16 Apr 2009 06:34:49 pm    Post subject:

Am I missing something? I thought rand just returns a decimal between 0 and 1 and takes no arguments.

Also, the decimals in my method really were necessary. Calculating the factorial of an integer is much faster than for a decimal; I honestly have no idea how the calculator does it.


Last edited by Guest on 16 Apr 2009 06:36:33 pm; edited 1 time in total
Back to top
simplethinker
snjwffl


Active Member


Joined: 25 Jul 2006
Posts: 700

Posted: 16 Apr 2009 07:03:42 pm    Post subject:

thebetter1 wrote:
Am I missing something? I thought rand just returns a decimal between 0 and 1 and takes no arguments.

rand(X for integer X>0 returns a list of X random numbers (e.g. rand(2 is equivalent to {rand,rand})

Quote:
Also, the decimals in my method really were necessary. Calculating the factorial of an integer is much faster than for a decimal; I honestly have no idea how the calculator does it.

TI calculators can only calculate the "factorial" for integers ≥0 and numbers of the form N+.5 (N can be any integer, not just positive), not for arbitrary decimals (1.2! has no meaning to the calculator). There's a special function called the Gamma function (Γ) which is a generalization of the factorial to all complex numbers. For integer S, Γ(S) = (S-1)!. In general it obeys Γ(S+1) = S * Γ(S), which for integers reduces to S! = S * (S-1)!. Using the integral representation, it can be shown that Γ(.5) = √(π). From there, using the simple recursive identity gamma can be calculated for half-integers.


Last edited by Guest on 11 Jul 2010 05:50:41 pm; edited 1 time in total
Back to top
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    » Goto page 1, 2  Next
» View previous topic :: View next topic  
Page 1 of 2 » All times are UTC - 5 Hours

 

Advertisement