Wednesday, March 20, 2019

c++ - When prototyping, how can I more easily explore game behaviour?


I build indie games myself, but I'm usually out of energy once I've taken a newly developed game to a level where it's possible to play with behavior, so I settle for refinement instead of exploration. With awful results.


Refinement vs. exploration
(picture from the Intercom blog)


For example, I find that the iteration cycles for tweaking behavior (i.e. linking and restarting a C++ application) are so long that they kill all creativity. I'm building a tool to deal with this.


What other ways exist to quickly explore game behavior? I'm interested in the methodologies used by indie developers as well as larger companies.



Answer



I built a prototyping tool called Trabant which:




  • is 3D and game mechanic ONLY (no UI, no text, nothing);

  • requires extremely little code and no assets to build a prototype;

  • 3D models are created in code using ASCII art;

  • allows sub-second iterations;

  • has rigid-body simulation support;

  • works on Windows, Mac, Linux and iOS;

  • uses a well-known general-purpose language, Python;

  • has an IDE for Windows and iOS.


I built 30 test prototypes in it to verify the above.



As Trevor Powell emphasized iterations need to be <5 seconds, and I find <1s iterations almost five times as good. :)


Anko mentioned that using a dynamic language is a good idea, I picked Python since it is one of the most widely used. Regarding build automation, testing in Trabant is as quick as pressing F5 in the IDE (or F6 to test it on your iPad), and since there is no build step involved it doesn't get more instant than this.


Throwaway code was one of Nevermind's takeaways. I totally agree, and Trabant enforces it.


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...