We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Let’s use IntelliJ as a game engine, just because we can by Alexander Chatzizacharias
Can your IDE run games? Watch how IntelliJ becomes a game engine running classics like Pong and Pacman at 120 FPS, using just the plugin platform and Kotlin. No Swing required!
-
IntelliJ can achieve 120 FPS rendering for games, outperforming some major game publishers who release at 30 FPS
-
Games were built using the IntelliJ plugin platform and Kotlin, avoiding Java Swing and external game engines
-
The presenter created several game examples including:
- Pong
- Pacman clone
- Code Hero (Guitar Hero clone for copy-pasting code)
- Space Invaders variant focused on removing mutable state
- A Sonic-inspired platformer
-
Games interact directly with the code editor by:
- Using the PSI (Program Structure Interface) to read/modify code
- Treating the editor grid as a game canvas
- Utilizing IntelliJ’s repaint cycle for rendering
-
Technical challenges included:
- Limited documentation for the plugin platform
- Color and transparency limitations
- Lack of direct APIs for timing and rendering control
- Need to handle coordinate system differences
-
Key learnings:
- Game development doesn’t require perfect physics/realism
- “Fake it till you make it” approach works well
- Experimenting and “messing around” can lead to innovation
- IntelliJ’s plugin platform is more capable than expected
-
Future improvements requested:
- Better PNG/image support
- MP3/WAV audio support
- More control over write actions
- Direct access to repaint cycle timing