You do not have permission to edit this page, for the following reason:
Free text:
A "simple" Ray-Caster for Nintendo 3DS that turned into it's own Dungeon Crawler Player/Editor and Engine. Make your own Dungeon Crawlers with weapons, treasure, enemies, and missions/story. Or a maze- (which is far less cool, but you do you). == Controls == '''Level select:''' D-Pad Up/Down - Selection D-Pad Up/Down - Action A - Select B - Cancel Start - Exit app '''In game:''' R/L or D-Pad or C-Stick or Touchscreen - Camera Circle Pad - Move B - Sprint A - Jump X - Attack Y - Change weapon Select - Talk Start - Back to level select == Screenshots == https://dlhb.gamebrew.org/3dshomebrews/images/3DCaster3DS3.png https://dlhb.gamebrew.org/3dshomebrews/images/3DCaster3DS2.png https://dlhb.gamebrew.org/3dshomebrews/images/3DCaster3DS4.png https://dlhb.gamebrew.org/3dshomebrews/images/3DCaster3DS5.png https://dlhb.gamebrew.org/3dshomebrews/images/3DCaster3DS6.png https://dlhb.gamebrew.org/3dshomebrews/images/3DCaster3DS7.png == Changelog == '''v0.8.0''' * '''Editor Workflow:''' ** Added a dedicated '''editor tool mode''' system: *** <code>PAINT</code> for normal tile painting. *** <code>SELECT</code> for tapping/selecting entities. *** <code>ROOM</code> for painting room-class overlays. ** Added a '''Select Tool''' so NPCs/enemies can be selected directly in the editor. *** Tap an NPC tile to open its NPC attributes. *** Tap an enemy tile to open its enemy attributes. *** This replaces the awkward “A + click with stats” flow. ** Added room overlay selection to the editor UI. ** Added room-class painting on top of regular tile data. ** Added visual room hue/overlay support so rooms can be seen and edited separately from wall/floor tiles. ** Added direct editing for NPC/enemy attributes after selection. ** Added weapon editing from the menu and from NPC reward references. * '''Scrollable menus / attributes (fixes)''' ** Settings menu now scrolls instead of going off-screen. ** NPC attribute editor now scrolls. ** Enemy attribute editor now scrolls. ** Weapon editor uses the same entity-edit framework. ** Entity editor remembers an internal scroll row and keeps the selected row visible. ** Long attribute lists no longer become unreachable on the bottom screen. * '''Room classes / room overlays''' ** Added a BWL4 room-class overlay stored separately from tile IDs. ** Added room classes: *** <code>NONE</code> *** <code>TREASURE</code> *** <code>BOSS</code> *** <code>TRAP</code> *** <code>ENEMY</code> *** <code>CORRIDOR</code> *** <code>SAFE</code> *** <code>PUZZLE</code> *** <code>SECRET</code> ** Room classes are painted per tile and saved in the BWL4 <code>ROM4</code> chunk. ** Room classes are used by AI to decide whether it should continue chasing. ** Corridors/hallways can now be used as AI boundaries. ** Safe rooms can prevent AI from continuing to attack/chase through safe areas. ** Room classes are intentionally independent from tile type: *** A floor tile can be part of a boss room. *** A wall tile can still carry a room class. *** A corridor is no longer just a visual hallway; it can now affect AI containment. * '''AI searching / movement''' ** AI now uses room boundaries to avoid chasing forever through hallways. ** Enemies can be limited to their own room class. ** Corridor/hallway behavior was added so hallway enemies can behave differently from room enemies. ** Added per-enemy '''Sight Range''' through the <code>ENM7</code> format. ** Enemies no longer rely only on the old hardcoded detection range. ** Default sight ranges: *** Grunt: <code>13</code> *** Captain: <code>16</code> *** Boss: <code>20</code> ** Sight range is clamped to a maximum of <code>40</code>. ** AI still respects line-of-sight checks. ** AI still respects room boundaries. ** Captain/boss-style AI has stronger detection behavior than basic grunts. ** Enemy runtime speed now respects the saved <code>Speed %</code> attribute. ** Added improved stopping distance/personal-space behavior. ** Enemies should stop within their attack range instead of walking directly into the player. ** Ranged enemies try to maintain more distance than melee enemies. ** Enemy spacing is now affected by size/hitbox radius. ** Cramming/clipping around the player should be reduced. * '''Enemy and boss customization''' ** Enemy metadata was upgraded to <code>ENM7</code>. ** Added per-enemy: *** HP *** Attack *** Speed % *** Size % *** Text speed *** Color *** AI rank *** Ranged attack toggle *** Melee/attack range *** Attack cooldown *** Spawn limit *** Spawn type *** Spawn cooldown *** Sight range *** Command range *** Projectile color *** Projectile style *** Projectile animation toggle *** 16x16 enemy sprite *** 32x32 boss sprite *** Player max HP from the enemy editor ** Bosses can now: *** Use custom 32x32 art. *** Use custom projectile visuals. *** Use animated projectiles. *** Summon enemies or disable summoning entirely. *** Set summon cooldown. *** Set summon limit. *** Use custom speed and size. *** Use custom sight range. ** Summoned minions were fixed: *** They now receive a visible 16x16 sprite mask. *** They now inherit usable AI defaults. *** They should no longer spawn invisible. ** Secret/no-summon bosses are now possible using <code>spawn_kind = AI_SPAWN_NONE</code>. * '''Combat / weapons / slash system''' ** Weapons are now stored per save through the <code>WEP3</code> chunk. ** Each save can customize up to 8 weapons. ** Per-weapon fields: *** Name *** Damage *** Range *** Cooldown *** Color *** 8x8 icon/sprite ** Slash behavior now follows weapon data more closely. ** Weapon slash color/timing can differ per weapon. ** NPC rewards can give custom weapons by using <code>REWARD_WEAPON_BASE + weapon_index</code>. ** Weapon customization is saved with the level instead of being purely hardcoded. * '''Damage feedback / screen shake''' ** Added a '''Screen Shake''' setting. ** When enabled, taking damage triggers a short screen shake. ** Screen shake is saved in the app settings config as <code>SHAKE</code>. ** Screen shake can be disabled from the settings menu. ** If disabled, the shake timer is reset to zero. * '''Save format / compatibility''' ** New saves write magic <code>BW4</code>. ** BWL4 keeps the compact tile RLE stream from BW2/BW3. ** BWL4 adds optional chunks after the tile stream. ** Current BWL4 chunks: *** <code>ROM4</code> *** <code>WLD5</code> *** <code>NPC5</code> *** <code>ENM7</code> *** <code>WEP3</code> *** <code>END!</code> ** The BWL4 loader still supports: *** <code>BWL1</code> *** <code>BW2</code> *** <code>BW3</code> *** <code>BW4</code> ** Older chunk versions are still parsed where supported: *** <code>NPCS</code>, <code>NPC3</code>, <code>NPC4</code>, <code>NPC5</code> *** <code>ENMS</code>, <code>ENM2</code>, <code>ENM3</code>, <code>ENM4</code>, <code>ENM5</code>, <code>ENM6</code>, <code>ENM7</code> *** <code>WEAP</code>, <code>WEP2</code>, <code>WEP3</code> ** When older saves lack newer data, defaults are generated. ** Important: the encoder function is still named <code>encode_bwl2_memory()</code> in the source, but it now writes <code>BW4</code>. That function name is legacy. '''v0.7.0''' * Added editable weapon expansion: ** Weapons can now be named individually. ** Weapon slots were expanded. ** Weapon icons are shown on the bottom-screen HUD. ** Current weapon icon bounces inside its HUD box when attacking. * Added player health support: ** Player max health can be set by the editor. ** Player health is shown on the bottom screen. ** Players are no longer instantly killed by enemies. ** High enemy damage is capped so it does not instantly erase full health. * Added death screen behavior: ** When player health reaches <code>0</code>, the game shows a death screen. ** Death screen displays who killed the player. ** Player no longer instantly respawns after dying. ** Pressing <code>A</code> retries from the level start. * Added boss projectile behavior: ** Normal enemies no longer use ranged attacks. ** Bosses can fire visible arrow projectiles. ** Boss arrows can damage or kill the player. ** Boss arrow deaths show <code>BOSS ARROW</code> on the death screen. * Expanded enemy and NPC art: ** Normal enemies now use <code>16×16</code> artwork. ** NPCs now use <code>16×16</code> artwork. ** Bosses now use <code>32×32</code> artwork. ** Older NPC art can be upgraded from <code>8×8</code> to <code>16×16</code>. ** NPC and enemy <code>EDIT ART</code> buttons now open the correct individual sprite editor. ** New NPCs and enemies get default editable <code>16×16</code> art. * Added enemy stat customization: ** Enemies can have editable speed. ** Enemies can have editable size. ** Enemies can have editable text speed. ** Enemy size affects rendering and shadows. ** Bosses remain larger than normal enemies, but no longer comically huge. * Added text typing options: ** NPC/enemy text can use instant, slow, medium, or fast typing. ** Text now wraps instead of cutting off early. ** Longer NPC/enemy text is supported. ** NPC text no longer disappears on a timer. ** NPC text stays visible until the player walks away. * Added bottom-screen RPG HUD: ** Shows health. ** Shows coins. ** Shows keys/items. ** Shows score. ** Shows current weapon name. ** Shows current weapon damage. ** Shows current weapon icon. ** Shows owned weapon icons. ** Shows acquired quest list. ** Shows enemy kill count and mission progress. * Improved shadows: ** Shadows were added under coins, keys, weapons, health pickups, NPCs, enemies, and bosses. ** Shadows now scale with sprite/entity size. ** Shadows now use visible sprite bounds instead of invisible transparent pixels. ** Shadows are drawn more like ground decals. ** Shadows are dithered/transparent-looking instead of solid black. ** Shadows are slightly larger than the visible sprite width. ** Shadows no longer follow text labels. * Improved sprite rendering: ** Transparent sprite pixels are ignored for shadow bounds. ** Invisible side pixels no longer make shadows too wide. ** Sprite perspective scaling was restored so far entities look smaller and close entities look larger again. ** The bad “all entities are the same huge size” behavior was reverted. * Added enemy range feedback: ** Enemies get a slight hue/tint when they are inside the player’s current weapon range. ** This makes it easier to tell when an attack can connect. * Added save restriction fix: ** <code>L + Y</code> save is disabled globally. ** Players cannot save level/game state during Play or Editor using <code>L + Y</code>. * Added new save/load data: ** Newer chunks support expanded NPC art, enemy art, player health, weapon names, enemy stats, and text-speed settings. ** Older save chunks still load where possible. '''v0.6.0''' * '''Input / Editor Fixes''' ** '''Y button reload/reset bug fixed''' *** Plain <code>Y</code> no longer reloads the level and resets the player position. *** <code>L + Y</code> can still be used for saving. ** '''Editor safety fix''' *** <code>START</code> only saves/exits when the player is on the main editor screen. *** If the player is inside NPC, enemy, weapon, or sprite editor screens, it now tells them to press <code>B</code> to back out first. * '''NPC Improvements''' ** '''NPC text improvements''' *** NPC text was moved lower so it does not float too high above the character. *** <code>NEAR</code> NPC text range was increased significantly, around 3x farther. *** NPC interaction/select distance was relaxed so talking to NPCs is easier. * '''Sprite / Rendering Fixes''' ** '''Sprite visibility/depth fixes''' *** Items, NPCs, enemies, and pickups now use better depth handling. *** Transparent parts of coins/items no longer block enemies behind them. *** Sprites no longer render as thin vertical lines. *** Closer sprites are prioritized so far sprites do not draw over near ones. *** Items, NPCs, and enemies are more visible when they are actually in front of the player. ** '''Jump anchoring fix''' *** Enemies, NPCs, coins, and keys no longer follow the camera when the player jumps. *** They now stay anchored in world space. ** '''Floating pickups''' *** Coins and keys now float around eye-level like classic pickups. *** They still stay world-anchored and do not move with the player’s jump. ** '''Platform visibility fixes''' *** Platforms no longer block sprites behind their invisible/full-column area. *** Platforms were adjusted so walls behind platforms can render better instead of the platform behaving like a full wall. ** '''Crosshair added''' *** A center crosshair was added to the top screen. * '''Combat Feedback''' ** '''Enemy hit/death feedback''' *** Enemies wiggle when hit. *** Enemies squish when dying. *** Dead enemies disappear after the death/squish animation. *** Enemy health is always visible when enemies are rendered. ** '''Slash effect added/improved''' *** Attacking now shows a slash effect. *** The slash effect was changed from a moving streak into a centered slash motion. *** Added 3 slash variants. *** Slash types cycle so the same slash should not be used twice in a row. *** Crosshair stays centered and draws cleanly over/after the slash effect. * '''Success / Results System''' ** '''Success tile changed''' *** Success tile is now a floor trigger instead of a vertical billboard. *** Walking onto it opens a results screen. *** Results show: **** Score **** Enemies killed **** Coins banked **** Missions completed **** Overall percentage out of 100% * '''Performance Improvements''' ** '''Render culling / visibility budget''' *** Far-away items, NPCs, and enemies can be skipped instead of everything rendering every frame. *** Things behind the player can be skipped. *** A render budget/culling approach was added for busy maps. ** '''AI throttling''' *** Far-away AI can update less often to reduce stutter. *** This helps larger maps with lots of enemies, NPCs, and pickups. ** '''Pickup stutter reduction direction''' *** Pickups are intended to mark themselves inactive and update state without forcing heavy immediate save/recount behavior. *** Saves should generally happen on manual save, leaving the level, returning to menu, or timed autosave rather than every pickup. * '''Boss Entities / AI Hierarchy''' ** '''Boss entities added''' *** New boss entity support. *** Bosses can use larger <code>14x14</code> sprites. *** Bosses can have ranged attacks. *** Bosses can command and/or spawn simpler AI/minions. ** '''AI hierarchy added''' *** AI can now be categorized/customized as: **** <code>GRUNT</code> **** <code>CAPTAIN</code> **** <code>BOSS</code> *** Enemy editor exposes hierarchy/boss fields. *** New <code>ENM4</code> save/load chunk added for expanded enemy data. *** Older enemy formats still load. * '''Demo Maps''' ** '''Locked Tower story demo''' *** Larger integrated story/tutorial level. *** Includes hub, quests, rewards, enemies, boss path, ending hall, and success/results tile. ** '''King Tower hierarchy demo''' *** Uses the AI hierarchy and boss systems. *** Includes grunts, captains, and a detailed Wall King boss. *** Boss has more detailed dialogue, a larger sprite, minion spawning/command behavior, and ranged attack support. *** Includes unique NPC/enemy sprites, quests, keys, doors, rewards, story flow, and an ending/results sequence. '''v0.5.0''' * Add Missions, NPCs, Sprites (Custom per-world), Weapons, Story/Text System. * Customizable Weapons * Customizable NPCs * Customizable AI/Enemies. * Download the DEMO.zip and extract it to the root of the <code>./3ds/</code> folder like you would try and install <code>3DCaster.3dsx</code> '''v0.4.0''' * New Tiles: Door, Key, Dots (Coins). * Use keys for doors, dots are points. * Improved AI Intelligence Slightly. '''v0.3.0''' * New "Game-Mode" called 'Random' which generates a random maze-like map with enemies and AI. * Debug Mode in Settings for Developers. * New Tiles/AI Functions: <pre>1–6 = solid full walls 7 = platform / raised ledge C = enemy spawn marker D = exit / success marker 8, 9, A, B, E, F = currently placeholders</pre> '''v0.2.0''' * Added a "Settings" Tab, you can toggle between the following: ** Simple Anti-Aliasing ** "Fast Renderer" should increase performance on O3DS Consoles. ** Simple 3D-Stereo Support. ** Viewbobbing. ** Level Depth Adjusting. ** FOV Adjusting. ** Depth of Field (Fade, Distance, Start) * C-Stick now Controls the Camera if played on a N3DS Console. * Touch-Screen now also controls the Camera (Not available in Editor for obv. reasons). * Map-Zooming/Panning while editing levels, for easier creation of "levels". * Map zooms in depending on sizing of the created "level". '''v0.1.0''' * Selector Screen for Level/Map. * Backup(s). * Simple Controls (R+L to pan camera, Circle PAD to Move, B to Sprint, A to Jump). * Simple World Editing, Resizing, Duplicating, etc). == External links == * GitHub - https://github.com/Cracko298/3DCaster
Advertising: