🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Post Mortem

posted in Missle in Lua
Published January 30, 2018
Advertisement

So, I have been lured by the promise of a MEDAL in the GD Missle Command new year challenge and decided to use Lua (that I know already) and LÖVE (that I never used before but was aware of) to participate.

Generally everything went right. I picked LÖVE because I knew it can do it (it's a proven game framework/library and a complete package of graphics, input, sounds, filesystem, etc.) and because I know Lua very well for a while now and the end goal was very clear so the only new and/or unpredictable thing in the mix was LÖVE itself.

The only problems (other than my motivation) I ran into were the blurry default font (fixed with setting my own font with right size instead of scaling the default one) and the fact I couldn't play same audio source few times (fixed by using the SLAM library which is very convenient even if such feature would be easy to code by hand in an hour or two on my own).

It's also a bit annoying to keep copy pasting LÖVE due to the O with an umlaut and I don't want to write LOVE2D or something in its place.

 

I can't do graphics or sound so I just went with boxes and lines and circles, some text and sfxr for sounds (and it actually looks and sounds okay-ish and fitting due to this being a retro game).

It felt nice to "finish" (score, menu, pause, sounds, etc.) a game and "ship" it (uploading exe and screenshots, the GitHub repo, writing the README, blog post, etc.).

 

A nifty anti-trick I ran across when trying LÖVE out was using 7z.exe on the CLI to pack code into a file with extension love and then appending that to the exe - when not given the zip extension the 7z.exe created a 7zip file instead so my exe ended up having really weird and unclear errors and if I didn't notice the love file was a 7zip and not a plain zip I'd never find out what happened.

 

Here is the download link for Windows (for other OSes see the README in the source): https://ln.sync.com/dl/c088152b0/jewmy7gy-94i4hxdh-6rya8cbj-ccyzfq7k

Here is the source code: https://github.com/FRex/Missles

Here is the challenge thread:

Here is the GD album:

 

 

1 likes 2 comments

Comments

slayemin

What lessons did you learn? What went well? What would you do differently next time? What should I learn from your experience?

January 30, 2018 08:28 AM
FRex
On 1/30/2018 at 9:28 AM, slayemin said:

What lessons did you learn? What went well? What would you do differently next time? What should I learn from your experience?

Everything went well except the small packaging problem with 7z. I learned some LOVE, had a chance to write some Lua and had a chance to finish a game properly (sounds, menus, pack it, put it on GitHub, itch.io, etc.).

If I had to do it again I'd try a different engine or framework, like Godot, Pygame, something HMTL5, Haxe, etc. to try them out.

I don't think there is anything to learn from this for anyone (maybe a Lua/LOVE beginner can read the code to learn from it). That LOVE is good is proven by its community and much bigger real games like Concerned Joe. I'm not a beginner to programming or small gamedev either (I know SFML, C, C++, Python and Lua) but LOVE is very capable because it has everything provided in it out of the box and quite easy to use and the only thing I missed (same source playing sounds few times at once) was provided by a drop in lua file.

I largely did it for the medal and for the sense of accomplishment about 'finishing' a game.

January 31, 2018 08:01 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement

Latest Entries

Post Mortem

1262 views
Advertisement