Homebrew AGameAWeek - 3DS

Jayenkai

Makes Games
OP
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,016
Country
United Kingdom
@Shubshub has been nagging me for ages to hop onto the 3DS Homebrew scene.
@Another World is always banging on about it on Twitter.
@spinal_cord says I'm late to the party, and.. well.. they're all right.

Better late than never, I suppose!

Game List

The following games are currently available as 3DS Homebrew. Click on through to the download page, and it should be fairly obvious where the download is.

Roland Eats a Stale Biscuit - A curiously difficult puzzle game.
Micro Clampett - A colourful platformer.
On a Space Shooting Trail - A fast paced Horizontal Shooter.
Flappadiddle-Doo - A flapping platform adventure.
Franken Hopper - A deadly flaming platformer.
Squashly Boop - Booping for Points
Blockman Gets Retro - A Dot-Munching puzzler.
NeoPlat Blast - A frantic single-screen Platformer.
The Link Janitor - A gentle colour-linking puzzle game.
Pogo the Fridge - Hop and Squish the rebellious fruit.
Radial Warning - Chaotic shooting in a dish
Might of the Balls - Paint the tiles red. (well, more a sort of orangey colour..)
Generic Snake Clone - A generic Snake clone.
Centipong Rebound - Colourful ball-bouncing insanity.
Quadoban 2 - Curious Crate Shifting
JNKPlat 2018 - Platform based puzzling action, with a Level Editor

If at any point I forget to update this list, you can find all the available 3DS Homebrew games on my site via this link.

-=-=-

What is AGameAWeek


Over the past .. far too many years, I've been developing AGameAWeek.
For the most part, I try my best to stick to a schedule of one game each week, although when busy or resting or any number of other excuses, I don't always achieve that goal.
Since August 2008 I've created over 300 games under the AGameAWeek name, ranging from obscure little platformers, to crazy space shooters, bizarre puzzle games, and more.

With each passing game, I'm learning more and more, and getting faster at what I'm able to achieve within such a short timeframe.
Whilst I might still occasionally putter out "Generic snake clone of the week", there are other times when I can make a 300 stage Picross clone, or a 1000 level dungeon crawler, or a sadistically difficult 80 level Sokoban-styled puzzler.
A lot of the games I create are highscore-battlers, simply because those are the types of games that I enjoy playing most often. Feel free to share your best scores with your friends, and become the ultimatest bestestest player!!

All games so far are available at AGameAWeek.com. There are many to browser through for Windows, a bunch for HTML5, a selection of Original DS Homebrew, some for Mac, Linux and AndroidTV, as well as a few iOS game, too. Soon there will be 3DS, too!
Hopefully you can join me for the ride.

-=-=-

Original Post

