Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
start = 600
k = 0.4 
args.state.game_history.reverse.each_with_index do |element, i|
  y = 130 - 25 * i
  ui_render << {
    x: 830, y: y, text: "#{status[element.type]} at #{ticks_to_time(element.time * k, start)}"
  }
end
. . .
def ticks_to_time(ticks, start = 0)
  time = (ticks + start) % 1440
  meridian = "PM"
  if time < 720
    meridian = "AM"
  end
  hour = (((time / 60).floor - 1) % 12 + 1).to_s
  minute = (time % 60).floor
  if minute < 10
    minute = "0#{minute}"
  else
    minute = minute.to_s
  end
  second = ((time % 1) * 60).floor
  if second < 10
    second = "0#{second}"
  else
    second = second.to_s
  end
  return "#{hour}:#{minute}:#{second} #{meridian}"
end

where "time" or "ticks" is "frames since the start of the game" at 60fps

Which is to say, the game starts at 10:00AM, ends at 6:00PM, and each frame is 24 seconds (every second is 24 minutes)

and controllers SHOULD have sensitivity-based input...? I'm using DR's input helpers "left_right" and "up_down", which MAY snap to the nearest integer instead of taking the analog input of a controller stick into account. I'll see if I can't cook something up, perhaps checking controller input if there is no keyboard input.

Ah I see, thank you for sharing the code! And yeah do look into the controller input. It'd be great to have the flexibility in movement.