JPL Prime: An ASCII Space Game.
02-21-2019, 12:43 AM (This post was last modified: 02-27-2019 12:06 AM by TheLastMillennial.)
Post: #1
 TheLastMillennial Member Posts: 115 Joined: Feb 2019
JPL Prime: An ASCII Space Game.
Since I'm new to the Prime Programming Language, for my first project I decided to port one of my own programs that I made for the TI 84 Plus CE, JPL. JPL game was actually the very first game I ever programmed on a calculator; it was a much simpler version though, not nearly as complex as the current version which placed third in the 2017 Cemetech Program of the Year!
Anyways, this game consists of a preset rocket sprite and the goal is to go through as many checkpoints as possible. The longer you survive, the more points you get.

It's an early version, but here's what I have so far (I apologize for the low GIF frame rate):

P.S. What's the best way to take GIF captures? I saw a screen capture option but it only took stills.

Here's a Github repository!

Todo list:
Make background black
Make 'stars' to make it seem like you're traveling through space

Make better graphics
Add touchscreen support (possibly drag support)

02-21-2019, 05:15 AM
Post: #2
 chromos Member Posts: 199 Joined: Jun 2015
RE: JPL Prime: An ASCII Space Game.
(02-21-2019 12:43 AM)TheLastMillennial Wrote:  P.S. What's the best way to take GIF captures? I saw a screen capture option but it only took stills.

https://www.screentogif.com/ is what I use.

Geocaching Coords Solver, Number of triangles Puzzle
02-21-2019, 09:55 AM
Post: #3
 grsbanks Senior Member Posts: 1,219 Joined: Jan 2017
RE: JPL Prime: An ASCII Space Game.
02-21-2019, 11:17 AM
Post: #4
 chromos Member Posts: 199 Joined: Jun 2015
RE: JPL Prime: An ASCII Space Game.

Sometimes less is more, and animated gif is perfectly suitable for simple task like short screen capture is.

Geocaching Coords Solver, Number of triangles Puzzle
02-21-2019, 11:20 AM
Post: #5
 Carlos295pz Senior Member Posts: 365 Joined: Sep 2015
RE: JPL Prime: An ASCII Space Game.
(02-21-2019 05:15 AM)chromos Wrote:  https://www.screentogif.com/ is what I use.

It is very good, it creates them in good quality and light :o

Viga C | TD | FB
02-23-2019, 02:01 AM (This post was last modified: 02-23-2019 05:03 AM by TheLastMillennial.)
Post: #6
 TheLastMillennial Member Posts: 115 Joined: Feb 2019
RE: JPL Prime: An ASCII Space Game.
Thanks for that software, it's working very nicely!

I'm making good progress, I've added a scrolling background to emulate stars. (I haven't made them not clip through the rocket yet though). I also added a 'boost' that makes your rocket move twice as fast it uses a new entity called OMS which runs out pretty quick. The amount of OMS that's used during a boost session increases as your score increases. Here's a new GIF! (The emulator is running much faster than the calculator does, it's also overlapping the score and OMS which doesn't happen on-calc)

I've updated the Github repository with this new version.

02-23-2019, 07:48 PM
Post: #7
 antidote Junior Member Posts: 4 Joined: Sep 2018
RE: JPL Prime: An ASCII Space Game.
(02-23-2019 02:01 AM)TheLastMillennial Wrote:  (I haven't made them not clip through the rocket yet though)

I've found that doing good collision detection is hard because GETPIX is really slow, like 1.5ms on a standard Prime (3X faster on a G2, which is nice).

I suppose experienced game designers have techniques to do it better with less brute force pixel searching.

I wonder if the design team has any secret recipes for reading the pixels more quickly. It would probably involve a lot of arcane low level stuff.
02-23-2019, 08:19 PM (This post was last modified: 02-23-2019 08:19 PM by pier4r.)
Post: #8
 pier4r Senior Member Posts: 2,178 Joined: Nov 2014
RE: JPL Prime: An ASCII Space Game.
Well done. I hope you will continue to contribute.

Did you do it with the prime keyboard or with the virtual calculator on the desktop?

Wikis are great, Contribute :)
02-23-2019, 08:37 PM (This post was last modified: 02-24-2019 03:58 AM by TheLastMillennial.)
Post: #9
 TheLastMillennial Member Posts: 115 Joined: Feb 2019
RE: JPL Prime: An ASCII Space Game.
antidote, instead of using getpix, I was thinking of checking the coordinates of each star, and if the star is going to be withing the coordinates of the rocket, then I won't draw the star. Although getpix might be useful for a future project I'm thinking of porting...

Thanks pier4r! So I've been using the HP Connect IDE (I haven't figured out how to get notepad++ working with PPL) then I've just been sending the file to my physical Prime and testing it on there. When I need to record something, I use the emulator.

so the stars wont clip through the rocket. I've added gradual checkpoint speed up code so it gets faster over time. I've replaced my Wait 10 command with TICK time detection (thanks to Luxen for the suggestion) so hopefully that will help future proof my game if I decide to add more intensive stuff. I've also refined the rocket hit block so it's more accurate to the actual bounds.
Here's a GIF! (This emulator is sooo wonky, the speed is weird (how do I slow it down?) and it's randomly moving the rocket to the far left)

A few questions:
Is there a better way to send .hpprgm files to the emulator other than editing the source code and copy/pasting it into the emulator program editor? EDIT: I just figured out that the HP Connectivity software recognizes the emulator as a physical calculator! Never in my wildest dreams did I expect that, kudos to whoever made that possible!
Also, is there a way to run programs by tapping on them rather than needing to scroll down with the d-pad and tapping 'run'? Or is there a way I can immediately run the program I just sent to the calculator?

