#NacaPet - A personal vpet built from scratch
1699 messages · Page 2 of 2 (latest)
"free me" in his eyes
I have to tidy up the wiring
I'm so amazed it worked first try
I suck at soldering
But if there's a challenge ahead I won't stop until it's complete
NICE. the one tap!
i did hot glue it right now to keep it together and avoid wires breaking from movement
hot glue and kapton tape are so nice for prototyping
i'll separate it later on whem i want to solder the reed switch and assemble it in the case
i did make a small soldering mistake where i soldered SDA from the accelerometer to ground, that's fixed now
accelerometer works great now
it's coming together so wellllllllllllll
also shorted before the VBUS with my piezo speaker, but that's something i fixed quickly
next i have to do is 3d print a revised top cover, the one i made has a mistake
you're super close to the full build 😄
revised top case has a small lip inside to keep the buttons in
this is so i can stick the screen as close as possible to the frame
oh yeah that'll make it nice and thin
buttons do petrude a bit from the screen, and i have to add a lip to my buttons to avoid it falling from the case
tho before i try to print a new one, i want to see if i can create this lip on my print
don't want to waste more resin
this is gonna look snazzy
I need to go fast, since I cannot focus on more than one project, I need to finish one before being able to continue with the other
Those buttons feel bad to me.
Some ESP32 dev boards use the AMS1117 as their LDO, but it's not ideal for power consumption measurements.
I think it's better to design a prototype PCB for testing.
I built an ESP32-S3 OLED Vpet last year, but the SSD1306 makes a high-pitched sound that I can't bear.
https://github.com/bitbank2/PNGdec
If you're going to use an SD card to store your graphics, I recommend using PNG files along with PNGdec.
PNG files are much simpler for end users to edit.
In my case, I load the graphics into PSRAM and render them in SRAM before feeding them to TFT_eSPI.
This is my ESP32 prototype board for the color vPet I built earlier. It includes buzzer, microSD slot, MPU6050 sensor and Li-ion charging circuit. But I've been playing with the Pi Pico these days. I still want IR function.
In my case I added a sort of line compiler onto the project to build the line and graphics, have to improve on it because I want to make it more user friendly
And honestly, I'd love to build a PCB for it with everything in it, will make things easier, but I don't know much about PCB design, and as I don't intend to sell them, idk
time to 3d print a revised case, should make it easier to fit the buttons and screen module
and sadly my ESP32 has no PSRAM, would love to have some to mess with higher quality backgrounds and such
Mine does that 🤣 I added a filter
I was resin printing and I heard a loud noise, turns out I didn't screw the vat to the machine
Oh well, looks like nothing broke
Remember kids, check your machine before printing
At least the adhesion is good
Did a test fit with the broken screen
Exquisite
I'll remove it now since the inside isn't fully cured tho
looking goooooooooooooooood
I'll also go tomorrow and see if I can get the reed switch and finish assembly
I'm very surprised this didn't get a lot of attention last year. This is the slickest looking one I've seen so far. One of the few that compete with the official V-Pet sizes.
I'm trying to make it fit into the most standard case looking thing yet
But I need room for the battery
And since I'm not doing a PCB one, I'm taking extra room just by the size of some useless components
I do wanna try to port my stupid vpet engine into a black and white version
With a proper LCD non backlit display
But that will see the light at a very very later date
gg
I see some heavy sanding there
Closed it temporarily
Need to redo the reed switch and move the speaker below the esp32
That way I'll have room for a battery
i might redo all my wiring ngl, wires are too long
The bevels/edges/corners came out really nicely
first i have to learn how to use the solder sucker 3000
Good luck! I couldn't get mine to work when I last tried. It might have been a technique/skill issue tho. Lemme know how it works out for you
I was considering desoldering wick for next try
i tried desoldering wick and also wasn't successful
i cannot get the solder to flow towards the wick, and there's solder left inside the holes
Hmmmmm I wonder if you need to add flux to guide it for wick
Either way, there's gotta be something that works lol
also my soldering iron is much better than the one i had, but it also sucks
you have to press very hard for it to work
tip comes loose when being used, and doesn't transfer heat
Probably oxidized
Need rosin flux
I basically never leave the soldering iron without tin
And everything works better
Redid soldering, I'm much more satisfied, the cables are shorter and I can fit the speaker within the top half
And I also got the hang of soldering
How it started
And now it's going much better
But I did break a few pads on the esp32, specially where I mapped the buttons
I was still learning how to use the solder sucker when it happened yesterday evening
And I accidentally attacked the top button to a strapping pin, which means I have to press it to boot the device and to program it
And how it's going
I'll move the top button to another pin later, shouldn't be difficult since now I know how to do it efficiently and without hurting the board
Dont get me wrong, it looks awful because it is
Consider this is my first time doing a heavy soldering project
Tho after I did solder my esp32 c3 for another project, and it came out very good, will show in a bit
Rate this attempt
did you desolder that one?
So much better
I didn't mean any ill will with the 😱
You're doing great, and making progress.
Hope you got some cold water on that quick! don't want any blistering.
Just make sure you clean up the flux to avoid corrosion 🙂
yeee, i need to get alcohol
also fun fact, i used fragments from an ethernet cable to assemble everything
Dude recycling is always the way to go!
So much copper in those old network cables.
Whenever i get a new router from an isp i think. Hell yeah free copper wire!
honestly, i love this cable, i can solder to it very well, and it is very flexible
originally i was using solid core, and it wasn't working out
solid core is great for breadboard and perfboards but that's about it.
i think i ran out of solder
If you can get some leaded solder in your country, definitely go for some of that, it's way easier and better.
Can't get it in the USA and some other countries though.
Just make sure you don't breath it in at all.
Lead doesn't vaporize at soldering temps thankfully.
Don't breathe ANY solder/flux fumes tho! Not just leaded. But after handling leaded, be sure to wash your hands really really good.
I try to use gloves. It takes too much rubbing alcohol to get the flux residue completely off and it dries my skin way out
try dish washing liquid. that works great to remove any flux or oils.
that's a good idea. i was using weak hand soap to try before
i keep a bottle of dawn in my workshop instead of hand soap and that shit works wonders.
If you put leaded flux on your hands it’s already late and you are absorbing lead through your skin
Better use some protection
I did not
I’m not saying you did! Just that it’s better to prevent that
Ohh I see, yeah I'll keep in mind when buying flux
My flux has no lead
And I usually prefer unleaded when soldering
Yeah I definitely don't have any lead in my flux and even my solder I don't handle directly.
Ello
We are back onto this
Ordered a new set of parts and made a PCB schematic
Gonna get a manufactured PCB
Also the design will have to change, but I can already say that the battery will be 2000 mAh
I should have all the pieces here in 10 days or so. This time I got myself a button less screen module, through hole switches, a few headers, another MPU6050, another ESP32, battery and charging module, and this time, to save space, I got a piezo disc speaker
The current pc buzzer setup needs a lot of clearance
I also was eyeing this out for another thing, looks very promising
I had an epiphany of a dual screen vpet, something where you have a main screen and then a low power screen that's always on displaying your little guy walking
But then I looked at how much free IO I have to work with
dual screen is if you want to have something on both at the same time.... if you are just going to be switching between both screens is better to have just one (my piece of mind) if you want to use that idea you need to take more advantage of it just than a low power alternative when the main is off (otherwise it wouldnt be worth it i think)
I'm so keen to see this come together!
With all your work on other projects, I just know this is gonna rock!
and while i'm at it, might aswell design a board for a better wificom, rather than my cardboard box
i thought it'd be more difficult to make a board
turns out it's easier than i thought
Got some solder, gonna finish restoring my ESP32 and the display back to original condition
donetes were a must no doubt XD
Mercarroña is a stop between my home and the store
And I didn't have any merienda
So might as well get one
i got a sad yogurt to avoid going for the icecream xd
Make ice cream out of yoghurt
A bit of soldering and frustration later, I managed to solder pin headers back into my ESP32 and the screen, and it still works
The esp32 isn't happy
Esd go crazy
Anyway, looks like the screen is bigger than the one I originally had
From 1.3 to 1.54
Nice
I'll update the footprints later on
Once combined it shouldn't be bigger than this
Screen will be connected with a ribbon to the board, and the mpu will be on the underside
Battery looks like it will arrive in September, but I'm not in a rush
I think I just witnessed the wifi chip of my old esp32 die? For some reason it is not connecting to my home wifi anymore
Maybe it's something with the router? I'll see later
It was getting very very hot
At least this one works
Esp32 can sometimes get stuck in a disconnected state. Use the function WiFi.disconnect(true,true) with those arguments.
This will clear the ap details and disable the radio.
i mean to have it always online
it's for another thing
even after rebooting it does not seem to want to connect to the network
oh nevermind
Ap details are stored in flash memory, so a reboot will not actually reset the wifi configuration, only reinitialize it.
it's a thing with the wifi in the bottom floor
it's also happening with the new ESP32
guess i might have misconfigured the routers in a way so that they don't behave like standard access points in a mesh
Even if you force an ap clear before it connects to the wifi initially that should resolve the issue.
oh i just realized why it gets so hot when it loses connection, the chip tries to reconnect
i thought it just gave up
and very aggressively too, since it just takes a second after i press hotspot enable on my phone
It makes some sense. Things with Internet want Internet
And maybe you just moved a bit away, gotta try again, with more intensity
When you initialise the wifi, you can set a time out to disable the radio. This functionality is essential for any device with an always on connection and a battery.
Will return to it while I'm doing VB Helper, been feeling the itch of not doing anything microcontroller related
First I'm gonna finish a few NacaBattle things and finish my exam week
I also had ideas as to how increase efficiency while dealing with the mpu6050 when the system is in sleep
I'm also debating whether to get a lower res screen in order to lower memory usage, or just get an esp32 with psram
But since I want to keep costs down for everyone who builds it, I'm gonna continue trying without psram
I also resurrected the chart hummus made up when I was trying to get ideas for lines in this device. I want another 6 lines, if anyone can help me do that I'd greatly appreciate it, I don't know much about line creation and I want to see something bug themed, metal themed, maybe also dragon and beast themed?
Let's trick this rust bucket into starting up, I feel like hatching something in my own vpet
Still works like it was yesterday
I'm gonna change the layout a bit around, since I lost all the PCB files I was making and my 3d model did not fit, time to rethink
But let's not get ahead of ourselves, I still have to finish a few naca things and also a few vb things before returning to this
I do have to say, I did want to make it compatible with NacaStorage, but since it's supposed to be modular, unless I send all the line data and sprite data to NacaStorage, add each users lines, it's gonna be tough
@calm sundial has leveled up! (103 ➜ 104)
I have finally found the forum for this
And my god am i interested
..also question
since this is open source, will there be a template made for NacaPet that will allow for modding in your own lines?
the implementation is the example.
Huh?
assuming it has a release where it contains play-ready assets. those are the example.
ohh
..so you can copy one and then edit the values to make a new egg group?
like
what the dm20 has with its multiple egg lines
well if naca has a 1-egg, all evos implementation (like all non-ver.20th vpets)... then no that wouldn't work.. you'd have to implement that.
there was an egg selection proccess though i think
There is egg selection at least, so that means multiple eggs will be in NacaPet i think
There are scripts in the repo to make your own line
:0
I'll have to see how to handle custom lines in NacaStorage, because if this becomes popular, NacaStorage can potentially crash
-# it's mostly because i have an unfinished mon line and i'm hoping to possibly finish it up and then run it on a vpet
So, I was determined to get 240x240 backgrounds working on this project
I wanted to take full advantage of the display
Well, I ran out of ram
So I had to improvise, and I got an esp32 S3, with 2MB of PSRAM and 8MB of flash
What does this mean? Build price increases by 4 euros or so
Also, should perform faster since I don't have to waste CPU cycles upscaling the images as they are rendered
Tbh, 2MB is a whole lot, I don't think I'll ever use more than 30%
The good news is, with the wificom apis I wrote for wificom ver naca, should allow this device to interface with naca without a computer
Look at that beautiful solder job, I can definitely say I've improved
Why do I now feel like there needs to be a “rate my soldering” channel lol that’s a beautiful job 10/10
uhhh
well
everything works, good news
bad news, i broke the screen again
Good news is, I had a backup plan
is someone counting the amount of screens i've gone through?
Also looks like the store I got the esp32 from sent an 8MB PSRAM/16MB flash by accident
I'm gonna get 4 screens
you can replace the screens on those right?
How nice of this seller, 3 screens of the same type for 6 euros
We can work together, my friend. I have a circuit board
If you display a 240x240 png, in ram it will use 240x240x4 bytes =230KB
It is time to
Buy another screen
Quick update, I improved optimization, screen renders quicker now since it's not having to upscale at runtime
And now it saves progress
I'm still using my backup plan, since I didn't order new screens
Gonna tidy up some code and I'll upload everything to GitHub
Now, if anyone wants, I'm looking for help
Currently I'm trying to draft a few evolution lines for this vpet
And I need help at that, since I lack creativity to build the different evo lines
excellent, i did not document the process of creating a line
good lord, i need to organize how to create a line, this is pain
How are you loading the data for each digimon, harcoded into program memory or loading it externally from a json or something?
It's from a custom data structure
And then I have a script in python that packs it into a binary file
i did also implement differential drawing instead of redrawing the whole screen, it improved speed by a lot
isn't that what most video codecs do too?
yeah, but i didn't do it until now since i was still thinking on how to implement it
plus drawing stuff on a screen is something i'm not used to
there are a lot of things i have to improve upon in this code
So essentially you could use any input for the data as long as your python script can align it all correctly in the binary?
In that case I would highly suggest supporting json files for easy customization then you can use those same files for visualizing and planning out new lines.
yeah, i'm going to end up using json on the import side, i want to make a web ui for customizing the roster eventually
That's awesome, keen to see how it progresses.
If you are using a binary for your data, you can pack that into a partition image and then access directly from the flash since the flash is memory mapped. You can get extremely fast loads with that but you have to make sure everything is perfectly aligned in the predicted addresses.
yeah, i'm currently using the spiffs filesystem, and i switched the upscale to upon loading
so sprites loaded are 16x16 still
which allows me for crazy things with the 16MB of flash this thing has
16 mb is a lot, ngl
i plan on adding 20 backgrounds, time aware, a mini farm and the rest for characters
every sprite sheet is like 6KB in my format
a bit more since it has a small header for attributes
could you reduce that by reducing available colours? it's not like you need more than like, 30 colours per image
yeah, but that'd mean making pallettes, and that's too much imo
[DEBUG] Free memory: 7989543 bytes
[MAIN]: Hunger timer 2780, hunger 1
[MAIN]: Strength timer 211, strength 13
[MAIN]: Change timer 261715
[MAIN]: RTC time is 51537
[MAIN]: Sleep counter is 0
[MAIN]: Care mistake count is 0
[MAIN]: Is sleep care mistake tripped? 0
gonna leave this here as a note, and will see how the memory usage is after a bit
i don't want memory leaks
gonna implement freezing
will come very useful now for pausing while i go out, since i cannot take this with me
had to modify the save structure, but now it should have freeze
out of bounds read, forgot to upload the sprite sheet to the device
awesome
i want to get greymon in my vpet, and i need to train 32 times
who programmed this line
oh.. right, it was me
32 times training later...
i got devimon
[DEBUG] Free memory: 7935055 bytes
[EVAL] cm=0, of=0, sd=0, ef=29
[EVAL] MIN cm=0, of=0, sd=0, ef=32
[EVAL] MAX cm=4, of=255, sd=255, ef=255
[EVAL] stb=0 stw=0
[EVAL] MIN stb=0 stw=0
[EVAL] NextID=4
[EVAL] Res 0
[EVAL] cm=0, of=0, sd=0, ef=29
[EVAL] MIN cm=0, of=0, sd=0, ef=0
[EVAL] MAX cm=4, of=255, sd=255, ef=32
[EVAL] stb=0 stw=0
[EVAL] MIN stb=0 stw=0
[EVAL] NextID=6
[EVAL] Res 1
effort 29
i'm going to scream
I don't think you need to worry so much about ram usage.
I've only got 2mb on the OVP and even with all the effects and buffers I got running, I've barely even cracked a full megabyte.
Yeah, I originally bought a 2MB esp32 S3
But looks like the AliExpress seller messed up and sent me an 8MB one
Free upgrade
Could this run on a LilyGo esp32 T-Display?
Not much progress today aside of fixing two bugs, wanted to watch a movie tonight
If it is okay with you, I'll finish adding compatibility with your hardware once I finish adding the planned features
嗯嗯,我忙完这阵后,我会给你邮寄设备🤝
time to resume working on nacapet, today i'm going to learn about custom lines
🥲 i have a board too
Custom lines?
Sadly it's gonna be difficult, I rely too much on the ESP32, and on a color screen
Yess
Mine is also in colour xD
I see!!!
That’s the worst part
I also feel the “lack of creativity “ problem xD
What’s the structure you will use for that?
Is it dual core?
If it is, then I can maneuver
It is!
What's the screen resolution? 240x240 too?
Supports charging a lipo battery at 1Amp
The screen is whatever you want as long as it’s spi
I use a 280x240 screen
Then it's not an impossible port
It should be easy
How much ram does it have tho?
I can send you one if you wanna try it hehe
512 kb
Not yet don't worry, and this time I'd buy it with my money
No PSRAM nor ram expansion?
No, just on chip
Thing is… I made it from scratch ahaha
Hmmm, we'll have to see about it, I was having pitfalls with the 512kb of RAM in the esp32
Maybe with the pico is different, or maybe there is a way to do it without relying too much on flash
Supports long term 8kb feram for save data forever
Right
Would help me test the board if you tried stuff on it :3
HOWEVER
it has no wireless
Cause wireless is a bitch for certification
Wireless is no issue
I do plan on adding wireless, but behind define flags
So each individual unit can cherry pick the features they want
It also has support for accelerometer, also behind a feature flag
:0
I'm going to change again the microcontroller for nacapet
this time i'm going to use a smaller microcontroller with native battery support
which i already have
Let's begin soldering it
Bought yet another screen
This time I got two
I'm gonna solder the buttons, battery, and the cables, leaving a slot for the display to sit in
I cooked
First revision of the nacapet
This is as small as I can get it
Without compromising on anything else
Screen is big, and is supposed to occupy the center, just that I added headers for easy debugging before installing the display
Battery functionality is also ready
Only thing I compromised on was the dock thing, but I think I can connect it to the speaker pin and every 5 seconds or so poll if it is near the dock
Its very compact
Vs dmx
For battery I'm thinking that 1500 will be enough
I wanna add a temperature sensor into it right now
But I have no more gpio
Anyway, the i2c bus should suffice
Tho I don't think I wanna make my digimon die out of heat stroke
I certainly will because is 3 in the morning and it's 26c
this is lookin pretty cool dude, cant wait to see what else you do
turns out i cannot debug in this reduced form factor
i wanted to add sleep capabilities to save on power and CDC will stop working due to sleep
so, to the breadboard we go back
sleep mode is working now
Now that this works, i wanna measure power consumption on battery
So for this, time to go back to the assembled version
let's make it count steps
It count steps, even in light sleep
It sleeps for 60 seconds, wakes for 10 seconds, evals vpet timers and then samples for steps
Does a simple rule of 3, and then goes to sleep
Screens are already going out of the origin country
lmk if you need a shell design im more than willing to contribute
i'll let ya know, thanks
i'm working towards making a pcb, so people can make their own versions
now, i have developed a way to change backgrounds, tomorrow i'll make the settings screen
i'm also looking for help at making digimon rosters for this
i have one planned, but i need to figure out the evo care mistakes and such
I should also start working on battles, i dont have any sort of colliseum
And i need to test digivolution
Making great progress bro! I love checking in and seeing how much you've done.
Thank you so much, I'm still learning a lot, but I want to push this as soon as I can
Gave +1 Digi-rep to @hoary fjord (current: #256 - 8)
setting screen is already helping me improve development
since i can toggle settings on the fly
Custom backgrounds
Sadly i cannot have more than 5
Since each bg is like 115k, it eats storage quickly
Ill see about compression
I cannot wait to have the screen and make this portable
I think the next thing in line will have to be battles
I need the battles in order to keep progressing
This is the part I'm afraid the most
Using 8 bit index colors can help drastically reduce the file size of 240x240 backgrounds. It's very rare that a background would need more than 256 unique colors.
You might even be able to reduce it down to a 4 bit index (2 colors per byte) and get them down to 1/4 size, with a little extra room for the palette.
I should try that, but I likes my high quality backgrounds
I'll make a palette system
i adjusted today the UI to use a better button layout
so, this means time to build rosters and battles
ESP32-C6 1.3 Inch LCD Development Board 240x240 IPS Supports WiFi 6 Bluetooth 5 Zigbee 3.0/Thread Type C ST7789 SPI Module
https://a.aliexpress.com/_mNJKz3t
Would something like this work? It can take sdcards so potentially expandable storage its also 240x240 so its the same dimmensions you already been working on
Idk if maybe a differnt esp32 platform might help
it's designed for the esp32 S3, i would have to check
ESP32 S3 Development Board 1.3 inch LCD Display Screen 240x240 QM18658 Sensor SD slot WiFi/BLE5.0 Mini TV For Arduino
https://a.aliexpress.com/_mMLGaLV
Theres also this one that has a jst connector for power and a gyroscope built in. Its based on the s3 and has the sd card slot
i'll check, this one is more likely to work
should work
it's actually better than my current unit
i'll port it to this unit accelerometer
it seems to have an acelerometer, but not the one i use
Nice! I didnt know if you were willing to change boards since i know part of the project was to make a custom pcb. I wasnt sure if that was a goal for your thesis
a custom pcb kinda will be an end goal, but it will just act as a backbone
you won't have to spend more than 5 euros on it
since it'll just serve to connect the buttons and the screen
If anything this frees up the foot print abit. You could shape the board to an adventure digivice design if you wanted
there was one person doing that
the good thing is that the code is open source, so you can adapt it to whatever micro you want
Are you hosting the code anywhere like github? I have an s3 i havent been able to use
i might move away from github
La leyenda
all you are missing are the UI sprites, i'll send the ones i'm using right now once i remove all the placeholders that use bandai images
naca, tell me, why had i not think of hosting my own git server till you dropped that link in chat
i host everything under the sun in my infra
as youshould
and now that we are all here
let's discuss lines
i have this line i've been building but i have no idea about adding care requirements
so
one sec while i plug in the hard drive
Random pie in the sky idea but if you use the internal flash as the main software and the sd card for different digimon eggs, kinda like the vital bracelet
my board cannot have sd card due to pinout
if i make another prototype iteration, i'll add sd card support
right now the internal flash allows for quite the roster, since each character is 6KB
all i do is take advantage of the internal ram and upscale on load
anyone wanna do the evo chart?
i cannot do everything myself
Ah that makes sense i ment if you use the board i sent but i handnt considered that it would need a library and new software for integration
xournal++ thing
it's not complex to add, i use standard filesystem objects
which abstract the media used
i'll eventually buy that board to test and make another prototype, but not rn
What evo requirements are thinking to use? Weight, level, training, win/loss, care mistakes?
eh, i honestly don't know yet which ones to implement
since evo isn't complete, y'all free to add whatevery you want as the evo reqs
you have available a step counter and weight, care mistakes, hunger, strength, effort
it's like a vital bracelet but made a vpet
Steps are interesting, how about having steps affect weight? Feeding can increase weight and steps lower it?
I like it its def worth a try, how acurate is its step counting rn?
very good
a bit like the d-tector if you ever played with one
a bit faster than the VB
I wish lol
it's also going to have an adventure mode on the sense like the vb has
but with all the characters and like another colliseum
Alright and you gotta have care mistakes thats like a must for digimon
Will you be using dp?
yesss
and i will make it so it restores when you move
and here it is, the debug information
And re- yeah, that
Siiick alright then how about levels?
that idk how to do
i honestly like how the dmx does it, but i think i'll make them step centric too
A simple exp chart should do, like the dmx. No reason to reinvent the wheel
For now leave it on somekind of integer toggle for testing
@shell birch has leveled up! (5 ➜ 6)
You can simplify the exp amount a bit, on the dmx every mon has 2 possible exp rewards, as either boss or not, and almost none have repeats
i'll see
now what i'm wondering is how to get started with the battle code
i don't know many statistics functions
i could do it like the sea digivices do it, and substract from hp
have two attack types with two damages
but i wanna see how should i do hits/miss
Simplest way is apply modifiers based on type to the dp then compare
i know nothing about what ap/dp things mean
The sea are fun with their battles, because the enemies use patterns of attacks, and depending on your shaking, you have 1 of 10 patterns you use
Generally the dp is just how strong they are, highest dp wins. But based on type as a modifier they gain or lose dp for that check
what should those modifiers be for example, and by how much without altering the entire power system
i know i added bp, ap and hp
ap i know is attack
bp and dp i think they are the same
hp is health
should be the ff ff ff
in that order
Depends on the device and battle system but uhhh lets say opponent dp remains the same and you get the modifier. You have type advantage its a 1.5 modifier on your dp. If your at disadvantage its 0.5 modifier
Ever play dnd? You could use dp as armour clas to check if it hits then subtract ur ap from their hp
never played dnd
Mega hits could do a 2x modifier
i barely played any fighting games in general
and i only know the current digimon systems because i can observe and process the data analyzed, but i actually have no idea about what goes under the hood
Armour class in dnd is your defensive stat. You roll a 20 sided die to attack, then add any modifiers your character has to that. If it higher than your enemy's armour class, then your attack lands and you roll for damage.
oh i see, i was gonna go with a more mathematical strategy
roll a 64 sided dice, and then apply the modifiers based on the state of the character and then calculate the outcome
Using dp can function in a similar way. Also can make items more engaging for item usage. But yeah leveling and training can change your dp ap and hp
items will be something i want to explore
since i would like to make it not very uninteresting
i also wanted to explore training like the digimon world games
so attack training, defense training, speed training
the device as it stands, supports multiple types of training
Def look at digimon world and story for gameplay ideas
i have two of them implemented, but the mashing type will be removed, since it'll degrade buttons quicker
i was thinking a few training types such as the iC game where you have to focus on a portion that constantly becomes smaller
also thinking about the dmog ver 1 training
Timed presses are always more engaging anyway like the log training and defense training
The guessing one where you go high or low?
yes
Pesronally im not a huge fan of that one since its luck based. I would suggest something like tje flag mini game in the tamagotchi paradise. Your tama raises either or both flags and you have to quickly press the corresponding button
But it is a classic
Might be good for hp training? Maybe you have to block high or low but they give you a quick second to react to incoming attack
This was huge in the 80s
now we wait
still going
the entire project fits into a single disk
@shell birch if i implement dp and bp, it's redundant?
either bp or dp or both
i still don't know much about the diff between those two
Theyre usually interchangable but sometimes bp is like a stamina stat determining how many attacks they can do
oh right
yeah, the BP would be the amount of stamina the characters before it cannot do any more attacks
Exactly
Btw heres humulos's research on the bandi battle systems
https://docs.google.com/document/d/11CuxpKQFaHexAbi8jHX4UnfhZVfovwDAXo5xYZCEDpM/edit?usp=drivesdk
Understanding Digimon Connection Signals Compiled by humulos First and foremost, this guide would not be possible without the amazing work of Bladesabre, from WithTheWill. Her work in being able to receive signals directly from Digimon devices and interpreting those signals has been instrumental...
Maybe it can help with the game design
Are you planning on being compatible with bandi devices?
Okay then it should be able to be an original battle system right? We can kinda define ststs how ever we want
It'll be something that works using usb, and naca
No metal prongs?
Since I'm expecting no one to have two of these units, I think I'll skip local connection
Maybe wireless instead
I don't have any more pins to do the connection
Oh wait right cuz you wanted to do a street pass function. Would they be able to make an adhoc network with each other?
I made mine from an altoids tin
That's an excellent form factor
I meant i cut it up yo make pins but you are right 🤔 🤔
Could use a room code system like the vpet go? That could trigger tge device to act as an access point that you can enter as a guest with the room code. It also helps so in the unlikely scenario there are multiple in tge same room there's no cross talk
Have you researched how to do the street pass function?
ESP Now
Its going to use NacaBattle already existing room system
headache, but i'm filled with determination to do this
see ya in a bit, today we are shutting down at 4 in the morning
Good luck man
Another approach is using PNGdec.h:
- Open the PNG file from LittleFS or microSD.
- Decode it and store the image data in PSRAM.
- Move the image data to the SRAM buffer when you need it.
PNG files are much easier to edit and maintain than hex files.
Here's my ESP32-S3 Analyzer project (WIP). It decodes a 320×320 PNG file from microSD card into SRAM and displays it on a 320×480 display.
P.S. If you're going to use a microSD card with the ESP32-S3, try SD_MMC.h. It's significantly faster than the standard SPI-based SD.h library.
While that approach is probably the best for large storage. I personally prefer to keep the sprites in flash memory and skip having to copy them to PSRAM.
PNGs are 100% more versatile than raw image data though, that's for sure.
I think sprites from the VB series or Digimon UP will be used more often. 😄
i might use this for an idea i have about a built in dex, issue is the IO, since i don't have any more pins
i could make use of the SPI bus in the screen, but i have no available CS line
actually, i don't have Pin 13 in use, so i could use it as CS

i'll just share the bus for the screen and the sd card
actually, this is going to be a bit more difficult than i thought, pin 13 would be MISO, so i'd need another way to do it
coming soon to a pick up point near me
Sometimes it does this and the NeoPixel turns on by itself
I don't even have the neopixel library
Cool
i forgot to share, but yesterday i stayed up until 4 in the morning, and i have the first demo of the colliseum
Screen be saying "I'm tired boss"
Its still very incomplete
I'm going to make also a shaking mini-game for the adventure mode quests and that should be it
i think i'm going to polish a few things in the status menu and stop for today
and return to uni work
i'm thinking about adding evolution items, such as digieggs
this is madness
50 digimon so far
54 actually
idk
i won't add more
or maybe i will
now i have to create lines
Neopixels will just pick up any noise on the pin if it's left floating.
Ctt do be running already
redid partition table, now it should fit around 300-330 digimon without accounting for other things
also, using 50% of the app partition, i might be able to cut at least 300KB more out of the app partition for the spiffs
redid it a bit more, maximizing the data partition as much as i possibly can
away with the OTA
i'm going to play with the cpu frequency
trying to see if i can downclock it a bit
160mhz + light sleep after 30 seconds, it isn't even warm to the touch
What kind of BMS are you using? or have you not got around to the battery side of things yet?
i'm using the one built into the esp32 itself
thing has battery + and - pins, and it appears to output 4.2v correctly, so it can charge the battery
Ah yes, the one built into the esp32-s3 super mini?
I've never actually tried using the battery terminal on them yet, how's the charge time?
haven't tested
downside is that it doesn't appear to have a connection to the ADC
so i cannot tell the battery % right now
I use those boards all the time in personal projects, never trusted the BMS. If you've had luck though I might give it a try.
i'll let y'all know
Thanks bro 👍
after all, this is a prototype, i'll be testing with more hardware as time goes on
in theory, since i didn't remove the boost resistor, it should charge the battery at 100mAh
and it has a 1500mAh battery
god this is going to take half a century
god i just had a moment of realization
my way of creating lines is overcomplicated and i should have just used CSV files
You gotta love those forehead bonk moments
70 digimon loaded successfully and only one background
It crashed upon hatching
I'm starting to think that using this ESP32 super mini battery booster was not the best idea
It's been giving me weird problems
why did i set the hatch time to 5 minutes
this is pain
another crash
is it loading a file that doesn't exist?
oh
so now that i open the serial monitor you hatch
eh
you trying to troll me?
small late night bug fix, turns out during clock edit, i was resetting the periodic interrupt that handles the vpet tasks, and i didn't have to do that
if i resetthe interrupt, the vpet tasks won't advance
Added a compiler flag to enable/disable the bed
Serial monitor can be really annoying when it comes to debugging, since it's a blocking task it can affect timing based crashes and essentially hide them. You best bet is to get actual serial debugging going and that way you can actually look at the stack and monitor specific variables during run time.
Hell yeah!
i added evo fail to a baby 1
Madness. Love it
Let's take it for a walk
Love that case
I dont like the battery booster in this thing
Im just noticing, i didn't implement effort
Finally
Actually screw dracmon, another day it'll be
time to work on the dex
ngl,i think i wanna have the ability to raise multiple charas simultaneously like the dm20 does
Thatd be cool
but not limit it to 2
rather, 4 charas at the same time
since the timers are very chill and long, i guess so people can go through evos quicker, they could raise up to 4 charas simultaneously
Like 4 active boppin around or 2 active 2 in cold storage?
4 active
Ooooo thatd be really really cool
currently i have a storage of 5 iirc
dex backend works
now i'll make a screen that is an egg selection and make it d-terminal esque to handle the dex
i'll do that tomorrow, or later, idk, i'm going to continue running this thing, since i'm starting to like it a lot
still cleaning some code, will push everything soon onto github
trying to make everything a bit more expandable
Day 2 of debugging, yesterday I found some bugs and fixed them