Omnimaga

Calculator Community => Discontinued => Major Community Projects => S.A.D. (Seek and Destroy) => Topic started by: Hot_Dog on March 13, 2010, 04:30:27 am

Title: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 13, 2010, 04:30:27 am
As much as everyone is excited about the Real-Time Strategy Game S.A.D., we know it's going to take a while since it's being programmed in pure asm by people who have big schedules.  So even though we will make sure the game is well worth the wait, I feel that you guys should have a treat to make it easier to wait.  I am also wanting to make sure I keep myself on this project so I don't just give up all of a sudden.  Finally, I want some experience working on the AI so that I can implement it in asm format.

So, as mentioned in the title, I'm thinking about a side project of a turn-based version of S.A.D, which will be Ti-Basic with Xlib.  I definitely won't be able to do it all by myself, considering I'm also occupied with the asm S.A.D., but if people pitch in, I don't expect the game to take more than three-four months to work on (if that long), since I already have a lot of the graphics and ideas ready.

Here's the idea:
-----------------

The game will be strictly multiplayer or against a single AI
It will use the graphics the real-time version of S.A.D. uses
There will be, oh, probably 7-8 maps, with about 3-4 tilesets
This will be turn-based, not real-time
Battles will be handled automatically, simulated rather than displayed
Gameplay will be similar to the real-time game: Using one unit and changing it to fit your strategy, constructing bases, teleporting via transformation gateways and operation centers, using special abilities, etc.

But like I said, I won't be able to do this alone, so I have some benefits to offer if you decide to pitch in:
--------------------------------------------------------------------------------------------------

* Access to pre-alpha, alpha and beta versions of S.A.D. (the real-time version)
* Mention in the credits in both the turn-based and real-time versions of S.A.D.
* Autographed copies of both the turn-based and real-time based manuals (Don't get my attitude wrong, please.  It's just some people really enjoy receiving autographs)
* You can name a character or a station in the campaign, if you want to
* The feeling of actually putting some work into S.A.D. besides testing...after all, the work going into this will help us further improve the real-time version of S.A.D.

Let me know if you like the idea and want to help.  And remember, this is NOT assembly, it's pure Ti-Basic with some Xlib to help with graphics.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 13, 2010, 04:53:39 am
mhmm that would be interesting, unfortunately I doubt I could take on the project due to my lack of experience in strategy games and the fact i am busy messing with Axe Parser stuff, but I would like to see what people might come up with with this :)
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Raylin on March 13, 2010, 09:02:37 am
I'm in.
I don't have much to do after next Saturday.
Although I will contribute other things before that time.
What language is this going to be in?

TI-BASIC or Axe?

(God, I wanted to say that for so~ long. Big ups, Quigibo! :D)
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 13, 2010, 10:54:30 am
Quote
TI-BASIC or Axe?

I'm thinking Ti-Basic.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 13, 2010, 11:00:08 am
I think in Axe it would be beyond the RAM capabilities. In later versions of Axe, if AI is very complex, it could be programmed as Axe sub-routine, though.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: ztrumpet on March 13, 2010, 11:40:33 am
It sounds like a neat idea.  I'll try to help. :)  What do you think I'll need to do?
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 13, 2010, 12:16:18 pm
Quote
It sounds like a neat idea.  I'll try to help.   What do you think I'll need to do?

We'll work on that sometime next week.  I'll have a list of things that need to be done and assign them based on what you, Prophets, and anybody else figures they could do best, although I strictly take it upon myself to work on the AI.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 13, 2010, 06:57:44 pm
would the graphics be similar, btw?
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 13, 2010, 07:11:22 pm
Quote
would the graphics be similar, btw?


With one exception: The structures that are built will be strictly part of the tilemap. 
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 13, 2010, 07:24:30 pm
Yeah true, otherwise it might be quite slow x.x. I remember when I made a Space Invader clone in BASIC. The only time in which that many sprites cannot cause slow downs in BASIC is if they all move in the same direction all at the same speed, since in this case you just need to XOR the HUD/map, scroll the screen, display new sprites then XOR the HUD/map again. Examples: xLIB xLIB Revolution and Super Mario Smash Dance.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Builderboy on March 13, 2010, 08:58:28 pm
This looks really interesting!  I unfortunately cannot join as i actualy want to focus on the projects i have in production so i can finish them as fast as i can :P
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: jsj795 on March 13, 2010, 09:57:14 pm
I would definitely have joined, except that I really want to focus on TLM right now, since it has been a while since I last touched it :P I fear at this rate TLM will not be finished
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 13, 2010, 10:05:56 pm
I hope you don't give up on it D:. Didn't you have some recent progress before the crash?
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: jsj795 on March 13, 2010, 10:12:42 pm
yeah, and since I found it, I decided to actually work on the battle system. Then, I have a lot more to do, like event checking, making the equipment/items work, etc... Still a long way to go :P
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 13, 2010, 10:37:40 pm
yeah I understand x.x

