Writing a book on Defold



Just keep going on :smiley:


Still working! It keeps taking longer because I keep going down rabbit holes wanting to explain more… but I think it will be worth it once it’s all complete.


I put up a version of this, but I’m still not done with it. Only putting up first version of the Lua 5.1 notes (which also need to be made more tidy / some sections don’t have full explanations and code examples yet / some stuff may not actually work with Defold / if you notice any typos or mistakes besides the formatting let me know), and not Defold API plus other sections as it’s still a bit too messy. I’m adding more sections with code examples for vector math, waveforms, physics, and AI. Not as extensive as the book, but reference notes to get people started on these subjects / get up to speed again after a while of not working.

Keeping on working!


When I try to buy from your site I get a “mismatching token”.

But it works to buy from itch.io. Purchased!


Thank you for purchasing! I’ve passed your report onto Leaf.


Updated this with some useful math snippets, there’s still more to add so that it is comprehensive and explains how things work and why they are useful. I’m redoing the CSS formatting style to be much more readable so no worries about how plain it looks for now…



Still polishing Part 1… it’s taken me much longer in part because I’m needing to spend time on regular work projects and can’t do this full time.

Still adding more useful math functions to https://www.bookofdefold.com/api/ and maybe make these into more easily usable downloadable library ready to work with the Defold built in functions.

Working on easy to use non-box2d collision examples (because there are some things not easy to do with box2d / some game designs where it’s overkill), various AI implementation examples, swarming, noise and waveform stuff.


Don’t mean to sound ungrateful or anything but I paid for a book and so far all we have is basically what we can get from the website already and an API thing which we can also get on the site. Your last few updates have been on the API. I understand that you are polishing and that’s great however I know I supported the book because I wanted more knowledge on the engine and how it works because the tutorials on the website so far are incomplete and there is not enough information. Personally I am tired of waiting and have decided to move to a different framework as so far defold doesn’t meet my needs and while it is a great tool for what I can see that it does it is not a good fit for what I am working on. I was hoping this book would show me how I could possibly use defold for my needs but I can no longer wait. I know books take time and that you have other obligations however I can no longer wait. Good luck with the book hopefully it will be useful for someone else


Hi Travis,

Could you explain your needs more fully? If I made a tutorial game what kind of game do you think would be the most helpful for your needs?


So starting with the book and what I bought it for. I really need Chapter 9 on message passing as for some reason I cannot seem to wrap my head around it. Sometimes I can get it to work but there are most times when no matter what I seem to do it wont work. I cant really seem to figure out why either.

One of the problems I have with message passing is that it is really easy to lose track of what messages you have as they are string based. Another problem that I have with the message passing system is it seems to add a bunch of unneeded complexity especially when it comes to input. An example is say using unity we can do input entirely inside of update for example which is just a check if button is pressed and then do something. In Defold it seems that I have to check for a message about a button press then I have to do something with it then send it to update to finish it. This makes for a bunch of extra code that seems pointless but I cant just hear button presses inside of update. I am not sure why I cant figure this out as it should be simple compared to my day to day where I write code in C++ all day.

Chapter 15 would also be useful for the project I am working on as well, and as far as a game tutorial I am not sure thats what I need. When I mentioned the tutorials on the defold website being broken I was more meaning that the platformer tutorial needs to be more like the getting started project and being all in depth vs here is a completed project and a little explanation about movement that is to math intensive for people who are bad at math and to simple for those who are good at it and already understand these things.

The project that I am working on is a 4x strategy game similar in idea to something like masters of orion 2 or galactic civilizations 2 or 3. Hex based map turn based movement on the big map with some form of real time combat etc. Now as that would be to much for a tutorial and I really don’t need that tutorial to be honest I just dont think that defold can pull that off at the scale that I want (hundreds of planets, solar systems, ship designs, research, etc.) at least from what I have seen so far. However what I really need is chapter is like chapter 9 and 27 right away


Well, didn’t you purchase the book as a pre-order? It might be a little unreasonable to expect flexibility like that in a product that’s still a work in progress.


