麻豆原创

MU logo
MU logo

Art: Video Game Development

Video Game Development is an interdisciplinary concentration that combines traditional studio art practices with foundational skills in computer science and game design.

Esports student gaming with onscreen view

Video Game Development

This program equips students to become visual storytellers and interactive artists for the digital age, preparing them for careers in the video game industry and related creative technologies. Students will study drawing, 2D and 3D design, animation, character and environment development, and digital imaging, while also gaining introductory experience in coding, game engines, and user experience design.

Through hands-on projects and collaborative learning, students develop the creative and technical skills needed to conceptualize, prototype, and contribute visually to immersive game experiences. Whether working as concept artists, asset creators, or indie game developers, graduates of this program will be prepared for both professional employment and continued study in game art, animation, or digital media design. This concentration empowers students to use art as a tool not only for entertainment but also for narrative impact, cultural expression, and innovation in interactive storytelling.

Program Information:

Major | BA

  • 41 Credit Hours

Minor | Art

  • 18 Credit Hours

Why Choose 麻豆原创 for Video Game Development?

2 students playing computer games in an esports league

What You Can Do with Your Video Game Development Degree

Game Programmer

Develops code that powers gameplay, AI, and system mechanics.

Level Designer

Creates interactive game environments and player experiences using design tools.

Technical Artist

Bridges art and programming to optimize visuals and performance.

Gameplay Tester

Identifies bugs, evaluates user experience, and ensures game functionality.

Subtle_Texture_Gray_Program

Average Starting Salary for Video Game Development Degree Holders

A bachelor鈥檚 degree in video game development typically qualifies one for roles classified under software development. According to the , the median annual wage for software developers was $133,080 in May鈥2024, with entry-level positions often starting between $64,470 (10th percentile) and $90,870 (25th percentile).

Commencement student walking on stage hugging faculty

Meet the Faculty

You Might Also Be Interested In These Programs

Subtle_Texture_Gray2_Program
YouTube video

Video Game Development Learning Outcomes

Program Goals and Student Learning Outcomes

PG1:Development as an Artist
Through course work students will develop an understanding of the fundamentals of aesthetics and technical skills in visual art.
  • SLO1:听 Students will develop projects using specified media in a manner that reflects technical skill and appropriate decision making to creatively apply the elements and principles of design.
  • SLO2:听Students will analyze and categorize works of art by technical styles, movements, and/or artists.
  • SLO3:听Students will engage in critique, suggesting revisions to refine creative perception and decisions, and to improve resulting products.
PG2:Development as a Professional
Through coursework and extracurricular experiences students will develop skills necessary for future careers in the arts as well as broader professional communities.
  • SLO1:听 Students will present their work, describing process, appraising quality, and articulating meaning.
  • SLO2:听 Students will create a series of digital portfolios – compilations of creative works illustrating technical skills, creativity, and breadth of media – developing from novice to professional quality.
exists --- (function ensure40pxInlineEarly() { function set40(el) { el && el.style.setProperty('padding-top', '40px', 'important'); } // If header already parsed, set now; otherwise set as soon as it appears. const hdrNow = document.getElementById(HEADER_ID); if (hdrNow) { set40(hdrNow); return; } new MutationObserver((muts, obs) => { const hdr = document.getElementById(HEADER_ID); if (hdr) { set40(hdr); obs.disconnect(); } }).observe(document.documentElement, { childList: true, subtree: true }); })(); // --- Helpers --- function hideDiviBars() { document.querySelectorAll('.divibars-container').forEach(div => { const content = (div.textContent || '').replace(/\u00A0/g, ' ').trim(); const shouldHide = !content || /all\s*clear/i.test(content) || /test/i.test(content) || /feed\s*has\s*no\s*items\.?/i.test(content); if (shouldHide) div.style.setProperty('display', 'none', 'important'); }); } function isEffectivelyVisible(el) { if (!el || !el.isConnected) return false; const target = el.querySelector('.divibars, .divibars-wrapper, .divibars-content') || el; const cs = getComputedStyle(target); if (cs.display === 'none' || cs.visibility === 'hidden' || target.hidden) return false; if (parseFloat(cs.opacity || '1') < 0.05) return false; if (target.closest('[aria-hidden="true"]')) return false; const rect = target.getBoundingClientRect(); const hasSize = (rect.width > 0 && rect.height > 0) || (target.offsetWidth > 0 && target.offsetHeight > 0); if (!hasSize) return false; const vh = window.innerHeight || document.documentElement.clientHeight; return rect.bottom > 0 && rect.top < vh; } function anyRealBannerVisible() { // A 鈥渞eal鈥 banner = visible AND not empty/test/all-clear/feed-empty return Array.from(document.querySelectorAll(CANDS)).some(el => { if (!isEffectivelyVisible(el)) return false; const txt = (el.textContent || '').replace(/\u00A0/g, ' ').trim(); if (!txt) return false; if (/all\s*clear/i.test(txt) || /test/i.test(txt) || /feed\s*has\s*no\s*items\.?/i.test(txt)) return false; return true; }); } function setForce110(on) { const root = document.documentElement; const was = root.classList.contains('divibar-force-110'); if (!!on === was) return; root.classList.add('divibar-atomic'); root.classList.toggle('divibar-force-110', !!on); // If we鈥檙e NOT forcing 110, clear any stray inline 110 the plugin may add later. if (!on) { const hdr = document.getElementById(HEADER_ID); if (hdr) hdr.style.setProperty('padding-top', '40px', 'important'); } requestAnimationFrame(() => root.classList.remove('divibar-atomic')); } // Debounced 2-frame confirmation to avoid flicker during animations let raf1 = null, raf2 = null; function scheduleRecompute() { if (raf1) return; raf1 = requestAnimationFrame(() => { raf1 = null; hideDiviBars(); const a = anyRealBannerVisible(); raf2 = requestAnimationFrame(() => { raf2 = null; const b = anyRealBannerVisible(); setForce110(a && b); }); }); } // --- Wiring --- document.addEventListener('DOMContentLoaded', scheduleRecompute); window.addEventListener('load', scheduleRecompute); window.addEventListener('resize', () => { cancelAnimationFrame(raf1); raf1 = null; cancelAnimationFrame(raf2); raf2 = null; scheduleRecompute(); }); new MutationObserver(() => scheduleRecompute()).observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class', 'aria-hidden'] }); document.addEventListener('transitionend', e => { if (e.target && e.target.closest(CANDS)) scheduleRecompute(); }); document.addEventListener('animationend', e => { if (e.target && e.target.closest(CANDS)) scheduleRecompute(); }); document.addEventListener('click', function (e) { const btn = e.target && e.target.closest('.divibars-close'); if (!btn) return; setTimeout(() => { const bar = btn.closest('.divibars-container, [class*="divibar"]'); if (bar) bar.style.setProperty('display', 'none', 'important'); scheduleRecompute(); }, 200); }, true); // Initial pass scheduleRecompute(); })();