{"id":"https://openalex.org/W2146541539","doi":"https://doi.org/10.1145/2643135.2643160","title":"Declarative Game Programming","display_name":"Declarative Game Programming","publication_year":2014,"publication_date":"2014-09-08","ids":{"openalex":"https://openalex.org/W2146541539","doi":"https://doi.org/10.1145/2643135.2643160","mag":"2146541539"},"language":"en","primary_location":{"id":"doi:10.1145/2643135.2643160","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2643135.2643160","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5014442955","display_name":"Henrik Nilsson","orcid":"https://orcid.org/0000-0001-5045-8691"},"institutions":[{"id":"https://openalex.org/I142263535","display_name":"University of Nottingham","ror":"https://ror.org/01ee9ar58","country_code":"GB","type":"education","lineage":["https://openalex.org/I142263535"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Henrik Nilsson","raw_affiliation_strings":["University of Nottingham"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Nottingham","institution_ids":["https://openalex.org/I142263535"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5065037351","display_name":"Ivan P\u00e9rez","orcid":"https://orcid.org/0000-0002-9998-0269"},"institutions":[{"id":"https://openalex.org/I142263535","display_name":"University of Nottingham","ror":"https://ror.org/01ee9ar58","country_code":"GB","type":"education","lineage":["https://openalex.org/I142263535"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Ivan Perez","raw_affiliation_strings":["University of Nottingham"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Nottingham","institution_ids":["https://openalex.org/I142263535"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.11869625,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"159","last_page":"160"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11574","display_name":"Artificial Intelligence in Games","score":0.9890000224113464,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11574","display_name":"Artificial Intelligence in Games","score":0.9890000224113464,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10731","display_name":"Educational Games and Gamification","score":0.9847000241279602,"subfield":{"id":"https://openalex.org/subfields/3204","display_name":"Developmental and Educational Psychology"},"field":{"id":"https://openalex.org/fields/32","display_name":"Psychology"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T11197","display_name":"Digital Games and Media","score":0.9817000031471252,"subfield":{"id":"https://openalex.org/subfields/3312","display_name":"Sociology and Political Science"},"field":{"id":"https://openalex.org/fields/33","display_name":"Social Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8360538482666016},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.8262970447540283},{"id":"https://openalex.org/keywords/structuring","display_name":"Structuring","score":0.7879927158355713},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7016962766647339},{"id":"https://openalex.org/keywords/game-programming","display_name":"Game programming","score":0.6486141681671143},{"id":"https://openalex.org/keywords/breakout","display_name":"Breakout","score":0.5788910984992981},{"id":"https://openalex.org/keywords/functional-reactive-programming","display_name":"Functional reactive programming","score":0.5651156902313232},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.5598649382591248},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.5169057846069336},{"id":"https://openalex.org/keywords/video-game","display_name":"Video game","score":0.49891018867492676},{"id":"https://openalex.org/keywords/declarative-programming","display_name":"Declarative programming","score":0.4823741018772125},{"id":"https://openalex.org/keywords/game-art-design","display_name":"Game art design","score":0.48119622468948364},{"id":"https://openalex.org/keywords/game-developer","display_name":"Game Developer","score":0.44673702120780945},{"id":"https://openalex.org/keywords/multimedia","display_name":"Multimedia","score":0.4341942071914673},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.4209224581718445},{"id":"https://openalex.org/keywords/game-design","display_name":"Game design","score":0.40140479803085327},{"id":"https://openalex.org/keywords/reactive-programming","display_name":"Reactive programming","score":0.39494091272354126},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.356689989566803},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.28415799140930176},{"id":"https://openalex.org/keywords/game-design-document","display_name":"Game design document","score":0.23649421334266663}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8360538482666016},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.8262970447540283},{"id":"https://openalex.org/C2775945657","wikidata":"https://www.wikidata.org/wiki/Q381442","display_name":"Structuring","level":2,"score":0.7879927158355713},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7016962766647339},{"id":"https://openalex.org/C109347269","wikidata":"https://www.wikidata.org/wiki/Q1753830","display_name":"Game programming","level":5,"score":0.6486141681671143},{"id":"https://openalex.org/C2778091849","wikidata":"https://www.wikidata.org/wiki/Q4959649","display_name":"Breakout","level":2,"score":0.5788910984992981},{"id":"https://openalex.org/C119489759","wikidata":"https://www.wikidata.org/wiki/Q5508843","display_name":"Functional reactive programming","level":5,"score":0.5651156902313232},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.5598649382591248},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.5169057846069336},{"id":"https://openalex.org/C3018412434","wikidata":"https://www.wikidata.org/wiki/Q7889","display_name":"Video game","level":2,"score":0.49891018867492676},{"id":"https://openalex.org/C146206909","wikidata":"https://www.wikidata.org/wiki/Q531152","display_name":"Declarative programming","level":4,"score":0.4823741018772125},{"id":"https://openalex.org/C80646779","wikidata":"https://www.wikidata.org/wiki/Q5519919","display_name":"Game art design","level":4,"score":0.48119622468948364},{"id":"https://openalex.org/C41826821","wikidata":"https://www.wikidata.org/wiki/Q844005","display_name":"Game Developer","level":3,"score":0.44673702120780945},{"id":"https://openalex.org/C49774154","wikidata":"https://www.wikidata.org/wiki/Q131765","display_name":"Multimedia","level":1,"score":0.4341942071914673},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.4209224581718445},{"id":"https://openalex.org/C503285160","wikidata":"https://www.wikidata.org/wiki/Q858057","display_name":"Game design","level":2,"score":0.40140479803085327},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.39494091272354126},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.356689989566803},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.28415799140930176},{"id":"https://openalex.org/C6907630","wikidata":"https://www.wikidata.org/wiki/Q3010535","display_name":"Game design document","level":4,"score":0.23649421334266663},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C10138342","wikidata":"https://www.wikidata.org/wiki/Q43015","display_name":"Finance","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2643135.2643160","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2643135.2643160","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.5199999809265137}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":9,"referenced_works":["https://openalex.org/W1663179985","https://openalex.org/W1968464751","https://openalex.org/W1995969393","https://openalex.org/W2049440551","https://openalex.org/W2064138295","https://openalex.org/W2079512738","https://openalex.org/W2116435685","https://openalex.org/W4285719527","https://openalex.org/W6635083373"],"related_works":["https://openalex.org/W2089589666","https://openalex.org/W1988194486","https://openalex.org/W2039406101","https://openalex.org/W4248653691","https://openalex.org/W4296878212","https://openalex.org/W121585788","https://openalex.org/W2286281461","https://openalex.org/W1828224469","https://openalex.org/W3004782279","https://openalex.org/W1500814630"],"abstract_inverted_index":{"Video":[0],"games":[1,47,66,135],"are":[2,9],"usually":[3],"not":[4],"programmed":[5],"very":[6],"declaratively.":[7],"There":[8],"a":[10,68,91],"number":[11],"of":[12,23,35,50,90,123],"reasons":[13],"for":[14,127,136],"this,":[15],"from":[16],"low-level":[17],"efficiency":[18],"concerns,":[19],"via":[20],"the":[21,32,87,96,103,124],"nature":[22,34],"commonly":[24],"employed":[25],"programming":[26],"languages,":[27],"libraries,":[28],"and":[29,40,53,63,108,119,138],"frameworks,":[30],"to":[31,61,95,110,115],"conceptual":[33],"such":[36,56],"games,":[37],"with":[38],"state":[39],"effects":[41],"being":[42],"omnipresent.":[43],"However,":[44],"by":[45,85],"structuring":[46],"in":[48,67,131],"terms":[49],"time-varying":[51],"values":[52],"transformations":[54],"on":[55],"values,":[57],"it":[58],"is":[59],"possible":[60],"design":[62],"implement":[64],"video":[65],"more":[69],"declarative":[70],"way.":[71],"This":[72],"tutorial":[73,101],"shows":[74],"how":[75],"this":[76],"can":[77],"be":[78],"achieved":[79],"through":[80],"Functional":[81],"Reactive":[82],"Programming":[83],"(FRP)":[84],"implementing":[86],"high-level":[88],"parts":[89],"2D":[92,125],"game":[93,98,117],"akin":[94],"classical":[97],"Breakout.":[99],"The":[100],"uses":[102],"Haskell-embedded":[104],"FRP":[105],"implementation":[106],"Yampa":[107],"bindings":[109],"SDL":[111],"(Simple":[112],"DirectMedia":[113],"Layer)":[114],"obtain":[116],"play":[118],"visual":[120],"standards":[121],"typical":[122],"genre;":[126],"example,":[128],"as":[129],"seen":[130],"many":[132],"currently":[133],"popular":[134],"smartphones":[137],"tablets.":[139]},"counts_by_year":[{"year":2019,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