Hi Travis,

If you don’t mind, could you make a new thread and address all of these issues so that discussion for them can take place in its own space? I have my own way of looking at things based on what I know, but others, especially those on the Defold team, can offer much better insight that can be helpful, and I’d like to hear what they have to say too. For example, with the input issues, I think making an all in one manager for different classes of elements is a good idea. I get that idea that you’re using message passing for other features too and may be doing things the hard way, could you clarify where exactly it’s not working for you? Defold is still relatively young so many things that are pain points to devs have yet to be addressed, but with everyone helping it’s getting better and better. If you have any more specific questions please do ask!

I’m working full time on the book this weekend and I’ll get those chapters (9 for message passing, 15 for cameras, correct?) up as individual PDFs as soon as I can.



message passing, cameras, and how lua works with defold which is chapter 27 in the initial version of the book cause lua seems to be diffferent in defold.


I am not asking for flexability at all, I was asked what parts were most important to me. I still really don’t think that defold will work for my project though. Also I was pointing out that I am not upset as I understand these things take time, but am instead probably going to have to move to a different engine/toolset/framework to make my project. I do not want a refund or anything either as with the current lack of information/ tutorials for defold I think the book is a great project and still want to see it get written even if I can not make use of it at this time.


Travis, I’m sorry if you feel that Defold isn’t the right tool for you. Remember that Defold is a tool among many. I don’t expect Defold to be able to solve all problems and allow everyone to create the games of their dreams. You should use the tool you are most comfortable with. I would however encourage you to post your questions one by one on the forum. Maybe we can help explain certain things you are uncertain of?


I posted in a new thread titled can defold handle this or something close to that in the questions section the basic design idea behind the project to see if people hopefully devs would know if this is something that defold can do. Here is a link to the thread. Can Defold handle this performance wise? Mostly the biggest thing that I still cant wrap my head around is the message passing system.


Lukas, that’s not the problem. I think I understand Travis, also as a buyer, I’ve been waiting for updates, but none came. The PDF is still the first version, although Pkeod promised several times “the next day” we would see an updated version. Making a promise that you don’t keep is exceptionally bad, especially when you make it many times over two months (May 17, May 20, May 23, May 28, etc.).
The last messages from Pkeod were nearly 100% about the web site which only include basic Lua and Math stuff, not really related to the book (at least for now, version 1.2.83). So if Pkeod uses all his time on the Lua/Math stuff, the book will never get finished, that’s what it looks like from an external point of view.

Pkeod, am I wrong?


You’re not wrong. The stuff published on the web page is helper content for later parts. I’ve been working on various resources, such as those pages, over time when I can work on this project. I’m working again tomorrow full time, and as many days as I can until it’s done.


I just want to point out that I am not mad about anything at all just seeing things harder and harder to do with time schedules that I have when I was really hoping the book would be able to help me out. I also know that it would be nice to see something more on the book even if it’s not polished yet. There are plenty of people like me that are looking for more knowledge on defold and knowing it is a work in progress we are willing to over look a lot as long as we have good information.

In all fairness pkeod has been way more than helpful since my op and this is awesomeness. I honestly think however that sometimes people just need a little prod to get them back on track as it is easy to get distracted at least I do :joy: from what I can tell this book and everything that goes with it will be worth more than the purchase price when it is done and for that I can say thank you to pkeod.

My only problem is the scope of my project with some of the deadlines that I have. I really want to use defold because there is so much I like about defold, however it is getting close to my first deadline and I almost have nothing to show and there is another framework out there that I have used before but it is just an API and has no benefits for anyone else on my team.

After some conversations I have had today with pkeod as well as others here and the rest of my team we are sticking around for now. However if we do leave defold for this project the upside is by the time were done this book will be done or should be I hope :joy: and we will be back.


The message passing manual was totally overhauled some time ago. Have you read the new one?

If you have and still have trouble grasping message passing it would be great if you could send specific questions that you feel are unanswered and I’ll try to clarify and explain more in the manual.


Good to know will take a look at it again later today