And getting motivation is hard, especially when you're half asleep all day long cuz of overly demanding work schedules x.x
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 14, 2010, 12:32:53 am
I needed a study break, so I posted a general list of what needs to be done (specifics to come), as well as the tasks I will be doing.

What I'll contribute
---------------------
 Graphics
 Maps
 AI
 Battle Code/Visuals
 Loading a Game/Saving a Game
 Displaying In-Game Menus
 Filling in the rest of the code around the game engine

What needs to be done
-----------------------
 Main Menu--Allow a player to load a game, play a new game, view the credits, or quit.  There will not be an options menu.
 Multiplayer Lobby--Help a player set up either a two-player game, or a game against a single AI.  Two-player games will be linked...if we feel like it, we can also add two-players-on-one-calculator support.
 Basic Game Engine:
  * Tilemap
  * Adding Buildings to the tilemap
  * Detecting Key Presses and acting accordingly
  * Moving Units
  * Making sure a player doesn't exceed the limit of moves per turn
 Optional: Maps.  If you guys want to make maps for this version of S.A.D., be my guest.  Assuming they're balanced, I'll include them in both the real-time and turn-based versions of S.A.D.  HOWEVER, be advised that the map formats will be different for this version of S.A.D., so even if cooliojazz is able to finish the map editor in time for this, we will not be able to use it for the turn-based version of S.A.D.

I understand you guys have other projects as well, so don't let me rush you unless you're eager to finish this as quickly as possible.  Thx for the help  8)  
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 14, 2010, 03:08:01 am
Two players might be possible via link port, altough if we use the Asm( command it might be slow (since it searches the entire VAT for the program, and the higher the amount of program, the slower Asm() token is). I wonder if Celtic has linking support? It might come useful and be much faster.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: ztrumpet on March 14, 2010, 10:59:52 am
Main Menu--Allow a player to load a game, play a new game, view the credits, or quit.  There will not be an options menu.
 Multiplayer Lobby--Help a player set up either a two-player game, or a game against a single AI.  Two-player games will be linked...if we feel like it, we can also add two-players-on-one-calculator support.
Could I do these? :D

For linking you either need to have the game Pause a lot or use an Asm program. =\
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 14, 2010, 01:03:22 pm
Quote
For linking you either need to have the game Pause a lot or use an Asm program. =\

I'm not very familiar with the calculator's Ti-Basic link commands.  How slow are these in sending, say, 2 real numbers A and B?

EDIT: Never mind, I think I'll probably end up making this two-people-on-one-calculator
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Builderboy on March 14, 2010, 02:14:01 pm
For turn based, on a single calculator is fine, and sometimes even preffered. 
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 18, 2010, 11:55:13 am
Hey, ztrumpet, Prophets is hoping to be ready this Saturday, and I'm hoping to be ready sometime next week.  Is next week going to cause any issues for you?
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: ztrumpet on March 18, 2010, 04:39:47 pm
I don't think there would be any problems next week for me.  However, I will not have computer access the week after that. :)
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 20, 2010, 10:17:58 am
Looks like I'll be writing the AI as an asm program to be run as a ti-basic subprogram.  Not only will it mean I have the AI for the RTS AI almost completely finished, but it also means people can't fiddle with the AI to guess its secrets.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 20, 2010, 01:51:11 pm
Aw, so no TAS'ing? D:

j/k I guess it can be a good idea, since only hardcore ASM programmers will be able to cheat then (CalcSys)
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: ztrumpet on March 20, 2010, 02:51:18 pm
Looks like I'll be writing the AI as an asm program to be run as a ti-basic subprogram.  Not only will it mean I have the AI for the RTS AI almost completely finished, but it also means people can't fiddle with the AI to guess its secrets.
That sounds really cool! 
Let me know when/what you want me to work on. :)
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 20, 2010, 04:03:34 pm
Quote
That sounds really cool!  
Let me know when/what you want me to work on.

Well, one person should work on the main menu/lobby, the other should work on the game engine (which, I feel, is only SLIGHTLY more complicated), and neither person should feel rushed ::)  Ztrumpet, I think you requested the main menu/lobby, so if ProphetsDementia is fine with working on the game engine, I don't see why you can't do the main menu/lobby.

