You are a lich knight by the name of Count Scapula. It is the year 3003 and technology has started an apocolypse between fire and nature. It is your job to help spread the inferno...

INFERNO 1:
The Takeover


This a homescreen RPG with an optional omnicalc font set to improve graphics. It does look fine with out the font set. You cannot jump the only way to move up is through the use of ladders. You can use either gravity or ladders to go down. This is my first RPG. It is written in pure BASIC (except for the font set which is purely optional, as I said).

Things yet to be done:
> Stores
> Fighting engine
> Bosses
> Dialog

It is getting quite large so I think I will package it as a BasicBuilder application.

Screenshots:

Hey, that looks pretty cool. I'm not usually much for text sprites, but that's the sort I would definitely take a look at.
Thanks!

Here's a screenshot with the font set installed:


EDIT: Some of the sprites aren't done yet for example the degree symbol is going to be the monster but as you can see its just a degree symbol.
Bump.

So this project is going pretty well. I have started writing the fighting engine, weapons are planned, bosses are still undeveloped, the stores are completed and training areas are built, but don't work because the fighting engine isn't complete. If you guys have any suggestions, please let me know.

I know how you guys really like the pure BASIC stuff, but what would you think of me using some asm libs to do some cool effects on the title screen?
Libs are God's gift to programmers. Use them, and use them often. That is my stance on the issue.
Progress on this program has been resumed in order to release it for Christmas.

Last night I rewrote the game engine so that it has full border hit detection, gravity and ladders. In 8 lines. I was very proud of myself. Check it out:
I used finance variables: PV, I%, N

:Repeat K=22 or (inString("^*",sub(Str0,PV,1)) and max(K={21,105})) or max(N={1,16}) or max(I%={1,8
:N+16(I%-1->PV
:Output(1,1,sub(Str0,1,PV-1)+"*"+sub(Str0,PV+1,128-PV
:getKey->K
:N+(K=26)-(K=24->N
:N+(K=24 and sub(Str0,PV-1,1)="X")-(K=26 and sub(Str0,PV+1,1)="X"->N
:I%+((sub(Str0,PV+16,1)+" " and sub(Str0,PV,1)!="=") or (K=34 and sub(Str0,PV,1)="=" and sub(Str0,PV+16,1)!="X") or (K=34 and sub(Str0,PV,1)=" " and sub(Str0,PV+16,1)="=") or (sub(Str0,PV,1)=" " and I%=7))-(K=25 and sub(Str0,PV,1="=" and "X"!=sub(Str0,PV-16,1->I%
:End


Yay for insane logic statements. It is much faster, however, I am sure that if I put some more time into it it could be more compressed. The goal is to optimize for speed.

That's it for now.
I see many many optimizations, but I'm happy to see you're coding is a lot better then I previously thought.
Oh yeah, I haven't optimized it at all, I'll do that later.
Thanks. Out of curiosity, how bad did you think my coding was? I won't be insulted I promise.
I thought you were pretty awful.
On first glance I notice this, in the line right after the getkey, you can use Ans instead of K
Pseudoprogrammer wrote:
On first glance I notice this, in the line right after the getkey, you can use Ans instead of K
You wouldn't really get a noticeable speed advantage from doing that; you're storing to K anyway, so you might as well use it.
You might as well use Ans. Even if it is a minor optimization, it's a good habit. There is no benefit to using K there...
After a cursory glance I realized that this:

:N+(K=26)-(K=24->N
:N+(K=24 and sub(Str0,PV-1,1)="X")-(K=26 and sub(Str0,PV+1,1)="X"->N


can be rewritten as this:

:N+(K=26 and sub(Str0,PV+1,1)!="X")-(K=24 and sub(Str0,PV-1,1)!="X"->N

Duh. I should've done that before...
Good call, excellent optimization there.
Thanks. I have a question (which I should know the answer to, I'm just brain-dead right now):

Is

Code:
(A and B and C) or (D and E) or (A and D)

synonomous with

Code:
A and B and C or D and E or A and D

?
Yes, however you might as well do ABC or DE or AD. How about ACB+DE+AD?
You know, normally I would, but in this case it would just clog up space because of all the extra parenthesis I would need to add.

Here are the 7x5 omnicalc sprites that I am using. If you have any ideas that you think would make these look better or you think I should use a different character for each of the items. Take a look:
(First column: original character. Second column: editted sprite).

Here they are in order.
Wall
Ladder
Person / You
Store
Training Area
HP Restore
Monster
Boss
Weapon
Attack

What do you think?
(PS The fighting system is almost done)
Zaphod Beeblebrox wrote:

can be rewritten as this:

:N+(K=26 and sub(Str0,PV+1,1)!="X")-(K=24 and sub(Str0,PV-1,1)!="X"->N


drop the ending quote too.
  
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
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement