gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS homebrew announcements > EarthShakerDS Dead

#176209 - ant512 - Wed May 11, 2011 12:04 pm

EarthShakerDS is a work-in-progress port of an old ZX Spectrum game given away on a Your Sinclair covertape about 21 years ago. It's basically a variation of Boulderdash.

I decided to have a go at creating a DS port, mainly to test out my 2D graphics library, WoopsiGfx. There are a few features missing - sound effects and 24 of the levels - but it is perfectly playable in its current state.

Download the game here:

EarthShakerDS

Full sourcecode is available here:

Sourcecode


Last edited by ant512 on Fri Jul 20, 2012 1:08 am; edited 1 time in total

#176215 - ant512 - Sat May 14, 2011 7:27 pm

New version available:

EarthShakerDS 20110514

This version includes many bugfixes and improvements, including sound effects.

Changelog:

- Letters scrolling into view on title screen scroller draw correctly.
- Increased duration of each block's appearance in the title screen slideshow.
- Select button cycles through levels in level select.
- Up/down buttons wrap around when cycling through levels in level select.
- Start button can be used to select levels on title screen.
- Start button pauses the game.
- Added the majority of sound effects.
- Added music to title screen.
- Score and life counters get reset when a new game is started.
- Fixed bitmap recolouring when starting a new level.
- Remaining time scoring at end of level is more accurate.
- Player death graphic shown when player runs out of time.
- Barriers take away more time when pushed.
- Fixed gravity direction indicator.
- Blocks land correctly when they hit the bottom of the level.
- Finished level 8.

#176217 - ant512 - Thu May 19, 2011 6:59 pm

Earth Shaker DS is now complete! Download it from here:

EarthShakerDS 20110519

Changes since the last release include:

- All levels complete;
- Added main menu on title screen;
- Added sound test menu;
- Added all sound effects;
- Added map screen;
- Miscellaneous bugfixes and tweaks.

#176218 - another world - Fri May 20, 2011 2:40 am

this is really well done and it is extremly fun to play on the nds.

there are a few movement issues, perhaps the movement could be a little more tight. when you pressleft, right, etc, quickly in a row there seems to be a slight pause between movements. however, just holding the directional pad is very smooth so perhaps if you just play with that style this will not be an issue for most.

the only thing that would really put this over the top would be a level editor and a way to load external player made levels.

excellet job!
-another world


Last edited by another world on Fri May 20, 2011 4:42 am; edited 1 time in total

#176219 - another world - Fri May 20, 2011 4:42 am

after playing with this for a while i have two suggestions. the first would be for a way to get back to the main selection title screen. holding L+R to end your life is not an ideal way when you have more than 1 life. The second suggestion would be to allow the user to bring up the map (pressing X) more than once per level/turn.

cheers,
-another world

#176221 - ant512 - Fri May 20, 2011 9:03 am

Thanks for the feedback!

Regarding the movement, I've copied the original game pretty closely, so partly it's a little clunky because of that. A more significant reason is that movement can only occur within iterations of the physics engine. Each iteration runs every 8 vertical blanks. Therefore, if you press a direction between iterations of the engine, there's a pause until the next iteration runs.

There's a good reason for this. If I move out from under a boulder, then the boulder should immediately land next to me. If movement and physics were separate, I could hammer the d-pad and move numerous times before the boulder fell. This would break a lot of the levels that depend on the deterministic behaviour of the engine.

However, I've got a few ideas of how to improve the responsiveness of the game, mostly related to switching directions. If you're at a point where you need to move downwards then quickly switch to moving to the left, at present it can be hit-or-miss unless you're very quick with your fingers. This was a problem (or frustrating design idea, depending on how you look at it) in the original game. Hopefully I'll be able to fix that.

A level editor is on the to-do list; I just wasn't sure I'd be able to get it done in time for the GBATemp competition, so I'll work on that later.

Return to the title screen is a good idea (it was actually in the original game). Maybe I'll put an option on the pause screen.

As for the map, I'm not sure. I originally had the map available all of the time, but it currently works like the original game. Would making the map available all the time damage the game by making it too easy? There's at least one level that would be ruined if you could access the map whenever you liked.

#176222 - another world - Sat May 21, 2011 1:36 am

i'm thinking that for the map perhaps you could add an "easy" and "hard" option. easy means you can get the map whenever you want but isn't always displayed and hard would be that you can only access the map once.

i'm trying to think dynamically about this and that some users will want the map all the time, but i completely agree with you that having the map always available makes the game much to easy to play and that takes some of that old school fun out of it.

i can't wait for a level editor and a way to run custom levels. it would be a great way to push your homebrew to the top of the homebrew bounty but don't feel like you need to get it done for the HB. i'm a homebrew enthusiast and i'd rather see full support added (like a level editor) the correct way then slapped together to make a better showing at a competition.

cheers,
-another world

#176225 - ant512 - Sun May 22, 2011 9:55 pm

Here's a new build:

EarthShakerDS 20110522

This version has a few tweaks and bugfixes:

- Tweaked control system.
- Added extra life sound to sound test.
- Sounds stop when switching screens/game sections/etc.
- Added animation when collecting beans.
- Added pause when collecting teleports.

@another world: You should find that the controls are now far more responsive when switching directions. As for the pause between pushing a button and moving, I've tried various ways of working around it but it's an integral part of the game. Just something we'll have to live with. Let me know if you get on better with this version!

#176226 - another world - Mon May 23, 2011 9:34 am

it feels pretty good so far. thanks for making some changes.

-another world

#176231 - ant512 - Wed May 25, 2011 8:15 pm

Yet another update:

EarthShakerDS 20110525

This one adds in a feature from the original game that I completely missed - the ability to touch blocks adjacent to the player without moving into that space. The original game required you to press fire and a direction but, as the DS has more buttons, I've used the X, Y, A and B buttons instead. For example, start a new game at the first level and press X. The soil block above the player is removed but the player sprite does not move. The same happens with the soil block below if you press B.

This functionality is essential to get through the game (try level 9 - "Internal Reactor Inc" without using the new buttons), so I can't believe I forgot to put it in. The button to bring up the map is now Select.

The full changelog follows:

- Added poke functionality to touch blocks without moving;
- Added animation when collecting beans;
- Added delay when teleporting;
- Various refactoring.

#176235 - another world - Fri May 27, 2011 11:59 am

this adds a whole new dynamic to the game play! i never played the original so i had no idea this was missing.

cheers,
-another world

#176237 - ant512 - Fri May 27, 2011 7:38 pm

Yet another update:

EarthShakerDS 20110527

This one features a few bugfixes and a preview of the level editor. Everything is more or less functional except for the load and save buttons.

#176239 - another world - Fri May 27, 2011 11:27 pm

the preview of the level editor is really nice. i do have a few suggestions if you are willing to read them =).

when you select a block the purple outline of the block on the bottom screen should turn to a different color, that way we always know which one is selected.

holding L or R could be a nice way to allow the d-pad to select blocks, so that it isn't a mix between the controller and touch screen.

double clicking a block could be a nice way of adding it to the level, so again the editor isn't a mix between the controller and touch screen.

perhaps a blank block for when we want to delete without reaching for the ?B? button, or setting the same block over itself deletes the original.

^i made the suggestions for more stylus controls because it can be a bit awkward to click a button when holding the stylus.

I was thinking that the block information could be displayed under the blocks where the black area is. unless you are going to add some custom blocks to this area for custom levels?

cheers,
-another world

#176240 - ant512 - Sat May 28, 2011 10:20 pm

Great feedback again!

another world wrote:
when you select a block the purple outline of the block on the bottom screen should turn to a different color, that way we always know which one is selected.


Good plan, I'll see if I can work it in.

another world wrote:
holding L or R could be a nice way to allow the d-pad to select blocks, so that it isn't a mix between the controller and touch screen.


Also a good plan. I've got a good idea for how that should work.

another world wrote:
double clicking a block could be a nice way of adding it to the level, so again the editor isn't a mix between the controller and touch screen.


Hmm; good idea, but I'm not sure I can get that in without writing a much more complex UI system. Having done that already I'm not thrilled about doing it again...

another world wrote:
perhaps a blank block for when we want to delete without reaching for the ?B? button, or setting the same block over itself deletes the original.


If I've got the L and R buttons working as block selection, I don't think the B button will prove too problematic.

another world wrote:
^i made the suggestions for more stylus controls because it can be a bit awkward to click a button when holding the stylus.


Agreed, but it was the simplest way to get all of the various options working easily. Plus, the DS has a touch screen, so why not make the most of it? I'll have a think about the UI in general.

