Play as Bella Shores in an adventure to find her father. Fight pirates and trade among islands in this open world, story-driven game.
Download an executable here to play through the same great story, but without latency or frame skipping.
- An open, randomly generated world
- Harbors that enable trade between islands
- A full story, complete with dialogue and a journal that Bella uses to record her journey
- 5 different types of boats you can buy
- 4 different types of enemy boats
- A map that shows your location in relation to all the other islands
How to Play
- Move using
- Shoot using the
Eto open the shop when you are near a harbor.
Rto open the journal. Use the
ARROW KEYSto scroll through entries. Journal entries will be added as the story progresses. If you have a journal entries to read, a red indicator will appear on the top left.
Fto open the map. Your location is displayed as a boat, your target destination is circled in black.
SPACEto progress through dialogue.
ESCto exit all menus
- As you move farther from the center, shops will sell more valuable items and more difficult enemies will spawn.
- Follow the story only if you want to. You can always just go out and get rich trading/fighting pirates if you want to. Bring your calculator if you want to make a profit trading, though. ;)
- The idea for the game is actually based off of TI-84+ graphing calculator project I worked when I was first learning how to program. This game is obviously quite a bit different than the graphing calculator version I made, it still is inspired by that original idea.
- While this game doesn't directly relate to the theme of cash, one of the main premises of the game involves the trading of commodities to make a profit. Commodities were actually used as a medium of exchange in ancient civilizations before currencies were created. Also, many currencies up until the mid 20th century were backed by gold (or other commodities). This meant that each bill had a set worth in gold. Now, most currencies are fiat currencies. This means that the value is defined by the government or a central bank, even if it lacks intrinsic value. Anyways, while a commodity is no longer cash, it used to be pretty darn close to it.
- Allow the user to save the game and start where they left off later
- Improve the story so the player learns more about Bella and her Father before the game ends
- Improve graphics, mainly by adding more to the islands so they are more pleasing to look at and by improving how harbors look
- Work on balancing so the enemies are the right level of difficulty
Notes to Judges
- I realize that you have a lot of submissions to grade, but it would mean a lot to me if you would play through the entirety of the campaign. It does take about 20-30 minutes, but it's not repetitious and there is story.
- Pay attention to the text boxes so that you know what to do next. I didn't have enough time to add in a feature that reminds what you need to do next (excluding the destination feature on the map)
- Read the journal entries! They add a lot to the story. Use the arrow keys to page through them.
- Run the game locally if you can. It'll make the combat a lot more fun. The latency/frame skipping on Repl makes it difficult to dodge bullets. I've provided an executable that runs the game really nicely.
- If you're on a Mac and can't run executables:
1. Fork the Repl and download the game as a zip.
2. Change the file paths for the fonts in the
ui_managerclasses. Search for
"/home/runner"and replace it with directory you have the game stored in.
replit.clear()in the main class.
4. You probably will want to delete the
pygame.FULLSCREENflag in the main class so your screen resolution doesn't get set to 800x600.
5. Make sure you have the Pygame module installed.
- This game's programming, art, and writing is by Josh Wood.
- The explosion animation was made by KnoblePersona.
- The Luna (handwriting) font was made by Amanda Leeson
- The 6809 Chargen (pixelated) font made by Raymond Larabie
- Special thanks to Scoder12 for helping the project get started and providing valuable feedback along the way.
@jarules214 Unfortunately the FPS isn't stable. I usually get ~40 FPS when signed in to hacker and ~20 FPS when not logged in. However, sometimes Repl will get really slow and I get <10 FPS whether I'm signed into hacker or not. Furthermore, Pygame Repls won't necessary stream all the frames to your computer. So even if you are running a high FPS, it may feel much slower due to frame skipping and latency.
I've profiled my code to try to figure out what is causing the FPS. The main problem is the tilemap of 16x16 images. Blitting all the images takes the vast majority of the processing time. To increase my FPS I think I would make the game not scroll so that I wouldn't have to redraw the entire screen each frame. However, I think doing that would make the game a lot less fun. I guess I just hope that the judges have hacker or try running the game locally. It really isn't that graphically intensive of a game, I think it should be able to run smoothly.