Difference between revisions of "Gunshot Coding"
Youngblood (talk | contribs) (Details on gunshot programming) |
Youngblood (talk | contribs) m (→Flying Monkeys) |
||
Line 24: | Line 24: | ||
== Flying Monkeys == | == Flying Monkeys == | ||
For some reason people love to play test games. If your good in creating interest in your game you can have a lot of people play test the game without being payed. | |||
== Terminal options == | == Terminal options == |
Revision as of 19:15, 31 July 2019
Overview
Gunshot Coding has no structure and is coding by trial and error. While there is no structure to he coding there are several useful methods to use. Debuggers are not very useful to speed up development as many faults emerge from lack of system design and not from outright errors.
Primitive State
Keep the state primitive in the game. For instance have a single block of memory of state. This allows to easily use other methods. Shortcomings can be fixed by for instance using proxy objects.
Random map, items, monsters, story
Random objects can be regenerated if you change the game eliminating time spent to fix maps,items, monsters. Changing the game is something you will do frequently if you are using gunshot programing.
Cheat Codes
Classic method for testing games. Give yourself of infinite amount of ammo, lives etc.
In Game Memory Editor
A step up from cheat codes. This is a small editor inside the game that allows you to edit the state of the game.
In game console
Made famous by games like Quake. The in game console has the same purpose as cheat codes and memory editors. Allows quickly testing the game.
Flying Monkeys
For some reason people love to play test games. If your good in creating interest in your game you can have a lot of people play test the game without being payed.
Terminal options
Enter options on the terminal when starting the game. Similar purpose as an in game console.
Machine Learning
Can potentially skip having to create parts of the game logic.
Continuous Integration
Use a set of test that are run automatically to speed up development.