AeStHete Engine Thread

Discussion in 'Fangaming Discussion' started by Mercury, Jan 1, 2013.

  1. Greg the Cat

    Greg the Cat

    I'm gonna draw it! Misfit
    1,290
    0
    0
    A Zone Unknown of Title
    Comics from the Mind of Yours Truly, A little workshop of animation, Sonic FreeRunner
    Sonic Worlds eat your fuckin' heart out!

    I take it that Freedom Planet will greatly benefit from this being more C++ friendly so that they can start porting over immediately, since they were looking at something along those lines.
     
  2. FeliciaVal

    FeliciaVal

    Member
    I think by IDE he means this: http://en.wikipedia.org/wiki/Integrated_development_environment
    but I'm not 100% sure about that...
    but anyways that's some great news!! Probably this will mean that for me and many other users to make our games easier, but yeah, someone else posted that already, so yeah...good work!
     
  3. Lapper

    Lapper

    Member
    1,601
    207
    43
    England
    Sonic Studio, Sonic Physics Guide, Kyle & Lucy: WW, Freedom Planet 2
    Yeah pretty sure he does.
    This is something I've wanted since I was quite young actually (before I could make games), so this'll be great :v:
     
  4. Black Squirrel

    Black Squirrel

    staying alert on the beach Wiki Sysop
    5,631
    248
    43
    Northumberland, England
    quipu two metres apart
    Am I allowed to say that sounds a bit excessive for a Sonic the Hedgehog engine? My guess is that it'll just hold things back, and the benefits... well...

    The Super Mario fangaming community has several reasonable engines at their disposal for Game Maker. Though it arguably leads to a stronger library of games across the board, it stops people from having to think - suddenly everything is Super Mario Bros. 3 in new clothes (most of the time it's clothes I designed half a decade ago which is even worse!.. but that's a different story). Sonic of course requires more effort because the art is twice the size, but it's the same principle - make things too easy, and you pave the way for uninspired clones.

    The Sonic Worlds engine already has this problem to some degree. Pop over to SAGE every year and you get half a dozen fangames all using the same default assets and all feeling like the same game. Not like the old days where we all had to wrestle TGF in new and imaginitive ways
     
  5. Mercury

    Mercury

    His Name Is Sonic Tech Member
    Quite right!

    And yes, it will still be totally open. Even more so than before, because I will be splitting the editor and the runner. At the moment, it works like a Popple jumping out of its own pouch (will anyone get that reference?) - the editor and runner are tied together, the editor being like a glorified debug mode. Of course this is horrible because for every project you'd need a copy of the editor, and there's no easy way to remove the editor once you've finished the game and want to distribute it.

    The new paradigm will work a lot more like a traditional IDE. The editor can make projects, which can be exported as games. The game has no editor features and the editor has no game features*, keeping everything very simple and separate. Because the format of the project files and the exported game will be open, third party software could edit the files as well, meaning one could make their own modified AeStHete or even a new editor from scratch to deal with some or all of their project files.

    *But you will still be able to playtest the zones as you make them, because the editor has a fully functional Sonic object that can interact with the solids, tiles, and objects being placed. This is SO IMPORTANT. Without this, you have to compile the game, run it, test it, find a problem, go back into the editor and tweak something by 4 pixels, rinse and repeat. Horrifying! But by being able to run around Sonic and bounce off of springs, etc. IN THE EDITOR, workflow will be sped up hugely.

    LOL, you're allowed to say whatever you want. :)

    I wouldn't worry about this too much. (Well, for one I don't really care about a sea of clones - gaming in general has this problem - the good ones will rise to the top and it's easy to ignore the rest).

    Think of Game Maker. Game Maker makes it easier to make games, but an amazing variety of games can be made with it.

    HOWEVER, Game Maker is not good enough on its own to make a Sonic game. There's no easy way to pause, to palette cycle, to keep track of collected objects so that they respawn correctly, to cull objects that aren't on screen, to have state machine objects for enemy and boss behaviour, to make multiple collision layers, and a bunch of other things that Sonic needs. AeStHete is another strata on top of Game Maker that makes it easier to make games that are as fancy as Sonic. That's really what everyone needs but nothing like that exists yet. Game Maker, Game Develop, Construct, Impact, Stencyl - they just aren't up to the task.

    As for this change holding AeStHete back, well, I can tell you it's one of the only things that'll move it forward. I keep running into brick walls in the current mode of "game template that hacks itself" or whatever it should be described as (the hell if I know). By doing it right, my way forward becomes a lot more clear.

    Finally, I don't want to do this for no gain. And E02 proves that a great Sonic engine that's too esoteric to use doesn't get used. I don't want to spend years of my life on AeStHete just for it to be a damp squib. <3
     
  6. Relick

    Relick

    Member
    197
    0
    16
    England
    C++/DX10 Engine (not sonic related)
    Only thing I don't want the IDE decision to conflict with is the fact that this engine is editable (as per the name of the engine). If I were to change something in the engine's code it would really suck for me to no longer be able to use the IDE to build the levels.

    Although I'm sure whatever you do it will be topnotch quality like always Mercury! :D
     
  7. Mercury

    Mercury

    His Name Is Sonic Tech Member
    Yeah, the editor and the runner will both still be open and editable, even though I'm separating them. If the engine is changed by the user in such a way as that the editor would need to be changed, the editor could be changed by the user to accommodate the change made to the engine. (That was badly worded...)

    Thanks. :)
     
  8. Candescence

    Candescence

    Member
    1,980
    2
    18
    Sydney, Australia
    3D Indie Stuff
    I'm genuinely curious, would you mind elaborating on how the various dev tools aren't up to the task? This is coming from a Construct 2 user (Construct 2 eclipses pretty much everything else in my personal opinion) who has a history of trying to create a good Sonic engine and have decided that, at this point, I'm not terribly good at it, but I digress.

    I'm not really a fan of Game Maker in any case. At least a full-on IDE would be much better than having to deal with Game Maker's normal interface and abysmal event system (forcing you to use scripting for pretty much everything), among other things.
     
  9. Mercury

    Mercury

    His Name Is Sonic Tech Member
    That's exactly the thing: you have to make a Sonic engine in any of these programs first in order to make a Sonic game. Not so with simpler games, where you could use all the collision functions, etc. that they provide out of the box. They all brag about how easy they are to make games with, but for any game of substance the user has to forgo all the default bullshit and write their own systems for culling, collision, events etc. anyway. None of these tools targets users who want to make a Sonic the Hedgehog quality game without 5+ years of struggle. I mean, thank goodness some kind souls put together Sonic Worlds or we would have about a tenth of the Sonic fangames we do.

    I'm venting to no one in particular now, but why doesn't Game Maker allow (out of the box): Collision layers? Animated tiles? A reasonable pause system? Object grouping? Access to the main program loop? Most or all of these things are part of even the most rudimentary 8-bit and 16-bit games but they are maddeningly absent.
     
  10. Candescence

    Candescence

    Member
    1,980
    2
    18
    Sydney, Australia
    3D Indie Stuff
    This is kinda why I don't like Game Maker, they boast about ease of use, but you have to use scripting for literally everything, and it lacks various features that other software has.

    Speaking as a C2 user, C2 basically has pretty much most of those - collision layers are easy (though for default behaviours it makes multiplayer undoable due to reliance on the Solid and Jump-through behaviours) as is animated tiles (no tileset system yet, but it's on the to-do list, it's mostly like MMF2 at the moment), pausing is trivial thanks to deltatime, object grouping is built-in thanks to containers and families, and I'm not sure exactly what you mean when it comes to the main program loop, but the event sheets probably fulfil that role. No palette cycling, though I'm not quite sure if it's doable in WebGL, though it can be done in HTML5 with enough work and some tricks.

    Also, Ashley has entertained the notion of creating a Sonic-style 'advanced platform behaviour' on my suggestion, though he hasn't spoken about it since. He said he'd like to do it, though he also commented on the potential difficulty of replicating it, as Sonic physics are "rather clever" (I think that's what he said), though in the same thread a couple of people (including me) immediately linked him to the physics guide. I'm not sure if it's even on his to-do-list, though said to-do-list is apparently rather large, so, yeah. I'm the meantime, I'm trying to have similar created as a third-party-plugin, though I'll need some help, since I haven't worked with javascript in ages.
     
  11. Mercury

    Mercury

    His Name Is Sonic Tech Member
  12. Candescence

    Candescence

    Member
    1,980
    2
    18
    Sydney, Australia
    3D Indie Stuff
    It's perfectly fine on my laptop, it goes way over 60fps. HTML5 performance varies depending on your machine (older machines might have issues for whatever reason) and your browser. Some browsers aren't nearly as good with HTML5 as others, Firefox and Chrome are generally the best picks for HTML5.
     
  13. DaHog

    DaHog

    20
    0
    1
    Sonic fan-made cartoon and Possible 3D Sonic fangame
    Um... Mercury, your site is down.
     
  14. Mercury

    Mercury

    His Name Is Sonic Tech Member
    Thanks for the heads-up. It'll be back up soon, hopefully, when the bills can be paid.
     
  15. Andrew75

    Andrew75

    Technical Artist Member
    1,958
    26
    28
    Project AXSX(Sonic Xtreme) + Misc Projects
    your site take donations ?
     
  16. Mercury

    Mercury

    His Name Is Sonic Tech Member
    I've been turning this idea over and over in my mind for quite a while now, but I just haven't had the time to research how to implement it properly.

    Maybe I should take suggestions from those who have experience doing something similar?
     
  17. Strife

    Strife

    Member
    1,934
    29
    28
    United States
    Freedom Planet 2
    I'm a little late to the party, but that interface is looking pretty sweet! Definitely seems like something that beginners and veterans alike can get used to quickly. :D

    The real-life level editing also sounds awesome! I'm sure you've thought of it already, but you may want to get rid of the 10-minute time limit when testing levels in this manner - or, better yet, give the user control over specific parameters (I.e. instantly change rings/lives/score to a certain amount).
     
  18. Mercury

    Mercury

    His Name Is Sonic Tech Member
    Thanks! Yeah, the time limit and stuff like dying will be disabled/modified in edit mode so that they won't interfere with editing.

    Also, I've made a tentative decision about donations; the following is also in the first post of this thread:

    Since I'm still making progress fairly slowly I feel better about doing this way, because those who make "donations" can get something at least for their trouble, right away.