Jump to content
IGNORED

Jedi Gauntlet


Opry99er

Recommended Posts

I'm far enough along with this one to share a little bit of my current development.

 

 

Jedi Gauntlet

 

 

JediTitle1pic_zpsk6nrs5zq.png

 

 

This game is written in vanilla TI BASIC. It is a "puzzle" type game where you have to take Yoda from his home in the Degobah system to the Death Star to face Darth Vader and save the Alliance. ((Yes, I know that never happened... this is my world)) ;)

 

 

Anyway, I have the first two levels working and the rest are pretty much a matter of design at this point. Your goal is to take Yoda through each level and use the Force to move objects to certain areas or to remove obstacles in your way. As Yoda, you only have a limited amount of the Force you can use per level, so you must use it wisely. Level 1 is extremely easy and is really just a primer to get the player used to the controls. As the levels increase in number, they also increase in difficulty. You can only use the Force to move objects within a certain range... Usually 5 tiles in any direction. Currently there are 5 levels I have mapped out, but I will probably end up with 10 or 12. Here are the levels I have planned so far.

 

Level 1: Take Yoda from his subterranean home on Degobah to the X-Wing fighter

 

Level 2: Repair the hyperdrive in the Millenium Falcon

 

Level 3: (First Death Star Level) Get across the loading bay to the hyperlift.

 

Level 4: (Second Death Star Level) Cross the Core Bridge

 

Level 5: (Third Death Star Level) Use the Force to trap Darth Vader and save the Alliance

 

 

 

 

A few screenshots:

 

 

JediInstrucpic_zps5mgh4wbz.png

 

 

Level1Jedipic_zpsyhoqmnaz.png

 

 

Level2Jedipic_zpshtnjlbko.png

 

 

 

The game has been fun to write so far, and I am hoping I can finish it and stay under the maximum to run from tape. I am trying to keep the levels to where I can load them all from a single loop from DATA statements... I currently am able to do that with the two levels you see here. It saves space and is a fun challenge. I'm finding that I am needing to pad some DATA for the HCHAR and VCHAR loops, but I think I will be okay. I am currently under 6k and the vast majority of the code is in place. Now I'm just adding level DATA and modifying as I go to be able to incorporate the varying levels of layout complexity in the different game levels.

 

 

Anyway, just wanted to share a little bit. I've been working on this game for about a week now and I feel like it is moving along pretty nicely for a BASIC game.

  • Like 11
Link to comment
Share on other sites

Anyway, just wanted to share a little bit. I've been working on this game for about a week now and I feel like it is moving along pretty nicely for a BASIC game.

 

You know, when you've completed this, it would be an excellent candidate for porting across to either fbForth or TurboForth. You'll learn an awful lot along the way.

  • Like 1
Link to comment
Share on other sites

Are you going to compile it?

 

Possibly, but that will be a completely different game. This game is designed for unexpanded TI users. I may even max out level data so that it will ONLY load from tape. ;)

 

 

@Willsy, a Forth conversion would be cool. :) We will see how things go with the development. ;)

  • Like 2
Link to comment
Share on other sites

I did some research there. You guys are much more clever than I. :)

 

Both games utilized excellent DATA methodology. This one is not quite as refined, but it will work. Based on the byte size of each set of level DATA, I should be able to get 10 full levels with instructions for each level.

 

Of course if I wanted to bypass instructions and just have a manual, I could almost double that number. :)

 

Still have some tweaking to do on the using of the Force... It is not quite as clean or refined as I would like. Once all engine code is refined and perfected, then I will start thinking about maxing out my level data. :)

  • Like 1
Link to comment
Share on other sites

Have made some decent progress, still a ton of program space left, somewhere around 5K. All game code should fit nicely with enough room for about 15 levels.

 

Each level eats up about 140 bytes without pre-level instructions, about double that with the instructions.

 

That gives me roughly 4K for levels, 1K left to finish out my game code.

  • Like 1
Link to comment
Share on other sites

Yea, it has definitely been fun, especially sharing the experience with my son. The second level was his design and he is working on levels 4 and 5 now. The level design has to be very rigid... Not including the border, we are allowing for 10 HCHARs, 10 VCHARs, and a specific number of specialty characters (done with a single screen position HCHAR).

 

It is a challenge to come up with unique maps with such a rigid design structure.

Edited by Opry99er
Link to comment
Share on other sites

Because I did the first level first and 10 and 10 worked there... When I sat down and did a test for the second level, I wanted to have the same number of draws so that I could keep the code tight. I ended up with something that worked, but my kid came up with a better looking level so we used his. Funny thing was, his wasnt 10 and 10, but it was only slightly off, so we changed it up a bit and that became Level 2. Now all 3 levels are working great and they are all 10 and 10. I know I could pad my data or put some values in for the number of HCHARs and VCHARs, but it has become a challenge to get all levels in that format which is now part of the fun... Nice thing is, all levels draw from the same draw loop with no mods.