02-24-2019, 06:44 AM
Post: #10
 Tim Wessman Senior Member Posts: 2,283 Joined: Dec 2013
RE: JPL Prime: An ASCII Space Game.
Two thoughts come to mind.

1. You might want to replace your ship with a grapical object. That way it can have transparency directly around the edges, with black in the middle. No work to clip.

2. You can change it to an app about now if interested. That let's you have files like png directly. Also though, make an "empty" app, give it a Plot( ) function and then you can run it by just hitting the plot button.

TW

Although I work for HP, the views and opinions I post here are my own.
02-26-2019, 11:55 PM
Post: #11
 TheLastMillennial Member Posts: 115 Joined: Feb 2019
RE: JPL Prime: An ASCII Space Game.
Thanks for the suggestions! I think I'll work on replacing the ship soon. How do I go about making my program an app? I'm not sure I will do that (I don't want to clutter up my apps screen too much) but it'd be nice to know.

I made some more progress, I changed the speed increase (It's not too noticeable on-calc, but the emulator goes crazy) so the checkpoints accelerate the more score you rack up. I also added a cool explosion when you fail!

02-27-2019, 03:44 AM
Post: #12
 Jacob Wall Member Posts: 157 Joined: Dec 2013
RE: JPL Prime: An ASCII Space Game.
Quote:How do I go about making my program an app?

APPS key -- < Pick any App > -- [Save]
- Enter a name for your app
- Make sure to choose "None" as your base app

Now open Connectivity Kit, expand the Application Library and locate your app. Double-click will open the contents of your app. Under the program tab is your code, with a number of handy key assignment helpers already pre-inserted (just need to un-comment).

Now to get your program converted over, here is a quite simple example that you'll probably get the hang of pretty quick:
Code:
#pragma mode( separator(.,;) integer(h32) ) // list names of sub-routines at the top RunMyApp(); MySubRoutine(); // declare global variables MyGlobalVar:=1,OtherVar; // what happens when the APP Start button is pressed START() BEGIN   MySubRoutine(99); END; // define the Symb key Symb() BEGIN   RunMyApp(); END; // your program code RunMyApp() BEGIN   OtherVar:=MyGlobalVar+1;   MySubRoutine(OtherVar); END; MySubRoutine(mynum) BEGIN   RECT_P();   TEXTOUT_P("Number is "+STRING(mynum),G0,5,5);   TEXTOUT_P("Any key to continue ...",G0,5,25);   WAIT(-1); END;
02-27-2019, 07:15 AM
Post: #13
 CyberAngel Member Posts: 296 Joined: Jul 2018
RE: JPL Prime: An ASCII Space Game.
(02-27-2019 03:44 AM)Jacob Wall Wrote:
Quote:How do I go about making my program an app?

APPS key -- < Pick any App > -- [Save]
- Enter a name for your app
- Make sure to choose "None" as your base app

Now open Connectivity Kit, expand the Application Library and locate your app. Double-click will open the contents of your app. Under the program tab is your code, with a number of handy key assignment helpers already pre-inserted (just need to un-comment).

Now to get your program converted over, here is a quite simple example that you'll probably get the hang of pretty quick:
Code:
#pragma mode( separator(.,;) integer(h32) ) // list names of sub-routines at the top RunMyApp(); MySubRoutine(); // declare global variables MyGlobalVar:=1,OtherVar; // what happens when the APP Start button is pressed START() BEGIN   MySubRoutine(99); END; // define the Symb key Symb() BEGIN   RunMyApp(); END; // your program code RunMyApp() BEGIN   OtherVar:=MyGlobalVar+1;   MySubRoutine(OtherVar); END; MySubRoutine(mynum) BEGIN   RECT_P();   TEXTOUT_P("Number is "+STRING(mynum),G0,5,5);   TEXTOUT_P("Any key to continue ...",G0,5,25);   WAIT(-1); END;

Is there a way to save these kind of advices somewhere in this forum as documents?
02-27-2019, 01:41 PM
Post: #14
 John Keith Senior Member Posts: 841 Joined: Dec 2013
RE: JPL Prime: An ASCII Space Game.
(02-27-2019 07:15 AM)CyberAngel Wrote:  Is there a way to save these kind of advices somewhere in this forum as documents?

Well, this is right near the top of the page.

It would be nice to see this description expanded into a mini-article for the aid of less experienced users.
02-27-2019, 07:10 PM
Post: #15
 CyberAngel Member Posts: 296 Joined: Jul 2018
RE: JPL Prime: An ASCII Space Game.
(02-27-2019 01:41 PM)John Keith Wrote:
(02-27-2019 07:15 AM)CyberAngel Wrote:  Is there a way to save these kind of advices somewhere in this forum as documents?

Well, this is right near the top of the page.

It would be nice to see this description expanded into a mini-article for the aid of less experienced users.

That's what I meant. Now zzzzz.....
02-27-2019, 07:22 PM
Post: #16
 Didier Lachieze Senior Member Posts: 1,525 Joined: Dec 2013
RE: JPL Prime: An ASCII Space Game.
(02-27-2019 01:41 PM)John Keith Wrote:  It would be nice to see this description expanded into a mini-article for the aid of less experienced users.

See the Tutorial #12 in the HP Prime Programming Tutorial by Edward Shore.
 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)