another world wrote:
I was thinking that the block information could be displayed under the blocks where the black area is. unless you are going to add some custom blocks to this area for custom levels?


Most of the information you'd need is in the title screen slideshow of the block types and the readme that ships with the game, so I'm not in any hurry to write another text reader UI component to allow for this.

#176242 - another world - Sun May 29, 2011 11:32 am

i really hope you consider adding some custom blocks. that way those who choose to make levels (and i can't wait to get started), will be able to offer more than what the game can. this will keep the game challenging and interesting for years to come.

i've found that other projects that had level editors are still getting active use and download hits. i just wanted to say thanks for working in an editor.

-another world

#176245 - ant512 - Mon May 30, 2011 7:51 pm

Another update:

EarthShakerDS 20110530

This doesn't add anything new to the game; that's finished. I'm working on the level editor now. Changes this time around:

- L and R buttons change the current block instead of the "Block" stylus menu;
- Block palette displayed on the top screen;
- Removed the "Block" menu;
- "Palette" menu allows for the selection of all wall, soil, boulder and door types;
- Added a beta testing credit to another world in the title screen scroller.

#176246 - another world - Tue May 31, 2011 1:08 am

ant512 wrote:
Another update:
Added a beta testing credit to another world in the title screen scroller.


that?s really nice of you to do that. i appreciate it a lot!

these updates are moving in the right direction. the current editor is a great way to sit back and make some levels with your feet up. the d-pad and buttons are really easy to use and having the map on the bottom screen provides a required overview of ones work.

i noticed that when you change the palette the items on the map are not updated. its not a big deal just one of those eye candy things that would be nice to see.

will there be a way to use more than one palette option in the same level. for example i might wish to have red, blue, and yellow-heart blocks in the same level.

the file menu needs a "play" button so we can test play our levels while making them.

when you get to working on the saving/loading buttons you might want to consider being dynamic with it. users are particular in the way they organize their files. putting everything in the "data" folder (that few projects use) or using an ini file so users can set their own save/load path might be two ways to go about it.

i was thinking that pressing start in the editor could start the level for testing and pressing select could go through the map/palette/file buttons. when in the palette and file options the dpad and "A" button could navigate and select. if you did something like this the entire control scheme would be dpad/buttons and i think be rather intuitive for users.

-another world

#176247 - ant512 - Tue May 31, 2011 9:23 am

another world wrote:
that?s really nice of you to do that. i appreciate it a lot!


No prob!

another world wrote:
i noticed that when you change the palette the items on the map are not updated. its not a big deal just one of those eye candy things that would be nice to see.


Follows the design of the original game.

another world wrote:
will there be a way to use more than one palette option in the same level. for example i might wish to have red, blue, and yellow-heart blocks in the same level.


There used to be (until the latest update) but I replaced it with the current system (one type of wall per level, etc). This has several benefits:

- It makes the game more consistent with the original and the Xbox 360 remake on the indie marketplace;
- It ensures that levels are easily interpretable by players (having all walls of one type, and a single block of another type, will make it seem that the single block is important somehow - this is bad);
- It makes the level editor easier to use.

another world wrote:
the file menu needs a "play" button so we can test play our levels while making them.


Yep, just got to figure out how that's going to work.

another world wrote:
when you get to working on the saving/loading buttons you might want to consider being dynamic with it. users are particular in the way they organize their files. putting everything in the "data" folder (that few projects use) or using an ini file so users can set their own save/load path might be two ways to go about it.


I'm thinking of using /data/earthshakerds for the level data directory.

another world wrote:
i was thinking that pressing start in the editor could start the level for testing and pressing select could go through the map/palette/file buttons. when in the palette and file options the dpad and "A" button could navigate and select. if you did something like this the entire control scheme would be dpad/buttons and i think be rather intuitive for users.


I'm not sure about this. Using the stylus for features that aren't accessed all that often is good because they are:

- Easily discoverable - it's obvious that there are buttons to push, it's obvious how to push them, and it's obvious from their names what they do;
- Extendable - the touch screen is far more versatile than any button.

Button controls are the opposite. The only way to discover them is via trial-and-error or reading the documentation, which no-one ever does. Thus, I'd expect many people to never figure out that they could do X by pushing button Y, simply because they never try it and the game doesn't make it obvious.

#176249 - ant512 - Tue May 31, 2011 9:48 pm

Another release:

EarthShakerDS 20110531

You can now play levels you create in the level editor. You can't save them yet, though.

Full changelog:

- Resolution of larger audio files reduced to allow the game to run on the M3i Zero (standard firmware seems to have problems with homebrew ROMs larger than 3MB);
- Added test mode to the level editor;
- Added Polomint to the credit scroller;
- Level editor buttons give audio feedback when clicked.

#176250 - another world - Wed Jun 01, 2011 8:58 am

i spent so much time today closing down the bounty and posting news i didn't get a chance to play with this update. thankfully tomorrow brings some free time =)

-another world

#176257 - ant512 - Fri Jun 03, 2011 4:18 pm

And another one:

EarthShakerDS 20110603

Changes this time around:

- Load/save buttons work (but they will only load/save one map at the moment);
- Different ROM icon (but the background is transparent on my flash cart - grrrr...);
- Added cursor to map in level editor.
- Minor bugfixes.

However, here's a bonus if you're using a Mac with Snow Leopard:

EarthShakerOSX 20110603

Yep, there's an OSX version available now. I've added a load of compiler-time conditionals to enable the game to be built with SDL. Getting it working on Linux should just require a minor change to one file (I used an OSX API call to get the path to the executable) and recompiling it.

#176267 - ant512 - Mon Jun 06, 2011 9:27 am

The previously-linked OSX version was missing the SDL_mixer framework. Here's a functioning version:

EarthShakerOSX 20110605

#176390 - ant512 - Thu Jul 21, 2011 12:31 pm

Another update:

EarthShakerDS 20110727

This version includes a few bugfixes. It will probably be the last EarthShakerDS release.

#176395 - Cid2Mizard - Fri Jul 22, 2011 7:50 am

27 or 21!
_________________
www.nintendomax.com 100% Hack 0% Warez

#176396 - ant512 - Fri Jul 22, 2011 9:15 am

Cid2Mizard wrote:
27 or 21!


Well, that's exposed my secret time machine, hasn't it? Curses!

#177367 - ant512 - Sun May 13, 2012 5:03 pm

Here's an unexpected EarthShakerDS release!

EarthShakerDS 20120513

Changes this time around include:

- The ability to load and save levels in the editor with user-defined names (so you can have more than one custom level, and share them with other people);
- A "Custom Level" option on the title screen listing all user-created levels
- Slightly re-organised level editor;
- The ability to load and save boulder/wall/door/soil types in a custom level;
- Fixed for the latest devkitARM;
- Updated to the latest WoopsiGfxGameTemplate (fixes SDL version);
- Start button can be used to test a level in the editor;
- Select button can page through level editor menu panels.

I need to finish off the file requester in the level editor and it'll finally be finished.

#177368 - Kojote - Mon May 14, 2012 5:06 am

indeed unexpected :) thanks for the update!
_________________
Kojote
PDRoms - Retroguru - Giana's Return - Speckdrumm

#177372 - another world - Tue May 15, 2012 11:43 am

This is a nice surprise. Thank you!

-Another World

#177376 - ant512 - Wed May 16, 2012 3:28 pm

another world wrote:
This is a nice surprise. Thank you!

-Another World


No prob! The select/start buttons were your ideas. I'm expecting to receive lots of custom levels now... ;)

#177380 - another world - Fri May 18, 2012 11:26 am

i'll get to work on some as soon as the excitement of my new psp wears off. ;]

-another world

#177394 - ant512 - Sat May 26, 2012 8:21 pm

All done!

- Level editor is complete.
- Both L & R need to be held to commit suicide, not just L.

EarthShakerDS_20120526

Alternatively, grab the OSX version:

EarthShakerOSX_20120526

#177398 - another world - Mon May 28, 2012 10:50 pm

great news!! thanks again for all of your hard work. this project turned into something amazing that we can enjoy for years to come.

-another world

#177399 - Cid2Mizard - Tue May 29, 2012 4:51 pm

Thanks...
_________________
www.nintendomax.com 100% Hack 0% Warez

#177517 - ant512 - Fri Jul 20, 2012 1:08 am

another world wrote:
this project turned into something amazing that we can enjoy for years to come.


Legal threats from the ("rocky smash"-ed) company mean that EarthShakerDS is no longer available from me. Sorry guys! So much for "years to come"...