LISBON 10-12
APRIL 2014
LISBON 10-12
APRIL 2014

Edit your talk

Talks > Deconstructing a game

Status

This talk has been approved for this year's edition. Check the calendar for more information.

Language

Portuguese

Abstract

As I'm nearing the end of my current pet project game It looked like a good time to deconstruct it into tiny pieces and see how every problem was approached and solved and/or hacked :)

For this talk I'm going to approach a turn based roguelike game, Quest of Dungeons.
The game was developed from the ground up in C++ (no Unity or any engines) with the help of some APIs:

OpenGL
Theora
OpenAL
libOGG
FreeType2
tinyXML

People usually ask me how I did this or that component in the game and I'll try to cover as much as possible. Although this is a technical approach I'll try to explain everything in a sort of pseudo code (and graphics o/) way so that even if you code in a different language you feel comfortable understanding what is going on.

-Topics- (may change a bit)
-A* - Pathfinding
-Generation of random Dungeons
-Scheduling system (handling turns and entities decisions)
-Combat system and modifiers
-Line of Sight (LOS)
-2d Light system

Of course this is not locked and suggestions are welcome, let me know if you want to see any other topic or what you would like to see covered in this talk. I don't mind changing stuff around.

On a final note, this will not be a "this is the right way to do it", but simply the way I approached it, and together we can see what was wrong and what went right.

The game that I'll be deconstructing: http://beta.videos.sapo.pt/Sc569lSHn3tjVGgYu77D

Proposal date

2014-01-17 10:51:17

Rate & Comment

You can use this section to optionally comment on this talk (comments are public). Your comment is saved when you press the "comment" button at the bottom. Your thumb decision is private, no one will see it. You can change thumb decision at any time later, the last submission will prevail. You can post as many comments as you want.

You need to be registered and logged in to comment or rate this talk proposal.

Comments

Samuel Torres
on , said:

Parece muito interessante :)

$geekfactor 0x4

António Pedro Oliveira Cunha Santos
on , said:

Interesting theme!

$geekfactor 0x1

Gustavo Laboreiro
on , said:

+ David Amador What!? No Linux? :-(
Were any steps taken towards flexibility, to allow the game to change due to user's feedback? What about adding some real AI (I wish roguelike games had an "auto-pilot" for the tedious parts)?

$geekfactor 0x1

David Amador
on , said:

+ Gustavo Laboreiro, There's no auto-pilot but the enemies do have a sort of rudimentary AI, they are idle until they player gets within their visual field radius, after that they track you and attack. If by any chance you get behind something, and get out of their line of sight then they will still go until the last place they saw you. the process begins. So this could theoretically be applied to the player. It's a cool idea
As for Linux yup, unfortunately there is no port right now, but I plan on doing it after. It's just too many ports to handle at once right now :)

I've made some changes due to user's feedback over time but can't really remember the extent now. Mostly stuff that was hard to get or use.

$geekfactor 0x0

José Lopes (Sá)
on , said:

looking really good, upvoted!

$geekfactor 0x1

José Pedro Dias
on , said:

Game dev FTW

$geekfactor 0x0

Tiago André Bastos Pires
on , said:

Looks a very interesting approach. Upvoted!

$geekfactor 0x1

Game development talks are cool. Upvoted.

$geekfactor 0x1

Miguel Pinto
on , said:

Upvoted. I'm in!

$geekfactor 0x1

Bruno Crociquia
on , said:

Will be watching this!

$geekfactor 0x1

Jose Simoes
on , said:

This sound like an interesting one!!!

$geekfactor 0x1

Pedro Miguel Costa Maia
on , said:

Interesting, upvoted! ;)

$geekfactor 0x0

Nelson Oliveira
on , said:

Since I'm really into GameDev, this sounds great. Upvoted, and hope I can watch this!

$geekfactor 0x0

Filipe Cruz
on , said:

desktop dungeons clone?

$geekfactor 0x0

David Amador
on , said:

+ Filipe Cruz, nope, not on purpose anyway :) Never played it, keep hearing great stuff about it, have to try it one of these days

$geekfactor 0x0

José Pedro Marques
on , said:

Interesting theme!

$geekfactor 0x0

Pedro dos Santos Figueiredo Dias Carneiro
on , said:

Game dev is always a hot topic! Upvoted :)

$geekfactor 0x0

David Silva
on , said:

Pelo video o jogo parece promissor, espero que tenhas oportunidade de falar sobre ele no Codebits :)

$geekfactor 0x0

David Amador
on , said:

+ David Silva, na parte de Q&A se restarem duvidas são bem vindas. Mesmo que a talk não seja aprovada é só procurarem-me por lá :)

$geekfactor 0x0

Rui Guedes
on , said:

Upvoted! Seems like a really cool topic for a techy crowd. As a mobile games developer, I'm particularly interested on the subject matter ;)

$geekfactor 0x1

Gustavo Laboreiro
on , said:

+ David Amador, well, if you get to make a wandering routine, you could use it as a sort of "auto-explore", and make the monsters walk around the dungeon.
Then, you could make some type of monsters hostile to the same or other type of monster, and you get a sort of dungeon ecosystem.

I think it would be cool to run if I had the chance of running around the dungeon, with several monsters chasing me, and zipping past a big monster that would be the new target of my pursuers. Sure, it would be a risky strategy. A locked door or a nasty creature blocking the end of the narrow corridor would mean BIG TROUBLE. But the dungeon would look more alive, and it would be my fault for stirring up trouble. :-P

I never understood why monsters are all friendly with each other in dungeons.

$geekfactor 0x1

Ricardo Jorge Pinto Rodrigues
on , said:

+ Samuel Torres, sim concordo

$geekfactor 0x0

Carlos Rodrigues
on , said:

Bem, acho uma talk bastante interessante, apesar que depende muito de como e' que sera' apresentada :)

$geekfactor 0x0

David Amador
on , said:

+ Carlos Rodrigues, sugestões e/ou a forma como gostariam de ver isto apresentado são bem vindas

$geekfactor 0x0

Tiago Sintra
on , said:

Awesome topic, should be very interesting. How about showing like the evolution of the game as new features were added?

$geekfactor 0x0

David Amador
on , said:

+ Tiago Sintra, thanks for the suggestion, I'll take that into consideration. In some parts I already intend to cover that, such as features/functionalities that had to be altered to accommodate a more suitable gameplay

$geekfactor 0x0

Jorge Cavaco
on , said:

nice!

$geekfactor 0x1

Pedro Costa
on , said:

Computer says no...

$geekfactor 0x0

Pedro Costa
on , said:

Computer says no...

$geekfactor 0x0

Miguel Pinto
on , said:

very interesting! Upvoted! :)

$geekfactor 0x1

David Amador
on , said:

+ Pedro Costa, http://nooooooooooooooo.com/

$geekfactor 0x0

Filipe Bernardo
on , said:

looks like "old school" gaming...cool upvoted
bringing back memories

$geekfactor 0x1

Pedro Costa
on , said:

+ David Amador, http://yeeeeeeeeeeeeeees.com/, upvoted...

$geekfactor 0x1

Pedro Tavares
on , said:

Seems amazing! Upvoted.

$geekfactor 0x1

Nelson Brandão
on , said:

I need to see this

$geekfactor 0x1

João Borges
on , said:

Muito bom! Quero ver esta talk :D

$geekfactor 0x0

Mário Gago
on , said:

This one I can't miss! Well done sir! Good luck.

$geekfactor 0x0

You must log-in in order to comment this.