DRODLike, working towards demo release


they’re easy enough for me to tell apart but, as i have learned, that is not enough. so i might just go and round the corners off because it’s not a big deal.

i also added a tile for when they’re broken since.


i noticed that after i posted it. it’s on the todo list for today so it’ll probably get fixed before the day ends; basically:

  • need to split corner tiles up (upper-left/lower-right), i already do this for trees/walls but need to do them here too
  • have a slight Y offset for sorting order so that tops and bottoms are pushed away from each other

edit: there. i will fix the layering issue tonight; the barriers are the only things going by that code so it’s not really a surprise they’re the only thing with a problem there


wait, why does rendering in order of Y-coordinates not work?

also making the one-time-use buttons circular definitely helped, i think they’re distinct enough now


Because all the walls technically have the same Y coordinate for purposes of sorting right now, going both up and down. So whatever got added second is drawn on top of whatever got added first, on the same row.

This code was literally left dormant for two years before I retooled it for the barriers, so I’m not surprised it had some issues with it still.


Fixed all of the above.

No art today, since in a ‘nothing I do works’ kind of mood, but I implemented a conduct system. Basically, you can set an optional challenge for your stage for players to clear. Not unlike the achievements in Flash DROD. I fully intend on setting one for every story mission as an optional goal; some easy, some not so easy.

current list:

    "CONDUCT_NONE": "No conduct",
    "CONDUCT_NO_DEFEAT": "Defeat no enemies",
    "CONDUCT_ALL_DEFEAT": "Defeat all enemies",
    "CONDUCT_NO_DIRT": "Do not step on dirt",
    "CONDUCT_NO_WAKE": "Do not wake enemies",
    "CONDUCT_NO_TURN": "Do not turn",
    "CONDUCT_NO_TURN_CW": "Do not turn right",
    "CONDUCT_NO_TURN_CCW": "Do not turn left",
    "CONDUCT_NO_MOVE_N": "Do not move up",
    "CONDUCT_NO_MOVE_S": "Do not move down",
    "CONDUCT_NO_MOVE_W": "Do not move left",
    "CONDUCT_NO_MOVE_E": "Do not move right",
    "CONDUCT_NO_MOVE_DIAG": "Do not move diagonally",
    "CONDUCT_READ_ALL": "Read all paper",

Maybe I’ll add more? The general goal is I do not want to add more state unless I absolutely, positively have to, so everything that I add will be computable based on events. Only one state variable was added here: whether or not the clear flag is set, since it can be unset by breaking conduct.




edit: I think ‘by the end of the month’ is a potentially reachable target for a fully playable demo version.


adding the important features.

yesterday i basically finished all of the stage select stuff, aside from graphics/assets, which included a complete overhaul of the progression system and adding proper savegames/unlocks. there is even a way to delete save data, in options from the main menu.

todo list is VERY short now.


ok I’m gonna focus on assets and stages for awhile. Here’s the code todo list. As in. All of it.

- script: trigger needs to actually activate. probably just DOSCRIPT MapAction.
- conduct: need a BETTER display
- stage select: display turn counts
- stage exporter (need html5 integration)

Everything else is assets. particularly title screen stuff, but also random things like ‘animating the protagonist’ and ‘portraits/etc for dialogue’. i also need to finish scripts/writing.

I’m aiming for probably around 18 stages and then a bunch more bonus stages that didn’t quite make the cut.

here’s a twitter moment that has most of the dev log stuff that I’ve posted on twitter. I’ll post more as it goes.

I will change the thread title too!





i just want to say, those menus are beautiful





gargoyles are done; aside from their sleepy pose

edit again:
statue pose, color adjustment, yep they’re drod eyeball equivalent but also smart




does hitting two directions together work for diagonals


not only does it work

there are 3 frames of leniency where hitting a single direction and shifting to a multiple press will be silently corrected by the game

using the power of ROLLBACKS (aka the game silently does an undo)


that’s exactly the implementation detail i was curious about, thank you


pretty much done.

I might add a thing to switch the two face buttons because OK/Cancel being swapped for people is a thing.


conduct status gems!

best turn records! will probably rephrase

you can set this but after clear you’ll have a gem show up when you play. blue for conditions not met, gold for met, black for failed.


some stages start gold, because you already meet the condition (of having not broken yet)

i might change that to only go gold when you clear (edit: yeah, changed it)


oops i broke it


code is officially done

there’s like… one thing left to do i guess.

all that is remaining is stuff to draw, sound, music, and writing

going to go collapse in a heap now


I just want to say that though I personally have no interest in playing DROD or anything like it your constant progress and updates and actual success in completing things is a huge inspiration.


i have been quiet but the todo list for the demo is finalized

todo, code:
% stage export popup must be completed
- stage intro/outro?

todo, ui:
- preloader (bones? the snake?)
- title screen. also name of game.
- portraits of characters

todo, stage art:
- altar? protector ghost? blue aura, scripted.
- dog anim
- some kind of dog/skeleton spawner might not be a bad idea

todo, stages:
- finish 1-9
- make more, in general
- maybe: get feedback on if 2-2 is too big of a jump up from 2-1

todo, writing:
- notes
  - 1-5 (graphic)
  - 1-6 (graphic)
  - 2-1 (日本語)
  - 2-2 (text, 日本語, graphic)
- dialogue bits w/ protag and swordy girl

todo, sound effects:
- enemy wake (hound/garg)
- enemy death (skeleton/hound/garg)
- melee attack
- blade attack
- switch press (repeatable, non-repeatable)
- barrier on/off
- powerup get
- menu: open
- menu: close
- menu: change selection

todo, music:
- halp

bugs/minor stuff:
- 'add new stage' should be at the top. should i have just inverted the entire thing

low priority
- use localzation code for button mappings etc. eg <BUTTON:UNDO>
- buttons should have glyphs in the fonts so you get actual buttons
- textinput probably needs numlock support
- add mid-stage save support 
- editor
  - restart in editor works more like a checkpoint, and is undoable.
  - drag-drop items in the palette.
    - shift+drag to swap items on map?
  - option to reset cursor position on undo.
- the goal item kind of sucks right now

the ‘low priority’ section is skippable and it’s mostly just stuff for warming up to work on more difficult things

i am kind of daunted by sound right now. it’s not a field i’m familiar with and it may just be out of my reach so uh. short of me saying ‘please wait another year or two while i learn to compose music thanks’ it’s gonna be a bit.

best option is that i may just look at public domain/freely available stuff for the time being.