Results 1 to 10 of 133

Thread: So whatever happened to the whole PGDCE thing?

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Engine like Unity may actually have so many more features than we can ever imagine re-creating. On top of that they have Microsoft, Google and others as platform dev partners. Direct support for VR, latest graphics card features and so on. Same project running on Win, Linux, Mac, Android, iPad without code changes... At best the own engine is a thing that helps participants to learn about game engines, but it's like tasking 10 people to build a skyscraper when it comes to engine fitting for modern games.

    A while back we released this Unity game https://www.youtube.com/watch?v=_fe2KDt7MYE , which had 1 artist, 1 level designer and 1 other programmer besides me. Physics, animations, graphics with shadows and all were trivial to do compared to how i could even imagine accomplishing on a custom made engine. Even something like making a skeleton explode and bones drop on the ground colliding all over the place. And no, nxPascal i code is nowhere near capable of doing any of those. What i really liked about was the animating that's really powerful. The engine allows you to write your own shaders, but what's even more impressive is the user support of thousands of people whenever you don't know how to do something by yourself. You get answer within minutes in most cases.

  2. #2
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    That's the point though - full design documentation requires a design that is at least in it's most primitive form - complete. No matter which way you spin it, be it extensive design documentation or a solid platform on which to build - experienced engine devs are still doing a lot of work for quite some time before anybody that doesn't yet have the experience - can start.

    Take the imaginary Jane - Jane loves making games and wants to learn how to create a modern 3D engine so she can realise her dream of a game where you play a Amish assassin taking out scientists at CERN.

    Jane has created 2D games/demos and has also started to play around with some OpenGL examples and has started to get a handle on 3D projections and piping data to the graphics card.

    With all the will in the world, Jane can't yet sit down and write a shader/material sorting rendering pipeline - she doesn't know enough including why sorting by material is a good idea.

    She could sit down and start writing an object orientated scene graph and it would work eventually - however her work wouldn't anticipate the hundreds of quirks and uses that the scene-graph must contend with then lots of people start creating new node/entity types that don't run into issues on their own - then one day it's discovered that feature X needs a different approach to handling the scene graph and BOOM all the dependencies and the graph itself have to be refactored.

    Emily bleeds in binary and breathes in triangle strips - she could come along and create a scene graph design that anticipates most of it's usage patterns and major refactoring isn't required.

    Emily would have to teach Jane an awful lot of stuff before Jane could come up with an informed design.

    So does Emily take the months to teach Jane how to do it, holding up everything and everybody that depends on it - or does Emily just write it herself?

    ----

    Either a base-code, complete design documentation or teaching everybody requires already experienced engine devs - it took me years to know what I know and I'd still be more comfortable consulting other engine devs before I settle on designs.

    I think a base-code (it doesn't have to be massive) is the best approach - it ensures a solid design and good practices which will filter down by example to the rest of the engine - anybody that doesn't know about some part that is in the base-code can always learn it and they've got the people that wrote it right there in the team to answer questions - also an existing base-code means that Jane can jump right in and apply what she already knows.

    Even in large commercial environments - engines are rarely the product of one or two devs - you have people that specialise in certain things - coders that support artist requirements will be masters with shaders and skinning/animation code, somebody will be a mathematics whizz and they'll be handling more complex things such as BSP processing, optimized culling routines etc

    For the project to carry on living - it needs active devs of all levels working on it - 20 devs is great but if only 3 of them can do anything for weeks/months, be it creating design documents, base-code or teaching somebody else how to do those things - then the project is going to fizzle out and die.

    With a simple basecode then there's loads of tasks for all skill levels - anybody can choose anything they like - if they want to spend months learning what the experience devs are doing and join them? they can - the source is there, they can ask questions, watch it evolve - but if they just want to contribute and learn *somthing* they can do that too - we need a plugin to load a given model format just as much as we need a scene graph.
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  3. #3
    @phibermon

    I see us two have a different opinion of effective learning process.
    I'm guessing you are more oriented toward traditional learning where you are simply told what to do and what it "best" approach to do it.
    Well I'm more oriented toward exploratory learning approach where you tell people which approaches doesn't work at all and also show them as many possible approaches that work and let them decide which approach is "best".

    You might have noticed that I always write best in double quotes. I do this because in programming there is no best solution that would fit everyone. Best solution actually depends on many things like compatibility with existing code and coding style, current programming level of individual etc.

    I'm willing to bet that if us two get into discussion of how base code should look we will both have different ideas for it. Why? Because each of us is probably thinking about different scenarios to use that base code in not to mention that each of us probably have its own preferred coding style.
    Only by working together could we design base code that would be most suitable for both mine and yours usage scenarios. Same goes if we want to make this base code to me best suitable for everyone.
    That is why I feel we should allow everyone interested (even those with no prior experience of game engine development) to also be part of the base code development even thou they might be just watching it being built.

  4. #4
    PGD Community Manager AthenaOfDelphi's Avatar
    Join Date
    Dec 2004
    Location
    South Wales, UK
    Posts
    1,245
    Blog Entries
    2
    Whatever happened to the community engine?

    The same thing that happens to the community in general plus it was way to ambitious, I should have listened more to the feedback, there was no clear plan in place before we started which resulted in a lot of discussions about what we should and should not include and why, much of which was very technical meaning understanding it was beyond the capabilities of many of those who may have sought to be involved, including me.

    The intentions of the project were good, but implementation/management was bad and that's partly down to me.

    However, going back to the first point... the same thing that happens to the community in general...

    I wrote a huge response to this thread yesterday but ended up feeling it was a very negative rant so I figured I'd ditch it, sleep on it and have a go this morning, unfortunately it's still going to come across as negative.

    Take a look at the articles section of the site... the last thing in there was published in 2014 and it was a tutorial I wrote. We have no quick start guides, we've not had an interview in ages and there have been no tutorials. Why?

    Because in my view people are unwilling to set aside a small amount of their time to create content, to give back. It's that simple. Unfortunately, some of those people then complain about a lack of content, which really annoys me and it's not just the current users, this has been an on-going problem almost since the start (I had so many chats with Jason about this and over the years he tried many times to kick start things, just as I have, unfortunately we always end up in the same situation - very little or no user created content). If every regular visitor wrote one article a year (two would be better), we'd have bags of content, but I would say 99% of people have NEVER volunteered to do anything (which is why I'm eternally grateful to the moderators who keep things ticking over while I'm not around, you guys deserve a huge round of applause from everyone).

    So how does this tie in with the community engine?

    My feeling was that if we could produce an engine for the community it would yield many possibilities for content. Like tutorials on the various elements, what they do, how they work, how they can be optimised for specific scenarios, documentation, examples, hell maybe even a competition based around the engine and all of that content would provide a valuable learning resource for those of us who want to learn and understand the advanced techniques required in a modern 3D engine.

    Alas, for the reasons above (I think mainly because it was overly ambitious meaning helping was beyond the capabilities of many users, including me, and we didn't have a clear end goal) it died a death. I think 3 people committed anything to the repository and ultimately it was one person who contributed the most.

    In reality what we should have done was fixed some basic goals... 2D, OpenGL, support Delphi and FreePascal, target Android, iOS, MacOSX and Windows (and please don't tell me that this isn't possible from a single codebase because it is), including sound, shader support for effects, a basic GUI library, platform specific helpers and a set of tools for creating top down tile maps, side scroll maps and other utilities. Just imagine how much content we could create around that... tutorials on sound formats, shaders, font packing, collision detection, basic physics, the list goes on. And whilst this is going on, the people capable of more could write articles and tutorials about some of the advanced concepts required for a 3D engine so that those of us who need to learn the basics (I for one have no clue what some of the stuff that was talked about in the community engine forum is, what it does, why it's needed etc.).

    Do I think we would complete that project? I honestly don't know. I think we could, but people would have to put aside their egos and desire to prove how tech savvy they are and accept that this would be a less than optimal solution because (a) it's likely to be more generic than building for a specific idea and (b) because it will need to be simpler so those of us who aren't so clued up can understand it. But here's the thing... you could always write a tutorial on optimising a particular element, why the optimisation works and when to apply it.... more content!

    I'm happy to facilitate anything like this, the community just needs to let me know what you want and I'll get it sorted (as long as it doesn't cost money). For those of you that don't know, I'm no longer a professional software engineer, I am instead a self-employed electrical contractor because my last job destroyed me (suffice to say, when you have two people, both directors of the company, think they are better than you despite not having as much wider industry experience as you, you are likely to be faced with a never ending torrent of negativity around your work, your ideas, the way you do things and eventually it will destroy you). I haven't written anything of note since the end of 2014 because inside I was (and still am to an extent), devoid of the confidence I once had that I could make sensible decisions about the software I am writing, and so last year I took the plunge and got out of an industry I'd been in for nearly 21 years and honestly, it broke my heart.

    The upside is I'm my own boss and consequently I have the benefits that come with that, like a lot more freedom and a lot less stress (yes, believe it or not, I find major electrical work is a lot less stressful than writing software). The downside to this decision is that I have practically no money because I'm just starting out and I don't have a steady stream of work yet. Unfortunately the hosting contract for PGD is up for renewal and I've been asking myself what to do about it. With no major projects, no competitions, no regular flow of content (aside from forum activity), I've been contemplating moving the site to my own server to save money. That will mean slower page serve times and the possibility of bandwidth caps.

    So I guess my question to the community is this... would you be happy with that? If the answer is yes, then I guess that means we won't be getting any new content... no competitions, tutorials, interviews, quick start guides, community projects. If the answer is no, you're not happy about that possibility, then what are we, the community, going to do about it?

    Now, I'm starting to work on a new game... well actually, it's not new, it is a reboot of our 2006 Annual competition entry... there is scope for a huge amount of content in my view, just from my one project, and I've thought about what articles I might write, and I've had several ideas for articles in the time I've not been around much, but I've never followed through and actually written them. Why? Because I think to myself why should I? Why should I give up more of my time to benefit a community where so few people give back by spending a little of their time generating some content? Why should I do anything more than I do already (host it, keep it running, pay for it) when in over 2 years, there have been no volunteers to do anything, practically no substantial content and no donations?

    One article a year from each regular visitor and we could have a nice steady stream of new content. You don't have to write it all yourself, you could work with others and if you're worried that what you're saying is wrong, have someone else proof read it, send them example code to make sure it works... you could do an interview with someone in the industry, you could write a tutorial about something, you could write a quick start guide for getting going with a framework, you could write a post-mortem about a project. Hell, you could even just post links to interesting content (like the couple I posted about the render pipeline breakdowns). There are so many possibilities and yet so little content.

    Why?

    Delphi is enjoying a resurgence in popularity and I want this place to be buzzing, I want this place to be the place to go to for advice and information when it comes to making games with Pascal, but I'll be honest, I'm out of ideas on how to achieve that without help. If I spent all my spare time writing content, how much fun would that be for me? I'd never have any time to work on my own projects, I'd have no time to learn new stuff and ultimately I'd run out of things to write about. And then, we'd be back to square one, the content stream would dry up as it has done on so many previous occasions through the history of the site.

    So I'm asking you guys... what do you want? What would you like to see here? What kind of events would you like to see PGD run? Do you want a community project to get involved in? If so, what? What sort of tutorials would you like to see? Who would you like to interview if you could? Would you like to have a PGD team enter say Ludum Dare? And most importantly what are you going to do to help make that a reality? If the answer to the last part is nothing, then that sums up the problem and I see no way things will improve, so if you'd answer that, what would make you do something for the community? And if you don't want to share you views, thoughts etc. publicly, PM me. But really, I need to know what you guys want and what it would take for you to give back to the community, because I just don't know what to do about it?
    :: AthenaOfDelphi :: My Blog :: My Software ::

  5. #5
    Quote Originally Posted by AthenaOfDelphi View Post
    So I'm asking you guys... what do you want? What would you like to see here? What kind of events would you like to see PGD run? Do you want a community project to get involved in? If so, what? What sort of tutorials would you like to see? Who would you like to interview if you could? Would you like to have a PGD team enter say Ludum Dare? And most importantly what are you going to do to help make that a reality? If the answer to the last part is nothing, then that sums up the problem and I see no way things will improve, so if you'd answer that, what would make you do something for the community? And if you don't want to share you views, thoughts etc. publicly, PM me. But really, I need to know what you guys want and what it would take for you to give back to the community, because I just don't know what to do about it?
    What I want is just a window for may projects and a place where I can ask about game programming with Pascal.

    Actually I would like to write some articles about Allegro.pas but I have no time right now (or I should say I don't find it now).

    A LudumDare team would be cool.
    No signature provided yet.

  6. #6
    Quote Originally Posted by AthenaOfDelphi View Post
    The downside to this decision is that I have practically no money because I'm just starting out and I don't have a steady stream of work yet. Unfortunately the hosting contract for PGD is up for renewal and I've been asking myself what to do about it. With no major projects, no competitions, no regular flow of content (aside from forum activity), I've been contemplating moving the site to my own server to save money. That will mean slower page serve times and the possibility of bandwidth caps.
    Hey Christina if the hosting expenses are a big problem for you then this is where I can and I'm prepared to help immediately. Initially I was planning to use that money to buy Mobile Add-on pack for Delphi for developing a mobile application for my employer but since my employer isn't showing a big interest in this I have no need for buying the Mobile Add-on pack at this time. So feel free to share more information on how can I help you in this matter.

    As far as content creation goes I must shamefully admit that my extensive tutorial about working with classes in Object Pascal that I started several years ago (I'm actually afraid to look when ) hasn't seem much progress lately.
    The main reason for this is that my current job is draining almost all of my energy from me. Man I miss my old job where sometimes I even had time do to some programming during work time (don't tell my old boss about this ).

    PS: If you need an idea about the theme for next PGD competition I got two words for you: Deterministic Simulation
    Last edited by SilverWarior; 12-03-2017 at 09:22 PM.

  7. #7
    Quote Originally Posted by AthenaOfDelphi View Post
    Unfortunately the hosting contract for PGD is up for renewal and I've been asking myself what to do about it. With no major projects, no competitions, no regular flow of content (aside from forum activity), I've been contemplating moving the site to my own server to save money. That will mean slower page serve times and the possibility of bandwidth caps.
    I guess I could conjure a few shekels. What are the running costs, currently? Also, can you give some numbers on the site's disk & bandwidth usage? We could look at what the various hosting providers are offering and maybe choose something less taxing.

    Quote Originally Posted by AthenaOfDelphi View Post
    If every regular visitor wrote one article a year (two would be better), we'd have bags of content
    Sure. What kind of content would you like to see, though? I don't think another "Pascal from square one" tutorial would be very useful, as there's a ton of those on the internet. "Any" content isn't the way - quality content is. Although yeah, often bad content is better than no content.
    Sorry if this sounds condescending, but it's a serious question. The primary reason I don't have a blog is I don't really think of anything I do as particularly interesting nor challenging, thus there's no incentive to write about it.

    Quote Originally Posted by AthenaOfDelphi View Post
    Would you like to have a PGD team enter say Ludum Dare?
    Instead of a PGD team, just have people join Ludum Dare individually and then we can have a mini-competition for the best LD game by a PGD visitor.

    Quote Originally Posted by AthenaOfDelphi View Post
    Do you want a community project to get involved in? If so, what?
    An engine is a really broad subject; maybe have something more focused? Like "let's make a platformer". Try to agree on basic design principles, and then collaborate via Bitbucket / GitHub. The code will probably be far from an architectural masterpiece, with individual fragments being added on-the-go and glued together - but I'd say an approach like this has a way bigger chance of shipping. Less focus on getting the design 100% right, more focus on making stuff work and shipping.

  8. #8
    PGDCE Developer de_jean_7777's Avatar
    Join Date
    Nov 2006
    Location
    Bosnia and Herzegovina (Herzegovina)
    Posts
    287
    I can pitch in with a donation to help the costs, once my next paycheck is here Thinking about posting my code onto github, and some parts of it can be used for an engine as I develop my own. I do admit I've wanted to help with PGDCE but I've set aside everything for my personal projects, and I don't get much time around with that either. I also agree that Ludum Dare should be used instead of our own competitions, as there's not enough people to make a competition.
    Existence is pain

  9. #9
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    I'm also more than willing to contribute what I can to running costs - you do us all a great service in taking responsibility for the site Athena and it *is* appreciated - I promise you that.

    I'm going to do some work towards a finished article now.

    I hope you're all well - I'd like to try and keep the ball rolling and I've 'known' you all for a long time so anybody that would like to add me on FB or just message for chat please do so - build a rapport, reify each others mutual existence etc - I find that progress is greatly aided with more real-time communication and I'm always connected to FB if I'm awake.
    Last edited by phibermon; 18-03-2017 at 05:25 AM.
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  10. #10
    Quote Originally Posted by de_jean_7777 View Post
    I also agree that Ludum Dare should be used instead of our own competitions, as there's not enough people to make a competition.
    I don't agree with this. Well I admit that due to low recent activity there probably won't be so many participants in PGD competition as they were in previous years but still I'm sure we can pull it of.
    Now don't get me wrong I don't say that participating in Ludum Dare or any other competition is bad but the truth is that when you are participating in Ludum dare you are basically only promoting yourself.
    The main goal of PGD competitions was not to just promote individual developers but to promote us all as a community. And that is one of the things that can bring new people in.

    Here is another wild idea that might boost our promotion. Why don't we personally challenge Eli M. from Delphi boot camp to participate in our next PGD challenge
    https://community.embarcadero.com/bl...oot-camp-day-4
    I guess that for a man who developed over 300 mobile based games (many of them with Delphi and FMX) he should have no problem in participating. Also his participation could also bring some other Delphi developers to give it a try.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •