Because Codea 4.0 is in an active development phase, I would like to start this thread to talk about the features, as a user, I want to see coming to future releases.
First, I would like to mention that I am a professional game developer in a small company, and we develop cross-platform mobile game using C++.
I’m using Codea since version 2 I guess. I like it a lot. It helps me test game-play rapidly and improve my knowledge on different subjects related to games.
But, I’m also disappointed by it, and I will take the time to explain all my points.
- Codea is not a enough to make games.
For me, Codea is more like a game library. It provides some of the core feature that are required: a scripting language, low level access to graphics API, a project manager, a way to import and export our stuff, etc. My favorite feature is the mesh() object. It provides access to one of the needed features to create 2D games: batching. For the peoples who don’t know, it’s an approach used to reduce the number of draw calls made on the GPU and increase drastically the FPS.
Making a game is basically two big bunches of works:
- the development of the game engine,
- and the production of the assets used by the engine.
For this 2nd part, Codea as almost nothing.
It has the ability to import images and organize them into folders, that’s nice.
It has an embedded tool to create waveform, that’s neat.
It has an embedded shader editor. Cool but it crashes a lot.
It has a minimal text editor. hmmm.
It has AirCode. OMG don’t mention it.
I think, that’s it, and I say: “that’s not enough.”
If I can list rapidly what is missing and It will probably make no sens because Codea is meant to be used on iOS and it is limited by it. Imagine if we don’t have any limitation, in a hypothetical version of Codea that will never exists, what can it do:
UI widgets, atlas creation, auto batching, tiles editor, image editor, font-to-bitmap, module tracker, sound editor, animation timeline editor, fast array, a lot of built-in functions always used in a game, translation, virtual joypad… what else?
iOS is providing a feature that allow us to create assets from an App and import it into Codea, and it’s basically the way it should be used. The other solution is to create assets on a computer at home and transfer it to Dropbox. Sure, if you have access to a computer, why don’t you make the game directly on it? It will be waaaay more easy.
But I digress. The question is:
What Codea can offer to help users to produce assets?
- Codea is crashing too much.
And If I understand correctly, Codea 4.0 is targeting this issue by redoing a lot from scratch. I can’t count the number times I loose my works because of a sudden crash.
- Frame drops due to Lua garbage collector.
That is a serious issue. It can instantly put a project into the amateur category. My solution is generally to force calling the garbage collector every frame to make it have less work to do at each frames, but It’s not enough.
It had this problem on my iPad mini 1 and still have it on my iPad mini 4.
I hope, this will improve by the refactoring of the Codea source code. Fingers crossed.
- I don’t have answers for all those points and there is probably good reason why Codea is what it is. But that doesn’t mean I should not dream about something better, right?
There is two domain where game editor tool can provide features for:
- helping the development of the game engine,
- or helping the production of the assets.
I would like to read the feeling and comments of every Codea developers about this subject.