Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(2 edits) (+1)

yup!!!! This is something  I just  realized last week with the help of another user.  Basically it’s a  first person shooter powering a text editor. A love2d quirk baked in. So I’ve reduced the frame rate and changed it to a dirty flag  system for the update. This is brings down the usage considerably on my system, and to almost nothing in idle, with no performance issues. Basically, the blinking cursor is the culprit! This is an interesting thing I learned. In older systems, the blinking cursor was an actual physical oscillation that came from the hardware, not something that was programmed. Dont worry, the cursor will still blink in 2.0. And it should be super low power, and work on all sorts of older machines. That's the hope and goal. 

Thanks for the other compliments! Bear with me while I reinvent the wheel from scratch.  (In this project, I started with literal ASCII and one byte per character.) First project I’ve ever released, and so it’s been a learning experience turning it from something like an art project into a polished app that works like a finely tuned machine. 

That's great that there's still something that can be done here. After I downloaded your program, I took a look at the Löve game framework, and I really liked it. 

If the blinking cursor causes a visible processor load, it is certainly due to the engine's implementation, which may be redrawing entire frames for this purpose.  Just keep in mind that we're talking about the processing load of quad-core or octa-core processors clocked at several gigahertz. I'm maintaining an open source  vintage word processor myself based on the tk Text widget, which generates no visible processor load when idle and also has a blinking insertion cursor. However, it doesn't support background graphics, and I can't seem to get a typewriter mode going either.  

Keep up the good work!

Thanks! And yeah, totally fixable. It's just a default behavior of love2d. by default love is 60 fps in a tight loop--- redrawing everything 60 timers per second! there's a love function called love.event.wait() that Ive been using in the update. the cursor blink will be the only thing that needs to fire on a timer, and when I move down to 10fps, it's still just fine. And then I boost to 60fps during active typing, and drop back down after a super short idle, about half a second. So while typing everything is "game speed" and then it slows and becomes 10fps and CPU is mostly asleep. There's a few other draw functions too in a couple menes I'm cleaning up that we're adding to the load. In essence, I used love2d because I wanted a word processor that moved at game speed, made a word processor that moves at game speed, but it's resource hungry like a game, so then I had to learn how *actual* word processors and text editors handle this. Next time I'll read up first!

   

Do you do everything in Lua?  If so, is Lua your "first" programming language? 

yeah this one is all in lua. I’m ok in js. And also just very ok in lua, and barely passable in python and a few other niche scripts. Started in ti-basic in algebra two 🤓

These projects look awesome!!! I'm going to spend some time in them. From first glance, they look gorgeous.