Homebrew Picroxx!, the ultimate Picross clone!

kedest

Well-Known Member
Member
Joined
Feb 6, 2007
Messages
3,289
Trophies
0
Website
Visit site
XP
534
Country
Netherlands
to use updated versions, do I just replace the boot.3dsx or are the changes also in the other files and do I have to download and unpack the entire rar archive?
 

Noelemahc

Well-Known Member
Member
Joined
Jan 28, 2016
Messages
133
Trophies
0
Age
37
XP
77
Country
Serbia, Republic of
This is normal, it's loading the music files which are pretty big.
Are you confined to them being that way because of the programming environment or it will be possible to move to a more compact format in the future? I haven't the slightest idea of what sound formats you can use =[
 

FireEmblemGuy

Celebrating a decade of shitposting
Member
Joined
Jul 6, 2007
Messages
2,462
Trophies
0
Age
32
Location
Michigan, USA
XP
871
Country
United States
I'm a big fan of Picross/nonogram-type games, but I'd question the legality of creating a 'free' open-source game where both the art assets and the puzzles are ripped wholesale from copyrighted works.

If it were me, I'd focus on getting the engine entirely operational, adding a basic set of original art assets (with the option to load the Picross DS versions if the original files are located somewhere on the device, but not bundled with the app), and adding some original puzzles (by using some sort of nonogram generator if you don't want something entirely random).

Regarding the game crash if the timer rolls over - I haven't looked at the code to see if/how you've fixed this, but rather than a 'graceful' exit it doesn't sound like it should be too hard to add in a catch for a rollover - if time >= 99:99:59 draw 00:00:00, etc., maybe add a rollover counter (although in just about any sane case it won't be used).

If .wav files are causing long load times, wouldn't it be a better idea to use some sort of compressed format? I don't know what's been implemented in LÖVEPotion, but LÖVE should have support for MP3 and OGG files.
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
9,910
Trophies
2
XP
29,696
Country
United Kingdom
Great to see, the world literally can't have enough picross :D Keep up the good work!

Once you've nailed the engine and everything, my suggestion/request would be adding support for downloading puzzles from one of those picross websites, where they have daily puzzles and people can make their own etc, so you'll basically have unlimited puzzles to play.
 

Osga21

Full Time Idiot
Member
Joined
Jun 9, 2013
Messages
297
Trophies
1
Age
27
Location
Margem Sul
XP
688
Country
Portugal
You know, when I downgraded my 2ds I thought that I would spend so much time playing pirated games like monster hunter, all those mario games, hyrule warriors, etc. But you know what's happened? I spend hours a day just playing picross, I had never heard of it, even though I'm a pretty big nintendo fan, but I downloaded all of the picross e titles and have been having a blast, and now someone releases a picross homebrew that will potentially combine all the picross games into one! Count me in, this is super amazing and you've done a great job!
 

Substance12

Well-Known Member
OP
Member
Joined
Aug 2, 2015
Messages
562
Trophies
0
XP
549
Country
Argentina
@Noelemahc @FireEmblemGuy I can't use MP3 or OGG files since LÖVEPotion only supports .WAV files as of now. When it gets support for compressed formats, i'll switch to one of them.

If I were to get in trouble, i'd just delete the Nintendo puzzles and use some custom ones. And at some point i'll change the assets, but I like how they look right now.

@hippy dave mind giving a link to one of these?
 

Substance12

Well-Known Member
OP
Member
Joined
Aug 2, 2015
Messages
562
Trophies
0
XP
549
Country
Argentina
New version! :D Sorry for the delay. This includes some juicy gameplay and QoL changes, as well as a new course, filled with 15x15 puzzles!

To update, remove everything on your Picroxx folder, except for the "/game/courses/" folder and paste the new files replacing everything.

Changelog:
  • Added the Kinoko course from Mario's Picross.
  • Now you can paint the grid by dragging the stylus around, instead of clicking the cells one by one.
  • Custom skin support! Click on the button on the level selection screen to switch between the regular skin and the custom one.
  • Quitting a puzzle will now put you back on the level selection screen, instead of the main menu.
  • Now the music won't stop on the level selection screen.
  • Slightly reduced loading times.
  • Reworked the parser (thanks @andre111!)
  • When a row or column is completed, they'll get marked as grey.
  • Empty rows or columns (with a 0) will get automatically filled with Xs.
  • Minor changes and bugfixes.
  • Other things I may have forgotten about.
Download it here:

https://github.com/Substance12/Picroxx/releases/tag/v0.2
 
Last edited by Substance12,

Jinnial

Well-Known Member
Member
Joined
Dec 28, 2015
Messages
113
Trophies
0
Age
24
Location
Missouri
XP
98
Country
United States
Thank you so much for creating this. Can't for it to be finished. If I knew enough about LÖVEPotion I would help you port some of the puzzles. Ohh well, maybe one day...

EDIT: After looking at some of the code, I might be able to help out with some of the level creation/replication.
 
Last edited by Jinnial,
  • Like
Reactions: Substance12

Substance12

Well-Known Member
OP
Member
Joined
Aug 2, 2015
Messages
562
Trophies
0
XP
549
Country
Argentina
Thank you so much for creating this. Can't for it to be finished. If I knew enough about LÖVEPotion I would help you port some of the puzzles. Ohh well, maybe one day...

Porting puzzles is reaaaaaaaaaaaally simple. Here's an example:

Code:
leveldata.gridsize = 15
leveldata.gamemode = "normal"
leveldata.number = 5
leveldata.letter = "F"

irow1 =  {".", ".", "O", ".", ".", ".", ".", ".", ".", ".", ".", "O", ".", ".", "."}
irow2 =  {".", ".", "O", "O", ".", ".", ".", ".", ".", "O", "O", "O", ".", ".", "."}
irow3 =  {".", ".", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", ".", ".", "."}
irow4 =  {".", ".", "O", ".", ".", ".", "O", ".", ".", ".", "O", "O", ".", ".", "."}
irow5 =  {".", ".", "O", ".", "O", ".", "O", ".", "O", ".", "O", "O", "O", ".", "."}
irow6 =  {".", "O", "O", ".", ".", ".", "O", ".", ".", ".", "O", "O", "O", ".", "."}
irow7 =  {".", "O", "O", "O", "O", "O", ".", "O", "O", "O", "O", "O", "O", "O", "."}
irow8 =  {".", "O", "O", ".", ".", "O", ".", "O", ".", ".", "O", "O", "O", "O", "."}
irow9 =  {".", "O", "O", ".", ".", ".", "O", ".", ".", ".", "O", "O", "O", "O", "."}
irow10 = {".", "O", "O", ".", "O", ".", ".", ".", "O", ".", "O", "O", "O", "O", "."}
irow11 = {".", "O", "O", ".", "O", ".", "O", ".", "O", ".", "O", "O", "O", "O", "."}
irow12 = {".", "O", "O", ".", ".", ".", "O", ".", ".", ".", "O", "O", "O", ".", "."}
irow13 = {".", ".", "O", "O", ".", ".", ".", ".", ".", "O", "O", "O", "O", ".", "."}
irow14 = {".", ".", ".", "O", "O", "O", "O", "O", "O", "O", "O", "O", ".", ".", "."}
irow15 = {".", ".", ".", "O", ".", "O", "O", "O", ".", "O", ".", ".", ".", ".", "."}

leveldata.gridsize will determine the size of the puzzle, leveldata.gamemode should stay on "normal" for now. and leveldata.number and leveldata.number determines which puzzle it is. For example this would be the puzzle 5-F.

On the irows, an "O" would be a cell that needs to be marked, and an "." would be one that needs to remain unmarked. After importing a puzzle, the game will take care of the rest.
 

Jinnial

Well-Known Member
Member
Joined
Dec 28, 2015
Messages
113
Trophies
0
Age
24
Location
Missouri
XP
98
Country
United States
Porting puzzles is reaaaaaaaaaaaally simple. Here's an example:

Code:
leveldata.gridsize = 15
leveldata.gamemode = "normal"
leveldata.number = 5
leveldata.letter = "F"

irow1 =  {".", ".", "O", ".", ".", ".", ".", ".", ".", ".", ".", "O", ".", ".", "."}
irow2 =  {".", ".", "O", "O", ".", ".", ".", ".", ".", "O", "O", "O", ".", ".", "."}
irow3 =  {".", ".", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", ".", ".", "."}
irow4 =  {".", ".", "O", ".", ".", ".", "O", ".", ".", ".", "O", "O", ".", ".", "."}
irow5 =  {".", ".", "O", ".", "O", ".", "O", ".", "O", ".", "O", "O", "O", ".", "."}
irow6 =  {".", "O", "O", ".", ".", ".", "O", ".", ".", ".", "O", "O", "O", ".", "."}
irow7 =  {".", "O", "O", "O", "O", "O", ".", "O", "O", "O", "O", "O", "O", "O", "."}
irow8 =  {".", "O", "O", ".", ".", "O", ".", "O", ".", ".", "O", "O", "O", "O", "."}
irow9 =  {".", "O", "O", ".", ".", ".", "O", ".", ".", ".", "O", "O", "O", "O", "."}
irow10 = {".", "O", "O", ".", "O", ".", ".", ".", "O", ".", "O", "O", "O", "O", "."}
irow11 = {".", "O", "O", ".", "O", ".", "O", ".", "O", ".", "O", "O", "O", "O", "."}
irow12 = {".", "O", "O", ".", ".", ".", "O", ".", ".", ".", "O", "O", "O", ".", "."}
irow13 = {".", ".", "O", "O", ".", ".", ".", ".", ".", "O", "O", "O", "O", ".", "."}
irow14 = {".", ".", ".", "O", "O", "O", "O", "O", "O", "O", "O", "O", ".", ".", "."}
irow15 = {".", ".", ".", "O", ".", "O", "O", "O", ".", "O", ".", ".", ".", ".", "."}

leveldata.gridsize will determine the size of the puzzle, leveldata.gamemode should stay on "normal" for now. and leveldata.number and leveldata.number determines which puzzle it is. For example this would be the puzzle 5-F.

On the irows, an "O" would be a cell that needs to be marked, and an "." would be one that needs to remain unmarked. After importing a puzzle, the game will take care of the rest.
Nice job for making it easy. I guess I will fork it and start with picross e since I have actually played that one and do all the 15x15 ones.
 
Last edited by Jinnial,

Substance12

Well-Known Member
OP
Member
Joined
Aug 2, 2015
Messages
562
Trophies
0
XP
549
Country
Argentina

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    bassviolet @ bassviolet: imma nice egg sammy