Maze Raider - The aMAZEing code a game comp entry

Started by Derron, September 02, 2018, 13:45:09

Previous topic - Next topic

Derron

Animated mummy: awakening (raising arms and so ...) and also added a walking animation.
Animated adventurer: walking, idle, fire holding
Getting the animations from Blender to Godot was a bit of a pain - the "godot exporter" somehow failed to export animations (with my files - and also the sample files provided by the exporter). Fiddling around with all this stuff took ... literally hours.

So for now I need to export ".dae" (collada) files as they at least contain the animations.


Also I had issue with some materials (if you want to use vertex colors rather than image textures for everything). Also Godot had issues with some objects - hat had off-normals while Blender stated all normals were as expected.

Animations have to get "morphed" too (idle - walk - walk fire - ...). TODO for tomorrow.


Am not really liking the new look (got used to the placeholders ;-)) of the "skinny" characters. Nonetheless... time for bed, kids are awake in <5hrs.


bye
Ron

Derron

Ok, kids in bed - lunch/nap time wasn't successful today (only ~1hr "spare time").

so ... 4 hours to go now. Want to at least create a semi-acceptible startup screen, and 1-2 game elements need to get done. Maybe I even achieve to design the gameover/win screen rather having some monotone-colored rectangles with text :-)

No words about option screens, key configuration and the likes (would have that in if I could reuse code from my BMax framework ...).

And yeah - then hope that exporting for win32 works as intented.


Time for some nice music to listen to... German punk vs 70s. Ok, let's start with "The Sound of Silence" ;-)


bye
Ron

Derron

Wife nagged to do some houseworkstuff ... so meanwhile I (started to ) render out the startup screen:


Hmpf, time is running out soon.


bye
Ron

Steve Elliott

I'm sure if you asked nicely you could mention deadlines  ::)

Render looks great.
Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

Derron

#79
Ok, so for "now" I am done with the "game".

I enjoyed adding stuff here and there - once I got used to the "Godot way" of doing things. AND once I prepared a lot of stuff to "reuse". Means once my tile interaction scripts were written it only took a couple of minutes to create a tilemap item which kills the player after it has thrown him into the air and plays a little blood particle fountain meanwhile.

Until you reach that state Godot throws many, many, .. many stones into your path. GDScript and "previously freed instances" were the most annoying things.
When exporting animations as "escn" they are missing - when exporting as ".dae" (collada) then you need to make sure that your meshes are not posed during export as some "local transformations" (eg you only rotate a specific bone instead of starting with "rotate from X"). Blender displayed them as I wanted but in Godot you somehow had the hands moved into the head and such oddities ;-)
If the deadline is already visible you do not want to have to learn how such things work. It "just should work" ...

So at the end of the compo time I at least tried to create a little icon - created a proper .ico file but seems Godot neither likes that one - nor the one I created with "imagemagick". Hmmmpf.

When updating assets (eg. saving them in the project folder with your painting programs) Godot displays an updating-asset-window. Nonetheless my controls/HUD did not reflect changes. You need to click into the ressource-gui-widget of the texture and hope that it gets refreshed then. Sometimes you need to double click on the corresponding .png file in the file browser of Godot - to make it refresh. Nonetheless the "scene preview" (where you move things around) does not reflect it then. It needs a "extend"-checkbox check-unchecking to refresh.
I think there are plenty of little bugs in the Godot editor which needs to get tacklet - and which are surely mentioned already multiple times.

If you want to change the material "tint" of an item you need to:
- open its scene
- click on the mesh you want to adjust
- right-click on material and "make unique" (else you adjust other instances)
- click on the material
- click on albedo (or what you want to adjust)

It is surely also possible to do "by code" but ahem ... steep learning curve or so?



All in all: export was pretty easy (add the target, set "64bit or not", set icon (which does not work for me) ... and export it). But hey - it does not compile stuff. It assembles all assets and packs its runtime (ready made for all targets already) next to it. So I already assumed that it works "easily" (which does not say that the release works for everybody).

I can assume that certain little games work pretty nice in Godot - eg. Holzchopfs little Train-Brainer caught my attention - 3D trains? ;-D). The more "complex" (read: many different thingies) the gameplay becomes the less I would suggest a usage of Godot. As therevills wrote: you feel "dirty" or "hacking" when doing your coding in Godot. Things get messy pretty much if you are used to a different way of organizing your assets/code. Of course things would absolutely differ if I would do another little game (maybe finish it this time? ;-)) with Godot but hmm I would again only use it for 3D games as for 2D I have my beloved BlitzMax (NG) - which only misses a proper HTML5 output/target.

Maybe in some months the economy system around Godot evolved a bit and it provides "premade stuff" like Unity does. Checkout Qube's little gem/game and how fantastic it looks: in Godot you need to create all the little effects "from scratch" which just takes too much time (even if it can be fun to create certain stuff there).


