After a long break, I started to make a new game. Working title: “Gloomy Dungeons 2D” (or GD2D).
I have long been thinking about creation of new game, but, you know, I’m programmer. Good game is 40% of gameplay + 30% of graphics + 20% of music and only 10% of code. But! I already have pretty good graphics and levels – I can took them from GD and GD2. So basically idea is to remake GD and GD2 into 2D.
I also want to use this game for experiments, so this time I’ll try to make a good AI (let’s be honest, it was boring to shoot monsters in GD and GD2, because the AI was stupid).
Step 1: design document
That’s what how it looks initially:
- Weapon parameters
- Weapon parameters
- Make a good game 🙂
Photoshop because it is great graphics editor, and I have subscription 🙂
Sketch because I bought it some time ago, and, probaly, it can help me with vector graphics.
I do not like the way weapons are set up in GD and GD2, so I should thinking about it in Weapon parameters section.
Promotion – several links to video bloggers who have ever published a review of GD or GD2.
Step 2: engine
GD and GD2 are maked in pure Java exclusively for Android. Other games I made with help of OpenFL. But this time I want to try new game engine. I chose between Kha and luxe engine. Both are great game engines, there are plenty information about them in internet.
I have a little expirience with luxe engine several years ago, and I really like to read Sven’s posts (eg. https://luxeengine.com/tag/dev/), so I chose luxe. I’m a little worried about “luxe 1.0 is coming… Please be aware there is a major transition happening” on the main page, so I saved latest commit hashes of flow, snow and luxe in the text file, to be able to return to this configuration in any time.
Step 3: roadmap
Time to fill roadmap 🙂
- Collect links about luxe engine
- Find out what luxe and snow can do, try every demo application included in show and luxe, record the names of important demos
- Learn how to do basic things in luxe
- We have something on the screen
- Output level, hero, monsters, objects; basic movememt and simple animation
- Wow, GD in 2D
- Make something playable, temporary use AI from GD2
- Add on-screen controls for mobile
- Find royalty-free music and sounds or buy it (OK, I can reuse sounds from GD, but music should be new). Create sound system.
- Simple polishing
- Add simple lighting, fog of war, particles
- Simple menu
- Simple menu and options screens
- Chose UI library (port my own from OpenFL to luxe? Use mint?), use it for any UI in the game
- Make everything cool and shiny
- Basic 3D rendering (walls and doors)
- Add shaders and camera effects (eg. shake, zoom, etc.)
- Last-time changes
- New icon, new background on menu screen
Step 4: preparation
Several links I found:
I know that it shound be much more, but that’s enough for me for the first time.
Than I copied demos and samples from show and luxe to separate folder, and looked at each of them (mostly compiling to html5).
haxelib run flow run– run specified project as native (C++)
haxelib run flow run android– create project for android, than you should compile it itself using gradle (btw,
gradlewis not executable by default, so
chmod a+x gradlew)
haxelib run flow ios– create iOS project, there is several problems it project (eg. invalid folder names), but it is easy to fix
haxelib run flow run web– build and run for html5
--timeout 9999makes the server does not stop
--debug– append this flag to enable debug build
While watching demos, I notice that luxe doesn’t support .ttf fonts, so there is new task in preparation section:
- Find tool to convert vector fonts into bitmap fonts (especially with support of distance field)
See you later!