Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs

Tips & Tricks Sticky

A topic by xudz created Apr 10, 2019 Views: 592 Replies: 24
Viewing posts 1 to 7
Host

Let's share our tips and questions for optimizing project size here - 2MB of project data adds up fast!

Host (1 edit) (+1)

Tip: If you import a 3D mesh (ie. from Blender), you need not include the 3D app files (ie. .blend, .dae) in your submitted project - just the .import file.

Submitted(+1)

Wait, so I can just delete the .dae, .obj, or .glb file once I've linked it to a scene? Does that still count against the project size since it would be the only bit of mesh data for that mesh?

Deleted post
Host(+1)

Oops!

 I meant to say you can delete the .import file for your size count, since Godot makes those and will re-create them from the source files (ie. .dea files) at project load.

Note: this is stated correctly in the Jam Description, just not so much so here in this early post.

Submitted (1 edit)

Ohh, that makes so much more sense! Can you also delete the .git folder if you have one? That adds a lot to the size.

Host(+1)

Surely.  The whole idea is to just count what you need to see/play the game in the Godot editor.  It's a shame dependancies and project files make it so complicated, but I think no one will call foul for anyone being over 2MB if they are over by an amount less than the girth of the cruft.   ;-)

(+1)

These articles may be useful for compressing your art assets if you're making a game with sprites:

Tools for compressing images https://compress-or-die.com/The-big-image-compression-tool-comparison/

JPG compression https://compress-or-die.com/Understanding-JPG/

PNG compression https://compress-or-die.com/Understanding-PNG/

(+3)

I'm not joining this jam... but I had this idea for a small sized game.

There is this func in godot: _draw(). Maybe someone could make a game with Asteroids graphics. Try to not make a copy of Asteroids, but a game that has this art style. Here is a link to the Godot docs about custom drawing in 2D: https://docs.godotengine.org/en/3.1/tutorials/2d/custom_drawing_in_2d.html

Submitted(+1)

I've made a snake-clone with only draw_rect, draw_circle and draw_string (short over 300 KB).

Host

Amazing!

Submitted(+1)

I've been using the equivalents of Godot's _draw() for years, it's rather effective. My thought is, if I procedurally develop my assets at run time (I've never done it on Godot, but it's a simple enough task), and constrain the result to make a reasonable amount of sense, then all I would technically need is a random seed for it. The game could generate the field of play at run time.

Of course, that does gobble some processor time and expand the memory footprint quite a bit; but to my knowledge there's no rule against that.

(+1)

Sounds interesting. I'm waiting to play both of your games😁

Submitted(+1)

Thanks!

My Itch stuff is generally goof-around-and-stop-thinking-about-work things. I've got another project with Unity in the background, called Overclockalypse; and there's a mobile game I put together a few years back called The Penguin and the Dragon, which you can find on the Play Store. I'm considering building it for mobile and throwing it on Itch. We'll see. There were a few other items from about a decade back but at the time I got sidetracked with some music production software and then a job for a cloud computing company, it kind of took me out of the loop for a bit. It's fun to be building again.

(+2)

Question: my initial size is over 4.3MB, because the .mono directory takes 4.2MB. I'd like to use C#, does this mean I'm out? :)

Host

Dang, I honestly never though of that - I'm a GDScript junkie.   ;-)  

I would think we need to accommodate Mono devs for sure.  

Do you know how exactly how many megabytes of data the Mono libraries add - is it 4.3MB?  If so, I'd say go ahead and develop - we need you!  I'll add a note to the jam addressing this too.

Thanks for the heads up!

Host

If all of the Mono add-ons are inside a single folder, we could just deduct the size of that folder.

(+1)

all is under .mono, yes, well separated :)

Host

And that folder is exactly 4.3MB?  I wonder if it's the same size on Mac/Win/Linux?

(1 edit)

Instead of measuring exact size of .mono, I would just subtract .mono's size in bytes from the whole size at the end. If it's less then 2MB, we're good to go. I would do this way, because .mono's content may vary depending on the version of Godot.

So when I'll submit my project, I'll provide a size information with and without .mono. One may validate it.

Host

And so, it shall be.     ;-)

Mon devs simply subtract the size of their 'mono' folder.

(+1)

Cool! OFF: Why youd didnt pick a theme?

Host (2 edits) (+1)

I figured for the first run at least, we should keep it wide open.  

Don't want to scare anyone away ... yet.    ;-)

But, you make a good point, we should probably gas it up with themes after this one.

(+2)

What do we do with the .import folder? Do we put it out of equation?

Also here's a little something I tend to use for my stuff: pngquant

Host

That's a good point!

I've  added an entry to the Not-So-Fine Print allowing participants to deduct the size of their .import folders.

Thanks!

Submitted (1 edit) (+2)

Added an entry to the DevLog of my upcoming entry: https://vimino.itch.io/dinopia/devlog/76981/third-day-got-a-menu
You can find the tips near the end. I only used my usual tricks, although I expected SVG to be my go-to-format but Godot can't handle it that well.