Part of the reason we're waiting until next week is I need some major time to get the graphics together, as well as designing some new ones (such as tiles).  (Besides, I feel that you and Prophets should recieve some "payment"--aka a project build--in advance, and it will be done before we start.)

Sadly, the "space" tile set is not going to be used in the turn-based version.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 20, 2010, 11:31:01 pm
That reminds me, where did ProphetsDementia go? I haven't seen him post in a few days
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Raylin on March 22, 2010, 10:47:56 pm
Seems like a lot of people (by a lot, I mean DJ) are looking for me.
All right, I'll start on the main engine.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 22, 2010, 10:48:50 pm
Seems like a lot of people (by a lot, I mean DJ) are looking for me.
All right, I'll start on the main engine.

I'll have some graphics and details for you sometime this week.  If you want to wait until then, be my guest.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Raylin on March 22, 2010, 10:51:03 pm
Thank you, sir.
I shall not fail you! >:D
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 23, 2010, 01:34:51 am
Ah here he is ^^
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Raylin on March 23, 2010, 01:45:38 pm
Plans for the engine have been made.
I was wondering if this was truly to be made in BASIC.
Axe DOES provide a faster framerate.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 23, 2010, 01:56:52 pm
I think the main issue atm for Axe is the lack of external program/data support. Your game needs to fit in one RAM file, thus, it would be impossible to fit a large game like SAD into Axe memory constraints, especially if the file compiles larger.

Later it may be possible, though, to have parts of your game written in BASIC and the rest in Axe, though
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Raylin on March 23, 2010, 01:58:09 pm
True.

Hmm.
Also, I heard there was a manual about for S.A.D.
Could you link me to it...?
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 23, 2010, 02:00:15 pm
As far as I know, Axe does not support large sprites, and the program has to be LOL.  But I could be wrong.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Raylin on March 23, 2010, 02:01:11 pm
Look at the update.
It is full of win. :D
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 23, 2010, 02:09:31 pm
I'll definitely look at the update.

Sure, the manual is provided below as an attachment.  But this is just an early version I used to try to get people interested in helping out, so you'll find there's a lot of changes.  I'm making a new manual for both versions of S.A.D. 
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 23, 2010, 02:13:32 pm
The new Axe still doesn't support large sprites, altough it adds program naming support. I can't wait until large sprite support, though, as well as triple buffering.

Are you planning to have two manuals, one that is complete and another smaller one for the TL;DR people? Or maybe have a quick-start guide or something?
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 23, 2010, 02:48:13 pm
The new Axe still doesn't support large sprites, altough it adds program naming support. I can't wait until large sprite support, though, as well as triple buffering.

Are you planning to have two manuals, one that is complete and another smaller one for the TL;DR people? Or maybe have a quick-start guide or something?

The turn-based version will only have one manual--a quick one.  It will tell you everything you need to know to play the game, or nothing more.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 23, 2010, 02:49:13 pm
Aaah ok ^^

I guess if units are a bit similar, though, that they could maybe use the ASM version readme if they want more information on the background/story/etc
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 23, 2010, 03:15:19 pm
Aaah ok ^^

I guess if units are a bit similar, though, that they could maybe use the ASM version readme if they want more information on the background/story/etc

Perhaps, but it's my goal that the turn-based version of S.A.D. be finished by this summer.  The real-time one is not going to be done until at least next year, unless there's some kind of miracle.

Prophets, I think we'll be sticking with Ti-Basic and Xlib.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 26, 2010, 01:13:20 am
Prophets, I'm still on schedule for a Saturday information session!  :D