bye
Ron

Qube

Oo, I like this game and it has a really nice atmosphere about it. Glad to see you managed to get it in in time :). Great work on the title screen render.

I think you and I can happily say "We learned a lot during this comp and things would be oh so different next time in our approach" :P
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Naughty Alien

..i like art style/textures for mummy..atmosphere looks really nice..

Xerra

Derron, just a quick report that I'm playing the Mac version and on the game over screen hitting space to continue actually doesn't. I have to restart the game to play again. Not sure if it's just the Mac version that's doing this but maybe nobody apart from me has used it yet?
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

Qube

Quote from: Xerra on October 17, 2018, 22:34:08
Derron, just a quick report that I'm playing the Mac version and on the game over screen hitting space to continue actually doesn't. I have to restart the game to play again. Not sure if it's just the Mac version that's doing this but maybe nobody apart from me has used it yet?
Yeah, I found the same issue as you. I didn't report it as I assume the Windows version works fine and most people would be playing the Windows version.
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Derron

So in the start screen "space" does not lead you to level 1 too?
And in the game "ESC" does not lead you back to the start-screen?


In the start-screen I use:
if Input.is_key_pressed(KEY_SPACE) or Input.is_key_pressed(KEY_ENTER):
...


In the game screen I use an own solution which stores the same function but caches it - so it reacts to "was pressed".  The difference is that the first one is repeately fired (hit it and it is true for each "loop"). For a screen transition this works well as the scene changed in the next tick then. But during the game key presses need to get only fired once for "down + up".


This is my simple code (maybe one spots the bug already?):

var keys_pressed = []
var keys_was_pressed = []
...

for key in [KEY_TAB, KEY_SPACE, KEY_R, KEY_F, KEY_T, KEY_J, KEY_P, KEY_ESCAPE]:
if not keys_pressed.has(key):
keys_pressed[key] = false
keys_was_pressed[key] = false

if !Input.is_key_pressed(key) and keys_pressed[key]:
keys_was_pressed[key] = true
else:
keys_was_pressed[key] = false

if Input.is_key_pressed(key):
keys_pressed[key] = true
elif !Input.is_key_pressed(key):
keys_pressed[key] = false

...
if keys_was_pressed[KEY_ESCAPE]:
SCENETRANSITION.FadeTo("res://Scenes/Scene_Mainmenu.tscn")



bye
Ron

Qube

QuoteSo in the start screen "space" does not lead you to level 1 too?
And in the game "ESC" does not lead you back to the start-screen?
Space works from the start screen and ESC works in game. It's when the game over window appears that space doesn't work. Also when you press 'P' in game, the game will pause but the timer still counts down.
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Derron

#86
Can replicate it.

...and fixed it.
Reason? My scene-transition is a "node". And when going "game over" I pause the game. Game pausing is done via "get_tree().paused". While I did not add my scene-transition node to the tree it somehow landed in the global tree (think everything lands there). Means when paused, the whole script was no longer processed. Which I did not "remembered" (just had a debug print when starting the fade - and it worked, so I assumed it was called correctly, ignoring the fact that it was no longer "updated" then).


So solution was to add

func _ready():
#fade in all cases
self.pause_mode = PAUSE_MODE_PROCESS


to my scene transition script.


I updated the download links to link to the new v0.8.1:
- visual indicator for pause mode is now visible too (to avoid bug reports about stuck figures)
- "space" during game over for start-screen works now

https://www.gamezworld.de/files/mazeraider/Maze_Raider.Linux64.7z
https://www.gamezworld.de/files/mazeraider/Maze_Raider.MacOSX.zip
https://www.gamezworld.de/files/mazeraider/Maze_Raider.Win32.7z
https://www.gamezworld.de/files/mazeraider/Maze_Raider.Win64.7z


bye
Ron

Qube

That works :)

But... I've found some more bugs :P

1.. On the title screen if you keep pressing space it repeats itself trying to fade out the screen to start the game.
2.. When playing the game if you repeatedly press "R" to restart, after a few presses the game crashes.

Gotta keep you busy ;D
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Xerra

Quote from: Qube on October 17, 2018, 23:52:38
That works :)

But... I've found some more bugs :P

1.. On the title screen if you keep pressing space it repeats itself trying to fade out the screen to start the game.
2.. When playing the game if you repeatedly press "R" to restart, after a few presses the game crashes.

Gotta keep you busy ;D

To add to this, repeated pressing esc in the game (I know you wouldn't do it normally but ....) will just keep kicking in the fade transition.

Music and sound have stopped working in the new version. Qube did you get this too?
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

Qube

QuoteMusic and sound have stopped working in the new version. Qube did you get this too?
Just shoved on my headphones and can confirm the sound and pretty great music has vanished :o - Derron!!! fixy fix fix!!
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.