Franciszek Pyrć

Ludum Dare 48

New fixes incoming

So I've made a portal 2 like game with my team in 72 hours, but it had many issues. I am now working on fixing them, but until I can highlight what am I doing

New console design and font

I've been rocking the default qASIC console, since I didn't want to dedicate much time for it, but now as I need to look at it more, I've changed it a bit. I've also changed the font from roboto to roboto mono, which looks a lot better in my opinion Screenshot 2021-05-02 115140.png

Platforms

In the jam version the player was going mad on those things. I've actually implemented a system to move with the platform, but the player was still bouncing. Today I've managed to fix that so now you have a smooth experience riding your way to victory Screenshot 2021-05-02 213624.png

Better AI

This is one of the other things I still need to implement. The AI was simple. Just chase the player and if you hit something discharge. This was easily exploitable. The new AI will activate if the player will be in a specific range in front of it and then it will try chasing him, but if there will be a wall, the AI will just follow a simple path, until either it will be able to kill the player, or it will run out of paths PSB-5.png

The infamous level 4 rework

Level 4 is one of the most broken levels in the entire game. It's confusing and most players solve it by exploiting the AI or just give up. The original premise was to have a text in every level with the name of it and level 4 would say "Behind you", but that never happened. Also the platform in front was supposed to be a way of escaping the fragments, while you also had to watch out from your back and activate a wall, but as of yet I haven't seen a single person do it that way. With the new AI this could be easily solved, but until then at least we have this nice looking screenshot PSB-4.png

Electric beam

Finally the last thing that wasn't implemented during the game jam, because our graphic designer was asleep and he also broke our project. The laser will hopefully be getting it's own texture and not a simple square gradient. The sound effect has been tweaked and now you cannot just hold it through walls. PSB-3.png

Ending

In my game there is a good ending and a bad ending. On the first release the good ending didn't work at all, so later I fixed that in the "fixed" version, but it still didn't work. I still don't know why, but now every time you complete a level the current count gets logged to console. Also now everything gets reset when you die and I've added ending tolerance, so you no longer have to 100% everything Screenshot 2021-04-25 174546.png

The future

In this past week I focused more on finishing my devlog, so now I will probably make a post jam version soon. I really like this game and finally with some experience the code is actually usable. Hopefully I will be adding some new levels too (I have 2 planned). Sadly I only have trouble with the voice acting, since I don't know anybody that could do it, while the tts doesn't sound that intimidating. I've fought about doing it on my own, but you gotta remember that I have a very Polish accent that is also somehow Russian, Italian, Indian and British at the same time. I will probably finish another update to my silly prototype and most likely revisit this thing. Stay tuned I guess

https://youtu.be/IxWLi2X3D2w

Also play the game now

Power Station Beta new AI test

The AI now tries going after the player, but if it can't it just follows a specified path, and if it runs out of points, it just chases the player either way. Now it's harder to trick it and you need to use the mechanics more instead of like in the infamous level4 just walk straight and they die

https://www.youtube.com/watch?v=DQEre3WIELI

Update coming soon, play now

LEVEL 4 FIXED

After so many days I've finally fixed the infamous level 4. In what way infamous? No one has yet solved it correctly, because the AI wasn't ready for it. It's one of the most fun levels, but it just didn't work. So this is how I've solved it.

Changing layout

I've put a big pillar in front of the player, so now you HAVE to avoid the enemies from the back. Also I've made everything longer to give some breathing space to the player. Screenshot 2021-05-03 191915.png

Better AI

In the jam version AI was simply looking for player and if he was in range it would just start chasing him until it hit him, or a wall (in that case it would "discharge"). Now, the fragment script tries following the player, but if it knows it will hit a wall, it starts following a specified path, that I can set in each level separately. It would seem like it's too hard, but placing just one or 2 points in correct places makes it subtle and forces the player to actually think how to dodge them and not just to exploit them. In case of the infamous level 4 they would just be confused to what happened. https://www.youtube.com/watch?v=DQEre3WIELI

New dev tools

Since day 1 we had noclip, which has proven over and over to be very useful for testing. So now I've finally added AI debug information and AI level command. By setting AI level to 0, it just doesn't do anything and 1 will just blindly follow you. Debug information shows it's current target, path index and more. Screenshot 2021-05-03 192457.png

Screenshot 2021-05-03 192729.png

Update should be coming out tomorrow or on Wednesday. Until then you can play the game here

