Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Sector 104 - Post Development Debrief

A topic by evoelise created Nov 02, 2019 Views: 78
Viewing posts 1 to 1
HostSubmitted

What We Set Out to Achieve

The main aim on this GameJam for us was to get my son Jack some experience with coding in C++.

I also wanted a refresh on my C++ skills having not used it in anger for a while.

We also wanted to learn the Simple DirectMedia Layer (SDL) developmemt libraries. This is a low level library that we wanted to use having used Unit before and having felt constrained by it a bit.


What Worked Well

Getting Jack Experience in C++

Jack picked up C++ very surprisingly quickly, much quick than I had expected as C++ is a hard language to learn. Jack pretty much worked it out for himself after I gave him a 30 minute talk about C++, memory, pointers, buffer overflows, memory management etc.

Most of all Jack really enjoyed it all. 

Using and Learning SDL

This was a win, it's a great library - one of the best things you can say about an API is that it works the way you expect it to. 

Very happy with this and we will use it again next time. 

Before the Game Jam we spent two days and completed Lazy Foo's SDL tutorials http://lazyfoo.net/tutorials/SDL/ and this helped a lot.

Also the SDL tutorials on YouTube by Ather Omar were helpful https://www.youtube.com/playlist?list=PLhJr2LOK-xwxQlevIZ97ZABLw72Eu9he7

We learnt to "calculate" the level design, economy, timings and reward vs risk up front (in Excel) before adding it to the game (in our previous game we added this to the game and tried to tweak it after the fact - a bad mistake).

Subversion and Tortoise

Again and with previous Game Jams these were the stars and allowed us to work on the same files of code at the same time. Of 152 check-ins, probably 50 required a merge of Jack and my code changes – only occasionally did the auto-merge fail and even then Tortoise’s conflict resolution tool made short work of it. 

JIRA

We were obsessive about using JIRA for everything – no “Remember to add X later” conversations or notes. Everything we had to do, change, fix, improve etc had a JIRA ticket raised for it. 

It meant we forgot nothing and had solid goals to aim for. 

I use this at work but it was so useful on previous GameJams that I forked out for a personal copy.

Excel

We learn this in our first Game Jam that Excel is a great tool for level design. It can plan out the levels, story line, track difficulty and the game economy. We have since learnt that many developers use Excel in the same way. 

Nullsoft Installation Scripts
I tried a few other tools to try and make the installation package but came back to NSIS. It can be a little complicated but it just works. 

What Didn’t Work

Not much really, all seemed to fall into place.

One issue of our own making was the we based the geometry of the game with 0 degrees facing down and +ve degrees turning anti-clockwise as most things in the game move down the screen. But the SDL bases rotation on 0 degrees facing up and +ve degrees turning clockwise. This difference caused us a few bugs and puzzlements - missiles flying sideways for example. We won't make that mistake again.

Lessons Learned

There's Never Enough Time

As before the 5 days deadline on the Jam was both a blessing and a curse. It put a lot of pressure on us on one hand – on the other it made sure we got things done. We enforced a 8am to 4pm work day and broke that most days - mainly because we were having fun. 

By day 2 I thought we would run out of time, but by end of day 3 and on day 4 we were well ahead of schedule we struggled to get the story line all completed and in the game on day 5. 

The level design, story-telling, layout part, although not as technical as the core mechanics and game programming is always a slog to get done and to test. Need to remember to leave enough time for this next time. 
 

Tools We Used

SDLv2 - for the game engine.
Visual Studio 2017 - for writing the and unit testing
JIRA - for bug/issue/task tracking and Kanban boards
Subversion - for version control
TortoiseSVN – GUI front end to Subversion
Notepad++ - for additional editing
Microsoft Word - for design documents and producing focus group & play testing questionnaires
Microsoft Excel – for level design.


Websites We Used

Stack Exchange – indispensable for any programmer
FreeSounds.com – for sound assets
Itch.io – of course

Conclusion

Whilst it was tough, pretty exhausting and a lot of work we both really enjoyed it. We will to do another when I can arrange more time off work.
SDL v2 was great to use and I can see a lot more we can do with it, we'd like to use it again.

We are really pleased with the game, it is by far the best game we've built in the 3 game jams we have done. 

And Finally, Things I’m Really Proud Of

I’m really proud of Jack, he picked up C++ coding faster than I though anyone could, I put him under a lot of pressure to learn new stuff and develop a game. He had to put a lot of work into the level design on the last day.  He did really well. 

In the end, everyone in family was involved in producing the game, so thanks to them all.