Until then, just for fun, a new map...the test map for the turn-based S.A.D., and a map that will appear in the original S.A.D. as well.  Called Vregana Pass.  ALL MAPS will now be done in this perspective, and eventually Orita Five will be redrawn to this perspective.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 26, 2010, 01:30:02 am
Wow looks awesome! Keep in mind, though, that in matrix form, this map will take 8111 bytes of RAM, so that's something to consider for memory management.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 26, 2010, 01:34:24 am
Well, something I didn't think about is that since this is turn-based, maybe the maps don't have to be as big...what's your beef?
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 26, 2010, 01:50:04 am
well, the trick would be to split each routines that need to run in a turn into more sub programs, that way there's always enough RAM to copy them into
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Raylin on March 26, 2010, 08:19:15 am
Map data needs to be stored in strings.
Faster. More efficient. Easier parsing.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Builderboy on March 26, 2010, 09:13:43 am
Strings are fast?  Since when? O.o I have always had a much slower time accessing strings than matrices or lists, it can make collision detection a real pain too.  I would think for a game as dependant on speed as this, matrices might want to be your final destination, even if the maps are stored as strings in the program
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 26, 2010, 09:36:52 am
yeah strings are much slower when it comes to accessing its data, especially during collision detection when there are both multiple solid and multiple non-solid tiles.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: jsj795 on March 26, 2010, 10:03:17 am
Also, I think xLib will need Matrix to draw the tile map, right? So you would need the matrix anyways, so why not use it?
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 26, 2010, 10:18:07 am
Agreed.  I kinda figure more people will use Xlib than Celtic III (no offense Iambian, it's just that Xlib has been around for a while), and that requires matrices for the tilemap. 

HOWEVER, the actual tile and map data will be stored in appvars or asm programs so that they can be archived and save space.  (I'll either use appvar 1.0 or asm programs).  No worries, that's code that I will be working on.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 26, 2010, 05:46:21 pm
Agreed.  I kinda figure more people will use Xlib than Celtic III (no offense Iambian, it's just that Xlib has been around for a while), and that requires matrices for the tilemap.  

There's also the fact Celtic III programs will not run with xLIB, while xLIB ones (and even certain Omnicalc ones) will run with Celtic III (despite maybe a few minor glitches when using small rectangles or the very last row of pixels on a pic for sprite storage), and some people opts for maximum compatibility
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on March 28, 2010, 01:32:26 am
Here's some files for you, Prophets.  I was going to tell you everything you needed to know, but I was getting too confusing.  So instead, let's go about this little by little, and I'll answer any questions you need, at any time.  It doesn't matter how many questions you have, I'll answer them   :D For example, I've included a file answering your question about the UI.

The following files are also included:

The picture variables you'll need (for right now)
The map data, one number per element in a 30 x 30 array
Building Stastics
Information on units that has changed from what I posted on this website

Like I said, this may be best if we go about this little by little.  So I'd recommend starting with displaying the tilemap, moving it with the arrow keys, and drawing the cursor, located in Pic7 (the cross).

Thx for your help, it's appreciated
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on March 28, 2010, 12:42:05 pm
yyeah it's better to not do too much at a time and start small, else the project becomes a chore x.x

Also given the large map size, and the fact you can't use strings due to the slower collision detection, especially with that many walk-onable tiles, you will have to abuse the "real(10" function A LOT.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on April 18, 2010, 04:03:55 pm
After the good news I gave about S.A.D. builds becoming public, I hate to follow up with bad news:  I'm putting the turn-based version of S.A.D. on hold, though I don't know yet if it will be indefinitely or not.  Prophets is not able to help anymore, I had things add up to allow only enough time to do the RTS version, and the public builds means people can play with S.A.D. without having to wait until it's finished.

Ztrumpet, if S.A.D. is put on hold indefinitely, I'll still give you what I offered for signing up for the project.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on April 18, 2010, 04:21:36 pm
Sorry to hear about that. To be honest I kinda expected it, though. After Silver Shadow wiped all his sprites (which is partially my fault due to the argument we had), Raylin announcing he can no longer help for SAD a few days ago on IRC and Ztrumpet being away often, it seemed like it was dying. I hope Ztrumpet will resume dev once he finished Elmgon and his other projects, or someone else.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on April 18, 2010, 04:39:27 pm
I hope Ztrumpet will resume dev once he finished Elmgon and his other projects, or someone else.

Actually, I haven't developed anything on it yet.  I doubt there's enough for someone to continue it.  However, I feel that putting time into the real-time version is more important than trying to split the difference between the real-time and turn-based versions
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on April 18, 2010, 04:44:20 pm
yeah I agree, altough i would like to see the TBS one too, but I can't wait for RTS version so it might be best to focus on one project at a time, not to mention it was the first one to start IIRC.
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: Hot_Dog on April 18, 2010, 04:53:23 pm
yeah I agree, altough i would like to see the TBS one too, but I can't wait for RTS version so it might be best to focus on one project at a time, not to mention it was the first one to start IIRC.

Yes, the RTS was the first one
Title: Re: An idea for a Ti-Basic/Xlib Turn-Based Version of S.A.D.
Post by: DJ Omnimaga on April 22, 2010, 04:39:47 pm
Aaah ok, I was unsure since the original S.A.D versions used to use xLIB and Celtic too