Post jam version is now available

Update 2 screen.png

So We've finally finished the post jam version that brings some AI improvements, bug fixes, fixed endings, better audio, new font, new commands and console, tutorial and more. Screenshot 2021-05-03 191915.png

For now we will probably do one or more small visual updates and quality of life changes. For now we will probably finish other things and maybe return to it later.

Play it now

Behind the cheats

In my game I've added a lot of commands after the jam to the console, that let me cheat or debug. Although the noclip command was added during the jam and it's accessible there. On top of that I've been using the default commands of qASIC (library of tools that includes the console that I've wrote myself half a year ago and soon will be releasing lol), so yes, you can do things like change options, which you had to use form day one, because the settings were broken and you couldn't set the resolution. Today I've thought about going through all of them and explain their use and how they were created. Screenshot 2021-05-02 115140.png

Noclip

This was the command present from day 1. Before we had everything working I had to make levels, with nothing, so I've made the layout, turned on noclip and drew over screenshots. Also we've used this for testing fall damage, so that we didn't have to restart the game every time we've made an adjustment. Screenshot 2021-04-24 195732.png

AI

The AI command was added for taking screenshots and if someone wanted to use the day 1 AI which was really broken. The new AI used path finding (sort of) so that you had to use the puzzle elements and not just exploit it. Or also in the case of the infamous level4, just walk and be confused on how you've solved it. You can set the AI level where, 0 - none; 1 - jam version; 2 - post jam version https://www.youtube.com/watch?v=DQEre3WIELI

AI debug

This is a special one. Aidebug toggles the debug text above the fragments. This was used while creating the post jam AI with path following. You can see the current target (player or a point), distance and state. This has been used frequently since then. Screenshot 2021-05-03 192457.png

Speed

This is a pretty self explanatory one. Speed changes your speed. Mainly created for trailers (if there will be in the future). With this you can do slow pans, or just zoom through every level. I don't have a screenshot for it, but you can try it out if you want to see (not sure if it's in the latest version, update coming soon)

Interaction

This was also created for trailers. This disables all interaction and visual responses. Quite simple.

Kill

Another simple one. Kills the player. This was added for testing the post death elevator bug (where you could die and still pass the level if you made it in). If you want to die, then I guess that's the one for you Screenshot 2021-05-07 203520.png

Stop music

This was quickly added, because my minor annoyance with the long dialogue that played even when jumping scenes (which I do frequently. Thanks qASIC). If you will ever see me type in sm into the console, now you know.

Was it worth it?

This might seem like a waste of time, or that it's unnecessary. I've heard it a lot, but trust me. This thing saved me so many times before. Even when I'm bored I implement some and later they prove to be very useful. Although I understand the difficulty in creating your own system for it. There are assets you can use, but they most of the time cost money. I've created my own using reflections (just write separate scripts for every command) and you can check it out if you want. I hope to release v0.1 soon, with resolved bugs and better ease of use. Also I'm planning on rewriting the documentation, because it's really rough.

Until then you can play my game here

Making an update soon

On Sunday or Monday there will be an update with fixed input settings, new materials and particles, text on dev map and more. Also people with Italian or German keyboards: you will be able to remap the console key. Screenshot 2021-05-08 203329.png

Play it now here

Just released an update

thMYWf.png We've recently updated our game with new materials, screens and everything. Fixed bugs with remapping keys and added notes to the dev scene. Here I would like to show some new features.

New graphics

QrjtJA.png We've updated the materials to be more metallic and better blend with the environment. You can also see new particles and even better - finally a beam texture.

Screens

OKq5V9.png To make some levels less confusing we've added screens with some helpfully messages. Seems cheap, but we didn't want to modify the design too much, to preserver the jam concept.

Dev map update

F8BZO5.png Since we've been showing of to some people the dev map (in console run: scene game) we've thought about adding text so that we didn't have to explain different aspects. This is why we've added notes so that you could see some design decisions we've made along the way to bring you this finished product.

Play it now

Accessibility - how we've made settings

Most game jam games don't have things like: options or remappable input. Sometimes they are just using the default settings in the game engine, but most of the time there is nothing. I understand for like webGL to not have resolution settings, but it still sucks for some folks with different keyboards that may not work for every game. That's why in this project we used a demo version of qASIC (my tools that I hope on releasing soon) to compensate for that. Screenshot 2021-05-17 142041-0.png

