lunaticedit's Forum Posts

  • Actually the solution doesn't even require a shader, I just need to know how to create a higher def layer ontop of a low def one.

  • I'm creating an original gameboy style game, and want to add the classic gameboy pixel look via a shader. The game is running at the extremely low native gameboy resolution, which works as expected. The problem is, if I try to apply a shader, the shader is also at the same resolution. Most of the time this makes sense, but in this very special case it's not exactly what I want as I need to have lines between each 'pixel'. Is there a way to do this in C3?

    Tagged:

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Well now I'm curious, do the filenames need to be url-friendly?

  • What kind of JSON did you create? Can you post an example of what the json looks like so we can assist?

  • Try replacing (1) with _1 maybe? I'm not sure, but special symbols like ( and spaces can cause issues in some systems so I always recommend only letters numbers and underscores.

  • I've honestly tried to avoid using javascript/typescript entirely with C3. I feel like going that route is more of a 'trap' than anything. At that point I'm right back into GMS territory.

    The only thing I may use it for is to port over one of the NSF engines (For native chiptune music) to use (it'd be GREAT if C3 added this, wink wink nudge nudge, haha). But beyond that, I'm trying hard to stick to the native stuff.

    Given I've just finished implementing combat, loot, and encounter tables with JSON, tables and the AdvancedRandom component, and am working through enemy AI logic and battle turn resolution using the built-in workflow system -- I just don't really see where the risk of using pure javascript is worth it, or even necessary in most places. Any time I need a somewhat complex data structure I just use tables and create functions (getters/setters) to manage it. An example being the RPG stats for the player's party.

  • Completed this for the 2-day long Mini Jame Gam. Playable in the web.

    This is my first game jam (and a super short one), hopefully it doesn't make C3 look too bad!

    https://team-ligma.itch.io/minijamegam31

    Obviously with only 2 days I wasn't able to add more than the basics, but hey, at least it's playable and seems relatively stable.

  • So I know C, C++, C#, Pascal, Python, Java, Javascript, golang, etc etc. I've worked directly with SDL, DirectX, OpenGL, LibGDX, Raylib, Phaser, SFML, etc etc. I've messed around with all of the popular game engines. And although I've had a successful career in software engineering, I never _once_ finished a game project, or got anywhere near it. Hundreds of prototypes, but nothing ever got past the first steps.

    I tried GameMaker, it was quick to get things up and running, but the general setup with how things work together makes things messy really quickly. I quickly get lost in what's connected to what and get stuck. They keep fundamentally changing GML and it's not a very good language to begin with.

    I tried Godot. In my (subjective opinion), the node system is way inferior to Unity's component system, and creates more problems than it solves. I don't like the workflow or the editor, so I never took it very far. I did some prototypes but I always felt like I was fighting the engine more than making a game.

    I tried unity. The component system is nice. C# is great. But what a bloated mess. I love chunky 2D pixel art games. Why do I need to decide what rendering pipeline I want to use if I'm making a 2D game? And as before, the game logic expands quickly into many many lines of code. It's not so much that I can't handle it, as it is that it stops being fun and I get bored and want to do something else. Plus Unity is 3D first, and its 2D support and off-by-one rendering issues are a nightmare to deal with. Again I feel like I'm fighting the engine more than making a game.

    For many years I ignored 'no code/low code' engines as why would a seasoned developer waste their time with toys and 'stupid' graphical code blocks? I picked up construct a while back for a few days but felt like it was well beneath me and left it.

    Well a week or two ago I decided why the heck not. It's not like any other engine/library/language got me anywhere, and no/low code is so different from everything else, maybe that is the missing piece - that at least for me, game dev is a different part of my brain than programming is. I took a deep breath, opened my wallet, and got a subscription to C3; and...

    Oh my freaking goodness. In only a few weeks I've not only blown past any kind of tutorial I can find on YouTube, but I'm also _well_ on my way to finishing my first game (think Ultima 4 but more Skyrim-like questing with a sprinkle of harvest moon). Dialog engine with workflows? 30 minutes of effort. Questing system? 1 hour. Support for random battle encounters with enemy lookup tables and basic logic? 4 hours. For some reason, the way C3 works just.. I don't know how.. I don't know why.. It just clicks in my head. No matter how much logic I add, it never gets overwhelming, it never gets boring, and at no point do I ever sit there trying to figure out where to put stuff. I think about it, twiddle my hands for 5-10 minutes, and it's in the game.

    At no point am I worrying about proper component separation, or if something is good object oriented design, or if I'm using the engine properly. The signal system is a dream. The way object picking works, while admitedly initially confusing, is freaking brilliant once I understood it. Built in support for workflows and timelines is just insane. My knowledge of programming doesn't make the easy parts annoying, it simply makes the advanced parts equally easy.

    Thanks to Scirra for this brilliant engine, it truly is the best out there for 2D games.

  • For a game like this you wouldn't "move" at all I wouldn't think. Your "movement" would simply play animation/tween events. For example holding right could repeatedly trigger the "walk right" animation and tween. You'd most likely also want to use Flowcharts to create an animation state machine as there's a ton of transitions between stopped, walking, running, etc. Like, if you're running and stop, it has to transition to a 'stop quickly' animation before actually stopping. It's an intricate system. Looks nice, but intricate.

  • Here's an example project. Also forgot to mention to set the GUI layer to transparent.

    Use the arrow keys to move. Make sure you click run project (or have Layout 1 active when you press 1).

    https://drive.google.com/file/d/1sjCdCOOtuGa0eguPVfMh15fc9NC30TrV/view?usp=share_link

  • After opening the GUI layout, look at the "Layers" window (typically bottom right corner) - or Menu -> View -> Bars -> Layers Bar.

    In there there should be a single entry called "Layer 1" or something. Rename it to "GUI". Then left click on it, and the properties box should now show the layer properties. That's where you'll see the Parallax and Global options.

  • One thing that tripped me up is sibling events can run in parallel if the event is async. If you do a "Wait" event in one block, then under it is another event, that event will trigger in parallel. This can cause what's known as a "race condition", which is very very hard to debug as it can produce obscure and sometimes random results.

    What I try to do is have a top level condition, that then calls a function with the proper parameters, and have a local "Handled" variable, making that a condition for all values except the first, and having each sub event making "Handled" true if it's executed per the parameter condition - effectively creating a switch statement.

  • Yeah I've been doing that, but since I'm still new-ish I wasn't aware of the importance of making sure that first instance gets created in what I'm calling the "Master" sheet. I'll dig through the JSON and see if I can correct the 'first id' somewhere.

  • Wonderful, so if I accidentally added it to a scene first, then to master, I'm kinda out of luck for that object type? Any way to fix this in the json files?

  • You shouldn't mix movement behaviors. Tile movement is for tile based games (typically top-down). Platform behavior is for platform games. There's a "Custom" movement behavior if you're trying to get fancy. We'd need more context if you want more help.