(I've come a long way in a short time!)

Over the past few weeks, I've been rewriting chunks of my AGameAWeek C++ Framework so that it can be used to compile projects for the 3DS, and after mountains of tweaking and poking and prodding, I'm finally starting to see a fairly decent result.
Right now I'm battling with memory limitations, and trying to figure out the fastest way to draw oodles of stuff on the screen, and will then need to work on audio, but as of about an hour ago, I was finally able to get a nice little test game up and running on the system.



Things to ignore in the above video.
1. My inability to play the game well using just one hand.
2. The sound of the washing machine doing a full-spin.
3. The sounds of my mother hammering together a small set of shelves!

Things that need to be fixed.
1. I have no idea why the font is so weirdly squished together. Something's up with the kerning, and I need to look into it.
2. There should be a background, but my buffer code hasn't been integrated, yet.
3. There's no audio, unless you count the hammering and the washing machine. These sounds will not be in the final game!

Things to be happy about.
1. That's a mostly-working game! :D
2. That's a normal everyday AGameAWeek game, so any and all future AGameAWeek games will hopefully be just as portable to 3DS. :D
3. Coming Soon - AGameAWeek!!! :D
 
Last edited by Jayenkai, , Reason: Updating a couple of links after a site update

Jayenkai

Makes Games
OP
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,016
Country
United Kingdom
Taking baby steps, right now. I seem to have quite a knack for adding random commands which the emulator handles without a beat, but the hardware throws an almighty crash at!
Having to learn not to overstep certain boundaries. It's been a long time since I had to do memory management!!

I’ve still to figure out how I’m doing audio, and additionally what I’m going to be doing for the bottom screen, but steps are being taken and the hopefully all should be good to go, soon.

As for what games. Well, this is literally my new standard AGameAWeek engine, now. I’ve decided to scrap any and all modern languages, and go for a bog standard c++ engine, so that (hopefully) any and all future games should work on all possible targets.
Or, at least, that’s the plan anyway...
Who knows how well it'll go down!
 
  • Like
Reactions: tozevleal

Jayenkai

Makes Games
OP
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,016
Country
United Kingdom
Not yet it won’t!
Still battling with memory complications. I originally planned to load my desktop sized art assets into memory, scale them down, and then free the larger assets, but apparently the 3DS doesn’t like all the loading and freeing!! Instead, I’m goi;g to have to do it all by hand.
Grrr!

But I’m getting there. Slowly but surely.
 
  • Like
Reactions: tozevleal

Jayenkai

Makes Games
OP
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,016
Country
United Kingdom
Made some fairly significant progress, today. I’m still getting crashes when quitting, but I’m also able to play all my current test engines on the 3DS, without significant issues, which is nice.
Still todo.. save files or scores, and then maybe figuring out what I’m doing with audio.. Not sure if OGG streaming will be doable!! But, hey, I might as well try!

So, yeah, things are definitely getting organised, and with any luck I might be releasing the first test game by the end of the month.
Or at least, that’s currently my target.
I imagine everything will go horribly wrong once I try to add audio into the mix!!!



Oh, and then doing the whole 2nd screen stuff, and figuring out the best way to do 3D'y..
 
Last edited by Jayenkai, , Reason: I KAN HAS GRAMMAR

Jayenkai

Makes Games
OP
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,016
Country
United Kingdom
I tried out Flappadiddle-Doo again, today, and it was very very broken!!

-=-=-

The tweaks I've been doing to the 3DS part of the framework have left it in tatters.
The switch to smaller 3DS specific spritesheets, smaller logos and other things had resulted in it being mostly a black screen when booted up.

So, I spent an hour or so rejigging the spritesheets, tweaking minor bits of code. I'll need to go further in and actually redraw most of the bird sprites, as they're all a little gnatty, after the lazy quick scaling that I did.
But otherwise it ended up working on the 3DS reasonably well.
Except for 2 things.
1. Still no bloomin' audio.
but more importantly..
2. The game was suffering from MAJOR slowdown!

The last time I had a Flappadiddle test running, I hadn't yet added primitive-drawing, so most of the particles, all of the trail, the wave at the bottom of the screen.. That was a LOT of drawing that the system simply wasn't doing, and so it wasn't really an issue that it was done using Immediate drawing calls.

But now it had a whole boatload more things to draw, and it wasn't very happy doing it all!

So, I took the time to rejig the drawing code.
I flipped the simple toggle I'd left at the top of the code to switch drawing from Immediate back to VBO-based drawing routines.

I'd initially ignored these "better" functions because spritesheet switching wasn't working right, but over the past month (*checks* Was that only a week ago!?!) I've learned a fair deal about doing 3DS Homebrew, and now it's all working exactly as it oughta.

As such, the game now just has one of those two flaws remaining..
.. It's still no bloomin' audio!!



It also doesn't do saves, yet, but hopefully that won't be as complicated as trying to get the audio to work.
.. Maybe..

But it's working, and it's nice and silky smooth, and it plays absolutely great!
:D
 
Last edited by Jayenkai, , Reason: Timeline Alteration!
  • Like
Reactions: tozevleal

Jayenkai

Makes Games
OP
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,016
Country
United Kingdom
Getting ever so closer to my first release.
Today I spent some time working on the whole "that top screen does 3D, you know!!" stuff.
I’ve added a simple Depth command to my Framework, and got the two "screens" (left and right eye) to render with slider based offset. Essentially, my 2D games can at least have an ounce of 3D depth, even if it does just become a case of simple layer depth effects.

I’ve also started work on the bottom screen, removing the debug stuff, and adding a simple method to render to there.
I now need to add touchscreen abilities, and shuffle the main menu down there, along with ingame scores.

I’m also REALLY struggling to get sound working, at the minute, so that's taking a lot of my time...
but ..
I am definitely getting closer!!

Maybe next week??!

Image-24-04-18-06-40-19-780.jpg
 
Last edited by Jayenkai, , Reason: I HAS ADIDD A PITCHUR

Jayenkai

Makes Games
OP
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,016
Country
United Kingdom
That sounds pretty interessting. Is there a github or anything for the base framework?

Probably not.. But yes.. .. But no.. But maybe..

At some point, I'll definitely be releasing *something* on my website, but you need to know that, the way I code isn't particularly reader friendly..
Although it'll all be there, you might not be able to understand a single bit of it!

Years of coding AGameAWeek has reduced my ability to code "nicely" into what can only be described as Abstract Spaghetti Code - EXTREME!!. .. Except worse than that!!
The way I code now, I tend not to worry about other people ever reading it, (because, over 400 games in, nobody ever has!!) and focus instead on just getting the end result to work as well as I can. And usually trying to do it all within the alarmingly small timeframe of AGameAWeek!

I have a strange ability to remember, almost photographically, where code is, what the code does, and basically how everything fits together, without needing to jot things down. As such, commenting, writeups and a lot of "standard" coding practices are all but ignored by me. One day that'll bite me in the arse, but I'm doing ok with it, so far!!
It really does result in a "For my eyes only" amount of gobbledy-gook coding, and.. once posted.. I expect nobody to ever dare poke around inside.

So.. Yes and no.. It'll be posted eventually, but you definitely wouldn't like it!
It certainly isn't something I'd put onto GitHub or the like. ..
Oh... The comments I'd receive!!! Yikes!!!
 
  • Like
Reactions: tozevleal

Jayenkai

Makes Games
OP
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,016
Country
United Kingdom
Today's been rather productive, as I've ironed out the last few random crashes that were occurring, including the "Hangs when you try to close it from the HomeScreen" bug that's been doing my head in for the past week or so.

I've now got score saving working, using standard fopen() methods. It seems a teensy bit slow, but is at the very least working.

The touchscreen menu/touch also now works, albeit in a slightly wonky fashion that I can probably fix up. That's all down to the amount of scaling the framework's doing to take my HD-based games and scrunch them down to the tiny 3DS resolution!! There's all manner of sprite scaling differences involved. Sometimes the engine uses the original HD sprites and scales them down when drawing them, whilst other times it uses special 3DS resolution-specific versions of the same images and so scales them differently. This all leads to some fairly chaotic maths to get everything to line up, and then trying to do my normally simple touchscreen "Draw a button using XYZ Image" code, things get fairly complicated!
Anyhoo, it's "mostly" working, now.

Upcoming Schedule
Monday : Last ditch attempt to get OGG music streaming to work. I have a method in mind, but it's going to require a hefty rewrite of the audio code in order to get it to work. It's something I didn't want to have to do, but it's looking like it's the only way to make it work. Bah humbug!

Tuesday : Test game. I'm not sure which of the workable games should be my test game, but I'd rather not have Flappadiddle be tainted by screams of "It doesn't work right!!" I'll probably do something a little more clinical, like Roland Ate a Stale Biscuit, or Slithering Waters.
Note : Even if I can't get the OGG working, I'll still release the test on Tuesday.

Wednesday : Hope that you guys all test out the test game enough that I can work out any kinks that need fixing.
Thursday : Same again.. I'm expecting a lot of crinkles that need ironing!

Friday : Release Day! Compile whatever will work and get gaming goodness going!!

That's the plan, anyway.
Hopefully it works out!

 
Last edited by Jayenkai, , Reason: I keep writing "DS" instead of "3DS"! Silly me!!

Jayenkai

Makes Games
OP
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,016
Country
United Kingdom
*copy and pasted from AGameAWeek.com*

-=-=-

3DS Homebrew test.. With a Biscuit

If you head over to the Roland Eats a Stale Biscuit page, at AGameAWeek.com, you'll find a lovely little .3dsx download button. Mmmm..

What should work
The game!!
The 3Dness (albeit subtle in this game! It's more noticeable in the Credits screen)
The two screens
The audio (except for the background music, and the jingle's apparently too big to fit into memory, too, so that's currently MIA)
Save data, so you don't have to redo from start every time!

What definitely doesn't work
In the options menu, there's an option to turn on FPS display. I've forgotten to put that back into the graphics engine. It's currently outputting to the text based "Console" layer, which has been switched off! D'oh!
The Music and Jingle don't work. I AM trying to solve this, but it involves a complete rewrite of the audio code, and I really haven't been in the mood to do that, today!!

What's a bit quirky
Some of the font can be ... wobbly. I'm not sure why that is! It's being looked into.

I do all my saving during the transition from the game's closure, back to the menu (where the Game Over/Level Complete screen appears)
Typicaly, the playing of the Jingle hides the fact that there's a slight pause whilst the game's saving, but without that happening, and in conjunction with the amount of gubbins the game is saving, along with the slower pace of the 3DS, it's quite a noticeable pause!
Apologies for that!!
I'll try my best to make my Framework deal with that a little better, in the future.

What needs testing
That it runs at all for you. If you can't run a .3dsx file, then please teach me about other 3DS homebrew techniques that you might be using. I'm new to this!

Please experiment with various methods of closing and opening the game, and let me know if anything locks up. It shouldn't, but I was having "home / close" freeze up on me until just yesterday, so .. might not be 100% yet!

Also, be sure to check that the save data saves. It should save to "path of 3dsx/Settings_AGameAWeek.sav" and "path of 3dsx/Save_???.sav". A reload of the game should hopefully bring the saved data back up, unlocking all previously unlocked levels.

Please report any and all oddities, and be sure to let me know which 3DS you're using, and your chosen methods of getting things running, and I'll look into finding out why things aren't quite perfect.

What I already know
Yes, the game is shockingly difficult.
Yes, every level is beatable.

Download
You can Download Roland Eats a Stale Biscuit, here.
Please do let me know how it goes.
I've got a handful of other games more or less ready for release, but only once I know that everything's working the way it should be.

Thanks for playing, and many thanks for any feedback you can give.
 
Last edited by Jayenkai, , Reason: Bbcode errorzz

Jayenkai

Makes Games
OP
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,016
Country
United Kingdom
I sat around waiting for feedback from the GBATemp community, in the hope that I might be able to fix up any potential issues with my 3DS Framework.
Nothing arrived.
I've left it there for 3 days, and... Nothing...

So, here's release #2, then. :\
Micro Clampett for 3DS Homebrew.



You can Download Micro Clampett here.

The game seems to work flawlessly on my hacked 3DS system, but mileage may vary, as there are many different hack methods to get these things running, and a multitude of different 3DS systems.
If the game fails to run for you, please (PLEASE!) let me know what you're using, and how you've hacked, in the hope that I can figure out why the game isn't running.

Without feedback, any issues that I don't know about are only going to get worse, and worse, and worse, as I release more and more games that use the same overall framework..

And, if it DOES work, be sure to let me know that, too, so that I know I'm on the right track.

Thanks for any and all feedback.

You can Download Micro Clampett here.
 
  • Like
Reactions: Joel16

rassular

Well-Known Member
Newcomer
Joined
Feb 18, 2018
Messages
85
Trophies
0
Location
htraE
XP
373
Country
Canada
I sat around waiting for feedback from the GBATemp community, in the hope that I might be able to fix up any potential issues with my 3DS Framework.
Nothing arrived.
I've left it there for 3 days, and... Nothing...

So, here's release #2, then. :\
Micro Clampett for 3DS Homebrew.



You can Download Micro Clampett here.

The game seems to work flawlessly on my hacked 3DS system, but mileage may vary, as there are many different hack methods to get these things running, and a multitude of different 3DS systems.
If the game fails to run for you, please (PLEASE!) let me know what you're using, and how you've hacked, in the hope that I can figure out why the game isn't running.

Without feedback, any issues that I don't know about are only going to get worse, and worse, and worse, as I release more and more games that use the same overall framework..

And, if it DOES work, be sure to let me know that, too, so that I know I'm on the right track.

Thanks for any and all feedback.

You can Download Micro Clampett here.

For me, both of them were flawless. I really have no complaints. Nice job, and looking forward to future releases.
 
D

Deleted User

Guest
Just saw this! I am really impressed!

Everything looks good, and am looking forward to this kind of thing.
 

Jayenkai

Makes Games
OP
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,016
Country
United Kingdom
Today, I've rejigged a lot of the framework's opening memory gubbins, although not the way I'd've liked.
In the end, rather than solving my memory management issues, I actually ended up stripping out the largest array completely, meaning that all additional lines (ship trail, bullet trail, explosion trails) in "On a Space Shooting Trail" are all now missing on the 3DS edition.
They're not anything you'll specifically miss, especially on the tiny 3DS screen, but .. they're definitely gone!

Anyhoo, after tweaking away, I finally got On A Space Shooting Trail running on 3DS, so .. Upload Gets!
It includes oodles of 3d-ness, but with everything being thin and small, it's not really all that noticeable.
Aw well..

Today39s_Tweaks_Blog_20180505A.png


I've uploaded a fixed 3DSHomebrew version of Micro Clampett (because I'd previously forgot to set the music volume!) as well as the new (for 3DS) space shooter, On a Space Shooting Trail.

Both should be working fine, but as always, let me know if they don't!
 
Last edited by Jayenkai,
  • Like
Reactions: rassular

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Sorry for accidentally bending over