Settings

Yes, we have them. In unity. As with every demo, things didn't want to work, but they are fixed now. I've created my own scripts (took like 5 minutes) for swapping between options by pressing on them. This will probably be added to qASIC in the future, but for now I had to do it on my own. Most people will probably just copy the settings from the example scene and call it a day, but I couldn't get them to look good in time. Screenshot 2021-05-17 142041.png

Small microscopic problem. The options didn't work. I mean they did, but not 100%. You couldn't select the last option. What that means is that: you can't set the native size, or set framerate cap to 240! When we realized that, we've updated the itch page to help users fix this, by using another tool which I will talk about more soon Screenshot 2021-05-09 190052.png

Also, the specific option system works that you add fe. a slider controller to a slider and fill out the name of the option. Say goodbye to long confusing walls of option scripts. Screenshot 2021-05-17 145203.png

Remappable buttons

Our keyboards are different. This is why it's so frustrating when some buttons don't work the same for everyone. In our game you can change the buttons however you want. Well, on the jam version every time you loaded a scene they were being reset, but that's fixed now. We just had to add one component to be called on awake and load our key preferences and that was it. User preferences also get saved, so you don't have to remap them every time you boot up the game. We just had to use the input system in qASIC (that's using the legacy input system, that will change one day) and call GetAxis("Up", "Down") instead of the unity one. Screenshot 2021-05-17 142218.png

Later we added a remappable console button, since not all people have the back quote button and I wanted to show of some little cheats. Screenshot 2021-05-17 144859.png

Audio

Normally in jams I write my own custom audio manager that uses tags and other things. Luckily as qASICs job is to have "quick basics" there was already one built in. It also could change different parameters and save them. So, all I had to do was to add a component to a slider and assign the parameter name. Just like that, I was done. Screenshot 2021-05-17 145344.png

Console

In the beginning I mentioned, how our settings were broken and we had to fix them. Instead of having players play the game in 480p, we left a note on how to change that using the console. The in game console is one of the first features ever added to qASIC and it's solid. It's easy to add commands, customize colors and configurations. It also has some built in commands. One of them is changeoption, which was used, before we could update the game. Screenshot 2021-05-17 142402.png

Excluding accessibility the console was used rather a lot during this jam. We only added one command: noclip, but later for some screenshots we've added: ai, interact, speed, while for testing we used aidebug. Noclip has proven to be one of the most fun commands for players, when they realized there was a console. It was also used for screenshots, fall damage testing and even AI at some point. Screenshot 2021-05-17 142330.png

I cannot stress how useful these tools are and how quickly you can debug things. People still don't believe me that "a console is useful" or that "it suits a small game". One of the biggest praises we got was that we've added a dev map, where you could explore different testing places, or fly around, or even try to break the game. Screenshot 2021-05-17 145643.png

I don't think we could have finished our game without qASIC, so if you are interested, please try to use it now and wait for the official demo release, which will hopefully happen soon. qASIC full logo background.png

Or like a normal person, you could just play our game and see for yourself

Only 2 to 60

C'mon, give a man some happiness. Only 2 and I will be able to sleep. You don't want to make somebody sleepless, would you?

Screenshot 2021-05-09 190052.png

Play here

Accessibility - how we've made settings

Thought it would be a good idea to repost this, as the jam is ending ☻

Most game jam games don't have things like: options or remappable input. Sometimes they are just using the default settings in the game engine, but most of the time there is nothing. I understand for like webGL to not have resolution settings, but it still sucks for some folks with different keyboards that may not work for every game. That's why in this project we used a demo version of qASIC (my tools that I hope on releasing soon) to compensate for that. Screenshot 2021-05-17 142041-0.png

Settings

Yes, we have them. In unity. As with every demo, things didn't want to work, but they are fixed now. I've created my own scripts (took like 5 minutes) for swapping between options by pressing on them. This will probably be added to qASIC in the future, but for now I had to do it on my own. Most people will probably just copy the settings from the example scene and call it a day, but I couldn't get them to look good in time. Screenshot 2021-05-17 142041.png

Small microscopic problem. The options didn't work. I mean they did, but not 100%. You couldn't select the last option. What that means is that: you can't set the native size, or set framerate cap to 240! When we realized that, we've updated the itch page to help users fix this, by using another tool which I will talk about more soon Screenshot 2021-05-09 190052.png

Also, the specific option system works that you add fe. a slider controller to a slider and fill out the name of the option. Say goodbye to long confusing walls of option scripts. Screenshot 2021-05-17 145203.png

Remappable buttons

Our keyboards are different. This is why it's so frustrating when some buttons don't work the same for everyone. In our game you can change the buttons however you want. Well, on the jam version every time you loaded a scene they were being reset, but that's fixed now. We just had to add one component to be called on awake and load our key preferences and that was it. User preferences also get saved, so you don't have to remap them every time you boot up the game. We just had to use the input system in qASIC (that's using the legacy input system, that will change one day) and call GetAxis("Up", "Down") instead of the unity one. Screenshot 2021-05-17 142218.png

Later we added a remappable console button, since not all people have the back quote button and I wanted to show of some little cheats. Screenshot 2021-05-17 144859.png

Audio

Normally in jams I write my own custom audio manager that uses tags and other things. Luckily as qASICs job is to have "quick basics" there was already one built in. It also could change different parameters and save them. So, all I had to do was to add a component to a slider and assign the parameter name. Just like that, I was done. Screenshot 2021-05-17 145344.png

Console

In the beginning I mentioned, how our settings were broken and we had to fix them. Instead of having players play the game in 480p, we left a note on how to change that using the console. The in game console is one of the first features ever added to qASIC and it's solid. It's easy to add commands, customize colors and configurations. It also has some built in commands. One of them is changeoption, which was used, before we could update the game. Screenshot 2021-05-17 142402.png

Excluding accessibility the console was used rather a lot during this jam. We only added one command: noclip, but later for some screenshots we've added: ai, interact, speed, while for testing we used aidebug. Noclip has proven to be one of the most fun commands for players, when they realized there was a console. It was also used for screenshots, fall damage testing and even AI at some point. Screenshot 2021-05-17 142330.png

I cannot stress how useful these tools are and how quickly you can debug things. People still don't believe me that "a console is useful" or that "it suits a small game". One of the biggest praises we got was that we've added a dev map, where you could explore different testing places, or fly around, or even try to break the game. Screenshot 2021-05-17 145643.png

I don't think we could have finished our game without qASIC, so if you are interested, please try to use it now and wait for the official demo release, which will hopefully happen soon. qASIC full logo background.png

Btw: here's our game, but I think it's already to late for that ☻

Where's the speed

Go on. Post something. You have about 4 hours before the site will be filled with the results and post mortems. Promote your game, promote playing danger zone games. You have to sleep? Too bad. Post anyway

Menu creator - concept feature for making menus with a click of a button

Hello, I am working on my set of tools for unity that I've already used in many games and our beloved LD48. It has proven to be very useful for creating things fast, but I realized that even with so many features I've spent 4 hours on the menu in the previous jam. That's a lot of time for such a simple thing as the menu. Later I've also realized that some things weren't working in the menu, but that's not the point for today.

Concept

Screenshot 2021-05-29 110730.png In the image you can see the menu from Power Station Beta (ld48) and how it could have been made faster with the right tools. With the menu on the left you are able to customize things such as: style (use buttons or simple text), colors, options, layout and padding. Most menus are just a list of buttons on a background. It does the job, but it still takes a long time to create. With adding components, navigation, menus you are wasting a lot of time.

Creating settings

Screenshot 2021-05-29 112108.png In qASIC I've created a very complex and easy to use settings system, where you call setting names instead of having one giant script to do everything. Still it would be cool to have a big button that says: POPULATE MENU. Making sliders and other things takes time and having to copy & paste a bunch of them and change some text seems rather stupid.

Complexity

Just thinking about how somebody would use this: it would be cool to have a way to assign your own sliders and not sliders and to not have to change every single button, or dropdown to your liking. In that case: many people like to have an object with a label and the slider, which would make it impossible to use in this tool. So then I would have to scan through every GameObject in every single object. But then what if there's TWO!? MULTIPLE MENUS!? It is just starting to hurt my brain.

Will it come out?

I don't know. For now I'm focused on releasing qASIC v0.1 and going on from there. Please tell me if I should try making something like that, or if fe. there's already a tool for that (it wouldn't fill out qASIC options though and change labels). I will probably try adding little updates and maybe I will even try to replace the Input System, with an actual from scratch Input System (instead of relaying on the legacy one). Anyway, I hope this sparked your interest. I personally think that more games should have more options and menus, even in jams. Thanks for reading through :)