Edited by Opry99er
Link to comment
Share on other sites

Okay... One liiiittle tiny logic problem to solve and then I will release a 1 level demo. It would be almost as easy to release a 2 ir 3 level demo, but special case handling has to occur for more than just the primer level, and I just don't quite have the time tonight to do it.

 

I can release the one level demo in the morning or a 3 level demo on Friday...

 

Decisions decisions... ;)

Link to comment
Share on other sites

Okay...

 

ESDX to move Yoda around the board.

 

"F" to engage "The Force"

 

Once "The Force" is engaged, you can move your Force cursor around in a limited field

 

Once you find an item within the field to pick up, "F" will pick up the item

 

ESDX to move the item around

 

"F" to drop the item and return to exploration mode

 

 

(sounds crazy, but it is fairly intuitive once you get the hang of it)

 

You can beat level 1 and go on to level 2, but you cannot beat level 2, as there are no "goal" tiles in level 2 yet. You can explore, move some stuff around, but you cannot 'win' the level.

 

 

REMEMBER: This is the starter level... super easy, just so the player can get the feel for the controls, etc.

 

 

 

1 LEV=1
2 CALL CLEAR
3 CALL SCREEN(2)
4 FOR I=1 TO 25
5 READ A,A$
6 CALL CHAR(A,A$)
7 NEXT I
8 PRINT "       JEDI GAUNTLET"
9 PRINT
10 PRINT
11 PRINT "   BY BUCK AND OWEN BRAND"
12 FOR GAP=1 TO 8
13 PRINT
14 NEXT GAP
15 PRINT "   PRESS ANY KEY TO BEGIN"
16 FOR GAP=1 TO 7
17 PRINT
18 NEXT GAP
19 FOR CSET=1 TO 8
20 CALL COLOR(CSET,16,1)
21 NEXT CSET
22 CALL KEY(0,K,S)
23 IF S<1 THEN 22
24 CALL CLEAR
25 PRINT "THIS IS THE JEDI GAUNTLET..."
26 PRINT "  YOU MUST MOVE YODA FROM   "
27 PRINT "   HIS HOME IN THE DEGOBA   "
28 PRINT "SYSTEM AND BRING HIM TO THE "
29 PRINT "  DEATH STAR TO FACE DARTH  "
30 PRINT " VADER.  THERE WILL BE MANY "
31 PRINT "  CHALLENGES ALONG THE WAY. "
32 PRINT "      ARE YOU READY?        "
33 PRINT
34 PRINT
35 PRINT "  PRESS ENTER TO CONTINUE  "
36 CALL HCHAR(4,15,128,1)
37 CALL HCHAR(4,16,129,1)
38 CALL HCHAR(5,15,136,1)
39 CALL HCHAR(5,16,137,1)
40 CALL HCHAR(6,15,130,1)
41 CALL HCHAR(6,16,131,1)
42 CALL COLOR(13,3,1)
43 CALL COLOR(14,11,1)
44 CALL KEY(0,K,S)
45 IF S<1 THEN 44
46 IF K<>13 THEN 44
47 CALL COLOR(13,2,1)
48 CALL COLOR(14,2,1)
49 READ A$,B$,C$
50 CALL CLEAR
51 PRINT A$
52 PRINT B$
53 PRINT C$
54 PRINT
55 PRINT
56 PRINT
57 PRINT
58 PRINT "  PRESS ENTER TO CONTINUE  "
59 CALL KEY(0,K,S)
60 IF S<1 THEN 59
61 IF K<>13 THEN 59
62 READ PR,PC
63 FOR C=9 TO 15
64 CALL COLOR(C,2,1)
65 NEXT C
66 CALL CLEAR
67 CALL HCHAR(1,1,96,32)
68 CALL HCHAR(24,1,96,32)
69 CALL VCHAR(1,1,96,24)
70 CALL VCHAR(1,32,96,24)
71 CALL HCHAR(23,2,51)
72 REM    
73 FOR VDISP=1 TO 2
74 READ CNUM
75 FOR VWALLS=1 TO 5
76 READ A,B,C
77 CALL VCHAR(A,B,CNUM,C)
78 NEXT VWALLS
79 NEXT VDISP
80 CALL HCHAR(23,2,50)
81 FOR HDISP=1 TO 2
82 READ CNUM
83 FOR HWALLS=1 TO 5
84 READ A,B,C
85 CALL HCHAR(A,B,CNUM,C)
86 NEXT HWALLS
87 NEXT HDISP
88 CALL HCHAR(23,2,49)
89 FOR SPC=1 TO 10
90 READ A,B,C
91 CALL HCHAR(A,B,C)
92 NEXT SPC
93 CALL HCHAR(23,2,32)
94 CALL HCHAR(PR,PC,132,1)
95 FOR A=9 TO 15
96 READ F
97 CALL COLOR(A,F,1)
98 NEXT A
99 REM         TOP OF GAME LOOP    
100 CALL KEY(0,K,S)
101 IF S<1 THEN 99
102 IF K=69 THEN 108
103 IF K=83 THEN 120
104 IF K=68 THEN 132
105 IF K=88 THEN 144
106 IF K=70 THEN 156
107 GOTO 99
108 REM    
109 PR=PR-1
110 CALL GCHAR(PR,PC,A)
111 IF A=32 THEN 117
112 IF A<105 THEN 115
113 IF A>108 THEN 115
114 GOTO 236
115 PR=PR+1
116 GOTO 234
117 CALL HCHAR(PR+1,PC,32,1)
118 CALL HCHAR(PR,PC,132,1)
119 GOTO 99
120 REM    
121 PC=PC-1
122 CALL GCHAR(PR,PC,A)
123 IF A=32 THEN 129
124 IF A<105 THEN 127
125 IF A>108 THEN 127
126 GOTO 236
127 PC=PC+1
128 GOTO 234
129 CALL HCHAR(PR,PC+1,32,1)
130 CALL HCHAR(PR,PC,132,1)
131 GOTO 99
132 REM    
133 PC=PC+1
134 CALL GCHAR(PR,PC,A)
135 IF A=32 THEN 141
136 IF A<105 THEN 139
137 IF A>108 THEN 139
138 GOTO 236
139 PC=PC-1
140 GOTO 234
141 CALL HCHAR(PR,PC-1,32,1)
142 CALL HCHAR(PR,PC,132,1)
143 GOTO 99
144 REM    
145 PR=PR+1
146 CALL GCHAR(PR,PC,A)
147 IF A=32 THEN 153
148 IF A<105 THEN 151
149 IF A>108 THEN 151
150 GOTO 236
151 PR=PR-1
152 GOTO 234
153 CALL HCHAR(PR-1,PC,32,1)
154 CALL HCHAR(PR,PC,132,1)
155 GOTO 99
156 REM    
157 FCR=PR+1
158 FCC=PC
159 CALL GCHAR(FCR,FCC,A)
160 FC=115
161 CALL HCHAR(FCR,FCC,FC,1)
162 CALL KEY(0,K,S)
163 IF S<>1 THEN 162
164 IF K=69 THEN 170
165 IF K=83 THEN 182
166 IF K=68 THEN 194
167 IF K=88 THEN 206
168 IF K=70 THEN 218
169 GOTO 162
170 REM    
171 FCR=FCR-1
172 DIF=ABS(PR-FCR)+ABS(PC-FCC)
173 IF DIF>4 THEN 180
174 IF FCR<2 THEN 180
175 CALL GCHAR(FCR,FCC,B)
176 CALL HCHAR(FCR,FCC,FC,1)
177 CALL HCHAR(FCR+1,FCC,A)
178 A=B
179 GOTO 181
180 FCR=FCR+1
181 GOTO 162
182 REM    
183 FCC=FCC-1
184 DIF=ABS(PR-FCR)+ABS(PC-FCC)
185 IF DIF>4 THEN 192
186 IF FCC<2 THEN 192
187 CALL GCHAR(FCR,FCC,B)
188 CALL HCHAR(FCR,FCC,FC,1)
189 CALL HCHAR(FCR,FCC+1,A)
190 A=B
191 GOTO 193
192 FCC=FCC+1
193 GOTO 162
194 REM    
195 FCC=FCC+1
196 DIF=ABS(PR-FCR)+ABS(PC-FCC)
197 IF DIF>4 THEN 204
198 IF FCC>31 THEN 204
199 CALL GCHAR(FCR,FCC,B)
200 CALL HCHAR(FCR,FCC,FC,1)
201 CALL HCHAR(FCR,FCC-1,A)
202 A=B
203 GOTO 205
204 FCC=FCC-1
205 GOTO 162
206 REM    
207 FCR=FCR+1
208 DIF=ABS(PR-FCR)+ABS(PC-FCC)
209 IF DIF>4 THEN 216
210 IF FCR>23 THEN 216
211 CALL GCHAR(FCR,FCC,B)
212 CALL HCHAR(FCR,FCC,FC,1)
213 CALL HCHAR(FCR-1,FCC,A)
214 A=B
215 GOTO 217
216 FCR=FCR-1
217 GOTO 162
218 REM    
219 IF FFLG<1 THEN 225
220 IF B=32 THEN 223
221 CALL SOUND(100,440,1)
222 GOTO 162
223 FFLG=0
224 GOTO 100
225 IF A=113 THEN 228
226 IF A=112 THEN 228
227 GOTO 233
228 FFLG=1
229 FC=A
230 A=32
231 CALL HCHAR(FCR,FCC,FC,1)
232 GOTO 162
233 CALL HCHAR(FCR,FCC,A)
234 CALL SOUND(100,440,1)
235 GOTO 100
236 REM    
237 CALL CLEAR
238 PRINT "WELL DONE, JEDI..."
239 LEV=LEV+1
240 GOTO 44
241 DATA 104,"3C353E68F878B86C",105,"0008065D3F141C17"
242 DATA 106,"3F78F068140A0500",107,"0030F8D48A8582C0"
243 DATA 108,"E0F0781C0C020000",112,"000000FFFF000000"
244 DATA 113,"FFC3A59999A5C3FF",96,"FF99FF9999FF99FF"
245 DATA 97,"F8809CC606382021",128,"000040673D0F0701"
246 DATA 129,"000002E6BCF0E080",130,"01030E0000000000"
247 DATA 131,"80C0700000000000",132,"BDDB3C187EFF993C"
248 DATA 136,"070F1D3F3B393F0F",137,"E0F0B8FCDC9CFCF0"
249 DATA 138,"3062DC5448200CC0",139,"000000007F6B557F"
250 DATA 144,"0000FF00AA00FF00",145,"2A222A222A222A22"
251 DATA 146,"00003F202A202B22",147,"2A22EA02AA02FE00"
252 DATA 148,"2A222B202A203F00",149,"0000FE02AA02EA22"
253 DATA 115,"E7818100008181E7"
254 DATA "    TAKE YODA FROM HIS"
255 DATA "  UNDERGROUND HOME TO THE"
256 DATA "      X-WING FIGHTER"
257 DATA 2,15
258 DATA 97,12,5,5,10,9,4,7,17,4,17,11,6,18,14,6
259 DATA 138,2,14,3,2,16,4,2,17,4,3,20,10,2,22,10
260 DATA 97,6,4,14,9,2,14,11,11,7,13,9,21,16,5,27
261 DATA 138,4,24,8,7,23,8,10,24,8,19,17,15,22,17,11
262 DATA 20,29,105,21,29,106,20,30,107,21,30,108,4,15,112
263 DATA 10,21,113,23,11,113,23,11,113,23,11,113,23,11,113
264 DATA 3,16,7,16,3,11,5
265 DATA "   REPAIR THE MILLENIUM"
266 DATA " FALCONS HYPERDRIVE BEFORE"
267 DATA "     YOU ARE CAPTURED"
268 DATA 22,6
269 DATA 96,9,12,4,9,21,4,5,24,4,5,30,4,20,24,4
270 DATA 145,15,3,9,15,9,9,9,5,2,9,7,2,20,30,4
271 DATA 96,8,12,10,13,12,10,4,24,7,9,24,7,19,24,7
272 DATA 144,14,4,5,15,10,22,19,10,14,8,6,1,11,6,1
273 DATA 14,6,112,13,16,112,15,27,112,9,6,139,8,5,146
274 DATA 8,7,149,11,5,148,11,7,147,14,3,146,14,9,149
275 DATA 16,16,7,16,3,11,5
276 DATA "    DEATH STAR LEVEL 1"
277 DATA "   GET TO THE HYPERLIFT"
278 DATA "  WITHOUT GETTING CAUGHT"
279 DATA 2,15
280 DATA 97,12,5,5,10,9,4,7,17,4,17,11,6,18,14,6
281 DATA 138,2,14,3,2,16,4,2,17,4,3,20,10,2,22,10
282 DATA 97,6,4,14,9,2,14,11,11,7,13,9,21,16,5,27
283 DATA 138,4,24,8,7,23,8,10,24,8,19,17,15,22,17,11
284 DATA "    DEATH STAR LEVEL 2"
285 DATA " CROSS THE BRIDGE WITHOUT"
286 DATA "     GETTING KILLED"
287 DATA 2,15
288 DATA 97,12,5,5,10,9,4,7,17,4,17,11,6,18,14,6
289 DATA 138,2,14,3,2,16,4,2,17,4,3,20,10,2,22,10
290 DATA 97,6,4,14,9,2,14,11,11,7,13,9,21,16,5,27
291 DATA 138,4,24,8,7,23,8,10,24,8,19,17,15,22,17,11

Edited by Opry99er
  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...