Jump to content

Photo

TI BASIC Game: Aperture


174 replies to this topic

#1 adamantyr OFFLINE  

adamantyr

    Dragonstomper

  • 618 posts

Posted Mon Nov 15, 2010 5:18 PM

Normally I keep my projects under wraps until they're closer to completion... but the lack of posts and stated entries for this truly CHALLENGING contest requires a little preview.

I plan on entering three games, if I can find the time to fashion all three. One will be turn-based strategy, another a side action style, a third a top-down action style.

So, here's the name and a mocked up screenshot for what the final game will HOPEFULLY look like... it depends on how much memory I got to spare on features, and how much drag tracking multiple objects creates.

Attached File  aperture.png   9.6KB   56 downloads

Synopsis:

You are test subject #99 of the Aperture research and development program, providing quality assurance for new military products. Your most recent acquisition is the Aperture gun, a device capable of creating a twin pair of gates in the fabric of the universe, allowing instant travel between two points.

Unfortunately, the base you're working in has suffered a serious malfunction brought on by a power surge. The main computer responsible for maintaining the complex has sealed the entire complex from the outside and closed itself off from access. The other personnel are dead or trapped... only you can reach the central processing unit and shut down the computer!

Requirements: TI Console, cassette player. (POTENTIALLY the Terminal Emulator II... I'd call that a special edition)

UPDATE:

Finished ZIP file containing both cassette and diskette versions of Aperture, as well as a DSK image for MESS and CF cards:
Attached File  APERTURE.zip   26.33KB   48 downloads

Edited by adamantyr, Wed Apr 20, 2011 1:26 AM.


#2 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Mon Nov 15, 2010 5:23 PM

Brilliant, man... Looking great!!!

#3 unhuman OFFLINE  

unhuman

    Stargunner

  • 1,000 posts
  • Location:Vienna, VA

Posted Mon Nov 15, 2010 5:59 PM

Holy crap. Is that what seems to be Portal in BASIC? Pretty amazing! And it should work.

#4 adamantyr OFFLINE  

adamantyr

    Dragonstomper

  • Topic Starter
  • 618 posts

Posted Tue Nov 16, 2010 1:20 AM

Did some work on this tonight... So far my program is around 3500 bytes in size. I'm not sure how many "test chambers" there will be yet, as many as I can squeeze in to memory.

As a short sneak-peek, here is my code so far. This allows you to move around, go up and down a ladder, fire orange and blue portals and traverse them, and move a cube around.

Spoiler


KEY COMMANDS:
E - Up
S - Left
D - Right
X - Down
O - Create orange portal on acceptable surface in facing direction
B - Create blue portal on acceptable surface in facing direction

Adamantyr

(Edited to correct bug described in below responses)

Edited by adamantyr, Tue Nov 16, 2010 1:48 PM.


#5 matthew180 OFFLINE  

matthew180

    Stargunner

  • 1,845 posts
  • Location:Burbank, California

Posted Tue Nov 16, 2010 8:27 AM

That's pretty cool already! And the response is fast enough to not really distract from the game itself. I already want more levels, so hurry up!

Matthew

#6 adamantyr OFFLINE  

adamantyr

    Dragonstomper

  • Topic Starter
  • 618 posts

Posted Tue Nov 16, 2010 12:13 PM

That's pretty cool already! And the response is fast enough to not really distract from the game itself. I already want more levels, so hurry up!


Yeah, keeping things fast in BASIC is really tough... I'm trying to have it so you can shoot off a portal while falling, but it seems the key responses aren't quite fast enough to catch it... or maybe you just need to fall further.

There are a few events I need to track. My plan is to have them complete a whole cycle, rather than try and move with the player, because generally, BASIC sucks at doing more than one object at a time. So the "energy balls" will basically emit and travel their entire length before expiring. (No bounces)

Adamantyr

#7 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Tue Nov 16, 2010 12:28 PM

Great game, Adam... I had a bit of an issue... the portals got placed inside the walls for a moment, and when I bounced between them, it eventually kicked out a "BAD VALUE IN LINE 700" error... Obviously I know this is a test chunk of code, but WOW... This works fantastic.

Error... I actually put a portal behind the block and pushed the block into the portal. The other side of the portal was at the bottom of the stairs... When the block went through, it materialized INSIDE the walls, and so did I. Then when I tried to get out of it, it kicked out an error

Posted Image

Posted Image

Posted Image

#8 adamantyr OFFLINE  

adamantyr

    Dragonstomper

  • Topic Starter
  • 618 posts

Posted Tue Nov 16, 2010 12:35 PM

Error... I actually put a portal behind the block and pushed the block into the portal. The other side of the portal was at the bottom of the stairs... When the block went through, it materialized INSIDE the walls, and so did I. Then when I tried to get out of it, it kicked out an error


Ah, small bug with the portal orientation... plus I had to make it so ladders and empty area were legitimate exit points, may still be some bias against non-empty in there.

Thanks for catching it!

Adamantyr

#9 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Tue Nov 16, 2010 12:36 PM

Hey guys... so far Adam and Keith have shown a screenshot of their games... anyone else working on a game? Care to share a screenshot?

These contests get alot more exciting when everyone sees screenshots of the games you're developing. It is a motivating tool, you see. =)

Adam's game is pretty awesome, if you guys haven't had a chance to play with the teaser code yet... it's really interesting. =)

#10 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Tue Nov 16, 2010 1:30 PM

Here's a video of the bug. hope this helps!

[url="http://www.youtube.com/watch?v=G5_TXgMlNvA"]http://www.youtube.c...h?v=G5_TXgMlNvA[/url]



just uploaded it... might take a minute to be available


Also... sorry for the sketchy video... I might be using an old version of Classic99... I have 3 on my computer. =)

