Smart composition of game objects using dependency injection
Most game engines are based on inheritance of game objects and/or componentization of behaviors. While this approach enables clear visualization of the system architecture, good code reuse, and fast prototyping, it brings some issues, mostly related to the high dependency between game objects/compon...
Gespeichert in:
Veröffentlicht in: | Computers in Entertainment 2009-12, Vol.7 (4), p.15 |
---|---|
Hauptverfasser: | , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | |
---|---|
container_issue | 4 |
container_start_page | 15 |
container_title | Computers in Entertainment |
container_volume | 7 |
creator | Passos, Erick B Sousa, Jonhnny Wesiley S Gonzales, Esteban Walter Montenegro, Anselmo Murta, Leonardo |
description | Most game engines are based on inheritance of game objects and/or componentization of behaviors. While this approach enables clear visualization of the system architecture, good code reuse, and fast prototyping, it brings some issues, mostly related to the high dependency between game objects/components instances. This dependency often leads to static casts and null pointer references that are difficult to debug. In this article we propose the use of the dependency injection design pattern to safely initialize game objects and lessen the programmer's role in handling these issues both during the prototyping and production phases. Since these dependencies are attributes of game objects and the injection occurs only at the initialization pass, there is no performance penalty at the game loop. [PUBLICATION ABSTRACT] |
format | Article |
fullrecord | <record><control><sourceid>proquest</sourceid><recordid>TN_cdi_proquest_reports_228825318</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>1935355111</sourcerecordid><originalsourceid>FETCH-proquest_reports_2288253183</originalsourceid><addsrcrecordid>eNpjYuA0NDUx0TW2tDBkgbFNzU04GLiKi7MMDIzMgYiTwSY4N7GoRCE5P7cgvzizJDM_TyE_TSE9MTdVIT8pKzW5pFihtDgzL10hJbUgNS8lNS-5UiEzDyQBVMrDwJqWmFOcyguluRkU3VxDnD10C4ryC0tTi0vii1IL8otKiuONjCwsjEyNDS2MiVEDAH4ROC8</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>228825318</pqid></control><display><type>article</type><title>Smart composition of game objects using dependency injection</title><source>ACM Digital Library Complete</source><creator>Passos, Erick B ; Sousa, Jonhnny Wesiley S ; Gonzales, Esteban Walter ; Montenegro, Anselmo ; Murta, Leonardo</creator><creatorcontrib>Passos, Erick B ; Sousa, Jonhnny Wesiley S ; Gonzales, Esteban Walter ; Montenegro, Anselmo ; Murta, Leonardo</creatorcontrib><description>Most game engines are based on inheritance of game objects and/or componentization of behaviors. While this approach enables clear visualization of the system architecture, good code reuse, and fast prototyping, it brings some issues, mostly related to the high dependency between game objects/components instances. This dependency often leads to static casts and null pointer references that are difficult to debug. In this article we propose the use of the dependency injection design pattern to safely initialize game objects and lessen the programmer's role in handling these issues both during the prototyping and production phases. Since these dependencies are attributes of game objects and the injection occurs only at the initialization pass, there is no performance penalty at the game loop. [PUBLICATION ABSTRACT]</description><identifier>ISSN: 1544-3574</identifier><identifier>EISSN: 1544-3981</identifier><language>eng</language><publisher>New York: Association for Computing Machinery</publisher><subject>Code reuse ; Computer & video games ; Computer architecture ; Computer programming ; Prototypes ; Studies</subject><ispartof>Computers in Entertainment, 2009-12, Vol.7 (4), p.15</ispartof><rights>Copyright Association for Computing Machinery Dec 2009</rights><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>312,776,780,787</link.rule.ids></links><search><creatorcontrib>Passos, Erick B</creatorcontrib><creatorcontrib>Sousa, Jonhnny Wesiley S</creatorcontrib><creatorcontrib>Gonzales, Esteban Walter</creatorcontrib><creatorcontrib>Montenegro, Anselmo</creatorcontrib><creatorcontrib>Murta, Leonardo</creatorcontrib><title>Smart composition of game objects using dependency injection</title><title>Computers in Entertainment</title><description>Most game engines are based on inheritance of game objects and/or componentization of behaviors. While this approach enables clear visualization of the system architecture, good code reuse, and fast prototyping, it brings some issues, mostly related to the high dependency between game objects/components instances. This dependency often leads to static casts and null pointer references that are difficult to debug. In this article we propose the use of the dependency injection design pattern to safely initialize game objects and lessen the programmer's role in handling these issues both during the prototyping and production phases. Since these dependencies are attributes of game objects and the injection occurs only at the initialization pass, there is no performance penalty at the game loop. [PUBLICATION ABSTRACT]</description><subject>Code reuse</subject><subject>Computer & video games</subject><subject>Computer architecture</subject><subject>Computer programming</subject><subject>Prototypes</subject><subject>Studies</subject><issn>1544-3574</issn><issn>1544-3981</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2009</creationdate><recordtype>article</recordtype><recordid>eNpjYuA0NDUx0TW2tDBkgbFNzU04GLiKi7MMDIzMgYiTwSY4N7GoRCE5P7cgvzizJDM_TyE_TSE9MTdVIT8pKzW5pFihtDgzL10hJbUgNS8lNS-5UiEzDyQBVMrDwJqWmFOcyguluRkU3VxDnD10C4ryC0tTi0vii1IL8otKiuONjCwsjEyNDS2MiVEDAH4ROC8</recordid><startdate>20091201</startdate><enddate>20091201</enddate><creator>Passos, Erick B</creator><creator>Sousa, Jonhnny Wesiley S</creator><creator>Gonzales, Esteban Walter</creator><creator>Montenegro, Anselmo</creator><creator>Murta, Leonardo</creator><general>Association for Computing Machinery</general><scope>JQ2</scope></search><sort><creationdate>20091201</creationdate><title>Smart composition of game objects using dependency injection</title><author>Passos, Erick B ; Sousa, Jonhnny Wesiley S ; Gonzales, Esteban Walter ; Montenegro, Anselmo ; Murta, Leonardo</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-proquest_reports_2288253183</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2009</creationdate><topic>Code reuse</topic><topic>Computer & video games</topic><topic>Computer architecture</topic><topic>Computer programming</topic><topic>Prototypes</topic><topic>Studies</topic><toplevel>online_resources</toplevel><creatorcontrib>Passos, Erick B</creatorcontrib><creatorcontrib>Sousa, Jonhnny Wesiley S</creatorcontrib><creatorcontrib>Gonzales, Esteban Walter</creatorcontrib><creatorcontrib>Montenegro, Anselmo</creatorcontrib><creatorcontrib>Murta, Leonardo</creatorcontrib><collection>ProQuest Computer Science Collection</collection><jtitle>Computers in Entertainment</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Passos, Erick B</au><au>Sousa, Jonhnny Wesiley S</au><au>Gonzales, Esteban Walter</au><au>Montenegro, Anselmo</au><au>Murta, Leonardo</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Smart composition of game objects using dependency injection</atitle><jtitle>Computers in Entertainment</jtitle><date>2009-12-01</date><risdate>2009</risdate><volume>7</volume><issue>4</issue><spage>15</spage><pages>15-</pages><issn>1544-3574</issn><eissn>1544-3981</eissn><abstract>Most game engines are based on inheritance of game objects and/or componentization of behaviors. While this approach enables clear visualization of the system architecture, good code reuse, and fast prototyping, it brings some issues, mostly related to the high dependency between game objects/components instances. This dependency often leads to static casts and null pointer references that are difficult to debug. In this article we propose the use of the dependency injection design pattern to safely initialize game objects and lessen the programmer's role in handling these issues both during the prototyping and production phases. Since these dependencies are attributes of game objects and the injection occurs only at the initialization pass, there is no performance penalty at the game loop. [PUBLICATION ABSTRACT]</abstract><cop>New York</cop><pub>Association for Computing Machinery</pub></addata></record> |
fulltext | fulltext |
identifier | ISSN: 1544-3574 |
ispartof | Computers in Entertainment, 2009-12, Vol.7 (4), p.15 |
issn | 1544-3574 1544-3981 |
language | eng |
recordid | cdi_proquest_reports_228825318 |
source | ACM Digital Library Complete |
subjects | Code reuse Computer & video games Computer architecture Computer programming Prototypes Studies |
title | Smart composition of game objects using dependency injection |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-28T15%3A58%3A39IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Smart%20composition%20of%20game%20objects%20using%20dependency%20injection&rft.jtitle=Computers%20in%20Entertainment&rft.au=Passos,%20Erick%20B&rft.date=2009-12-01&rft.volume=7&rft.issue=4&rft.spage=15&rft.pages=15-&rft.issn=1544-3574&rft.eissn=1544-3981&rft_id=info:doi/&rft_dat=%3Cproquest%3E1935355111%3C/proquest%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=228825318&rft_id=info:pmid/&rfr_iscdi=true |