Version 0.9: monster graphics!
features
- Mons in save data
- Image decompression system added
- based off the system used in the gen 1 and 2 pokemon games with some changes to better fit pico-8
- Display mons in battle mode
- mon info menu system
- view mons
- view stats, moves, info
- change mon placement
- mons appear on start menu
- i thought it would be a fun way to show off all the cool monsters that are in the game so far
- you cant catch all of the ones shown
- cleanup and token saving measures
story time
Hello! this update came out really fast as far as this major feature being added. this is because i had been working on this part in a separate project as i was making the rest of the engine. It loads an image compressed into a string. there are some improvements i wouldve wanted to make but it didnt seem worth the token cost. anyways it works now. this was a major feature that i had to have in the game for it to be worth the challenge.
So I'm trying to use two sprite sheets per frame in my game using the new high memory video mapping. at the start of the game the video memory is moved to 0x8000. there are special sprites that are loaded from a string into 0xa0. What im trying to do is quickly switch to 0xa0, load/draw the compressed sprite, then switch back to the 0x80 sprite sheet. for some reason loading the sprite into 0xa0 overwrites sprites at the same position in 0x80, which is my main issue here. if anyone has advice or help id appreciate, i understand its a new feature so its not as well documented just yet.
copying sprites from video memory to 0x8000 (this is done in _init):
memcpy(0x8000,0x0,0x2000) poke(0x5f54,0x80) poke(0x5f5c,255) |
loading sprite data from string into 0xa000 (this is called sometimes during _update within a decoding function):
poke(0x5f54,0xa0) --load 0xa000 memory --buncha stuff that loads decompressed sprite for i=0,4096do sset(slot*64+i%64,64+i\64,0) [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=149955#p) |
Mon Engine Version 0.8
- Move loading bug fix
- Wild encounter pools
- Wild encounters are selected randomly from a weighted list
- Each map can specify which pool to select a Mon from
- Wild encounter data load
- Map data can store a byte referencing their wild encounter pool
- Text input system
- simple arrows to move cursor, [X] to add a letter, [O] to delete a letter
- saving
- save to .p8 file
- load from .p8 file
- Start menu
- load save file if present
- start new game if save file not present
- enter name for character
- pick colors of character
- Monster catching
so i didn't know if i was gonna share this or not, but I've spent a bit of time on this version.
Additions
battle system rewrite:
battle system was written a while back and needed to be cleaned up. now it is
battle loading:
battles can now be triggered by the init_btl() function. it is currently being used during NPC interaction and wild encounters, which work but are currently disabled. In addition, NPCs havea new interaction node that triggers a battle. You can try it out by answering "no" to the NPC.
code improvements in loading data:
cleaned up, rewrote, and overall made loading data neater and more token-efficient. a new read() function added to assist in this mission. All parts of the code written as table
I've been working on this project for quite some time now. Its a very ambitious project that aims to make a monster-catching game akin to the gen 1 and 2 Pokemon games. v6 is the first one I'm showing off. All it has is a complicated map compression system and some nice map physics. current features include:
- text engine
- simple battle engine (to be rewritten)
- simple mon, move, and team data (to be rewritten)
- custom map scrolling system
- map and object collision
- objects with node based ai system
- nodes for opening text box, asking yes/no question
- map data decompression
- teleporting player to different maps/positions via node
if anyone has any advice i'd be happy to take it. this project has 2 main goals: to push pico-8 (and myself) to its limits, and to create a mon game that has all the charm of pokemon while doing better in the things gamefreak does poorly (like graphics, mechanics, story, etc.). I want to make a whole YT video on this stuff but there were 5 other iterations and i wanted to get something about this game out there.
I'm not too ready for ideas for mons, story, ect. since im avoiding scope creep and I also want to find a good way to credit outside help (pretty hard to fit alot in an already cramped game). But I do want to give some famemons and fanmons a home in my game.