Edited by Opry99er, Tue Nov 16, 2010 1:32 PM.


#11 adamantyr OFFLINE  

adamantyr

    Dragonstomper

  • Topic Starter
  • 618 posts

Posted Tue Nov 16, 2010 1:48 PM

Here's a video of the bug. hope this helps!


Yeah, got it now... you have to be right up against the wall for it to fail. And I know why... the player graphic and block graphic weren't considered viable empty spots for determining orientation. :) A single line fix and it's good:

1170 AD(PO)=ABS((G=97)+(G=99)+(G=128)+(G=146)+(G=147))

Adamantyr

#12 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Tue Nov 16, 2010 1:57 PM

Glad you got it square. :) good to find these bugs and squash em.

BTW, I have started my own BASIC game to post as well... It's not as cool as this game--- in premise or execution, but I thought I'd give it a go--- since there have only been two screenshots posted so far. :) Expect a screenshot and a game description later today.... It's side tracking my assembly program, but hey.... Whatever. :)

#13 snume OFFLINE  

snume

    Star Raider

  • 64 posts
  • CAD Draftsman
  • Location:Prince Albert, SK, Canada

Posted Tue Nov 16, 2010 2:06 PM

And such forethought Adam. I love how, when the game crashes with a bug, it screams "AAACH". I'm envisioning Charlie Brown trying to kick the football when I see the screenshot. Awesome.

Steve

#14 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Tue Nov 16, 2010 4:20 PM

Adam--- any idea about how many of these levels will be possible in BASIC?? How much memory does each take? :)

#15 unhuman OFFLINE  

unhuman

    Stargunner

  • 1,000 posts
  • Location:Vienna, VA

Posted Tue Nov 16, 2010 4:33 PM

I have a game - I've already ack'ed Adam's as the winner... Mine should also work out... I will not be posting anything until completion... I've done some other early posts in contests, but this one I think I'll hold back...

One thing Adam did remind me of is that PRINT takes : : : : to print multiple lines. I forgot that, but I did that magic in a loop (and did other work in there).

I have the level layout planned and first level drawing... No game play yet....

-H

Hey guys... so far Adam and Keith have shown a screenshot of their games... anyone else working on a game? Care to share a screenshot?

These contests get alot more exciting when everyone sees screenshots of the games you're developing. It is a motivating tool, you see. =)

Adam's game is pretty awesome, if you guys haven't had a chance to play with the teaser code yet... it's really interesting. =)



#16 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Tue Nov 16, 2010 4:36 PM

Awesome. Looking forward to it man. Love your games...

#17 adamantyr OFFLINE  

adamantyr

    Dragonstomper

  • Topic Starter
  • 618 posts

Posted Tue Nov 16, 2010 5:01 PM

Adam--- any idea about how many of these levels will be possible in BASIC?? How much memory does each take? :)


I'm working on that now. I had never intended to use static HCHAR and VCHAR to build each one. Instead, I'm encoding the data to build each into strings stored in DATA statements.

For example:
20000 DATA "493a5L4>Da654>:a344A:x243>Hc61=L0"
20010 DATA "=3a=La"

The first string stores screen build data. The first value is the type of action, the following is data. Breaking one down:

4 = Draw Block
9 = Row
3 = Column
a = Character to draw
5 = 5 Rows
L = 28 Columns (ASCII value of 'L' minus 48)

The second string is coordinates for the player and cube. I will probably have a third string to store dynamics like buttons, power emitters, etc.

The only tricky bit is printing characters above 127. The TI console does have some shortcuts; you can press CONTROL+SHIFT to add 64 to the targeted letter value and print it. So CONTROL+SHIFT+A prints 129 (65+64). The 128 character is an oddball, though. To get 128, you do CONTROL+SHIFT+, instead.

So, using this technique, I should be able to keep each level very tight. Level design is going to be a challenge; I'll want each successive chamber to be slightly more difficult. Each one is a puzzle, so I could spend quite a bit of time there.

Adamantyr

#18 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Tue Nov 16, 2010 5:23 PM

Fascinating. You guys are good--- :)

Mine won't be as tight and efficient, but it will work just fine--- I might use all 14+-k, but I'm actually pleased with what I've been able to accomplish thus far. BASIC is so cool....

#19 InfernalKeith OFFLINE  

InfernalKeith

    Moonsweeper

  • 466 posts
  • Location:Toledo, OH

Posted Tue Nov 16, 2010 6:53 PM

Fascinating. You guys are good--- :)

Mine won't be as tight and efficient, but it will work just fine--- I might use all 14+-k, but I'm actually pleased with what I've been able to accomplish thus far. BASIC is so cool....


This is making me seriously question my 'please wait half an ice age' game start. Once I get the actual mechanics of it working, I'm gonna have to go back and brainstorm a better way.

#20 adamantyr OFFLINE  

adamantyr

    Dragonstomper

  • Topic Starter
  • 618 posts

Posted Tue Nov 16, 2010 7:32 PM

Another quick update...

I have two test chambers designed using my new "encoded" system. It took about 120 bytes to define the second one, so I feel pretty good about getting at least 15 chambers into the game... I will have to focus on making levels that compress more easily into this system. Also need to create a spreadsheet to generate them more easily...

I fixed the controls so you can do something new... I am noticing that the player is slowing down inch by inch as I add more functionality. :P That's the problem with TI BASIC, tracking more than a few things starts to really impact it. I think it's still playable in its current form, and most of the code to do stuff while you're moving is done.

Spoiler


The game WILL crash on level 3, because of a lack of data.

Adamantyr

#21 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Tue Nov 16, 2010 7:44 PM

BAD ARGUMENT 8520.

I think one of the DATA lines at the bottom didn't enter properly when I pasted... I'll try again. =)

#22 unhuman OFFLINE  

unhuman

    Stargunner

  • 1,000 posts
  • Location:Vienna, VA

Posted Tue Nov 16, 2010 7:45 PM

Got bad value in 160 running that :(

Oh - running in XB - char 152 prolly not available... Retrying :)

BTW - I LOVES overdrive when pasting...

Err - now bad value in 8520
T$ = "2@6`22;=`217J0"
I=15 (this is the problem since string is only 14 chars long

Edited by unhuman, Tue Nov 16, 2010 7:51 PM.


#23 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Tue Nov 16, 2010 7:46 PM

[code=auto:0]
20000 DATA "4=2b;;4=3a5L4B>a6544La323B=c634Kc>16N0"

[code/]

what's the small TM after the N?


#24 adamantyr OFFLINE  

adamantyr

    Dragonstomper

  • Topic Starter
  • 618 posts

Posted Tue Nov 16, 2010 9:49 PM

what's the small TM after the N?


Ah HA... yeah, everyone's got the same problem. The paste function on Classic99 isn't translating the ASCII character right. You'll have to enter it in by hand.

These lines:
20000 DATA "4=2b;;4=3a5L4B>a6544La323B=c634Kc>16N™0"
20101 DATA "2@6`22;=`217J™0"

Go to the TM character in TI BASIC and press CONTROL+SHIFT+Y

That will insert character 153.

Adamantyr

Edited by adamantyr, Tue Nov 16, 2010 10:36 PM.


#25 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Wed Nov 17, 2010 11:00 AM

Hey Adam--- could you zip up the program and attach it to this thread? I'm still having difficulties inserting the proper character here...




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users