Recent posts by EndlessSporadic on Kongregate

Flag Post

Topic: Off-topic / Doris Roberts dies aged 90

I wasn’t a fan of the show and I dont know much about the actress, but the woman played her part extremely well. This is some sad news.

 
Flag Post

Topic: Off-topic / Anime Addicts Anonymous (AAA)

Originally posted by MaginManiac7:

Oh, is it a spin off of the first game? Shit man, then it’s totally worth watching

It’s not a spin-off, it’s just a straight adaptation.

For worse, I’m afraid. The fact that it is so faithful to the game makes it a terrible adaptation. You know how they need tutorial speeches in games to acclimate the player? Well, they kept that in in the anime where it doesn’t belong. From that perspective they are telling a lawyer who has passed their exams and gone to law school to look for contradictions. It’s just silly. You can find a discussion about it here (contains strong language).

 
Flag Post

Topic: Off-topic / What was the last thing you copy/pasted?

 
Flag Post

Topic: Off-topic / You see the strange man as you wake up...

Originally posted by DoomlordKravoka:

Die.

This. Pretty sure if he kills you you have no alternative.

 
Flag Post

Topic: Off-topic / Anime Addicts Anonymous (AAA)

Originally posted by Bankzy:

Im watching Denpa Onna, my second anime and i’m on the 5th episode.

I watched No Railgun back in 2012 and it was amazing

Any other reccomendations after this?

Im not into adventure, quests, knights, heros etc

Between Denpa Onna and Railgun you probably go for the slice of life genre. Go watch the first few episodes of Hyouka and let me know if you enjoyed it.

 
Flag Post

Topic: Off-topic / Anime Addicts Anonymous (AAA)

I fall into the group of people who are salty that they localized the subs for the Western release. It just irritates me when the speech says one thing and the text says another. I also don’t like the voice actor that much. I am surprised how well the show has stuck to the games, though.

I think I am watching 25 airing shows this season, two of which are leftovers from last season. None of them have been particularly outstanding (even though only at most 2 episodes have aired), though Boku no Hero Academia, Koutetsujou no Kabaneri, Kuma Miko, and, to a lesser extent, Ace Attorney are all promising.

 
Flag Post

Topic: Game Programming / The good old days of this forum

I’ve been around since 2008 but didn’t look at the programming forums until about a year ago. This forum was relatively more active a year ago, and within the last 3 months it has completely died and we are lucky to see a single insightful post a day. Not to be rude or anything, but part of me believes this is due to people moving on to greener pastures. “Why post on a generic programming forum on a game portal when you can look at forums dedicated to your craft?”, and so on and so forth. We all have different ideologies when it comes to programming and that causes a lot of biased information to be flung around. Many of the posts here (mine included) are often not very helpful.

 
Flag Post

Topic: Game Programming / Game In Ten Days -- Rules on Use of Assets from personal and public libraries

votes that mention “art” tend to be about originality and coherence of fit with the total game—the latter has a lot to do with making good choices with what was available to them.

Jim Sterling rants about this all the time in his Best of Steam Greenlight videos. “Developers” (quotes intended) often throw a bunch of pre-bought assets together and put it on Greenlight, but the assets don’t have any cohesion with each other so the game looks terrible even if the individual assets look good.

He was a frequent winner who didn’t make his own art or music but did research and made smart choices.

I can’t vouch for the quality of the games he released since I haven’t played them, but I can’t say I agree with this statement. While I do agree that the best product should ultimately win I also believe that some form of actual development should be required from all of the entries. Research and good choices fall in line with the producer track, and I don’t think this competition is about production. You didn’t mention that he didn’t do his own programming, so if he actually did some serious programming I wouldn’t have a problem.


I’ve come to a conclusion about this whole mess. Asking others for their opinions on the rules isn’t going to get us anywhere. Everyone has a different idea of what they want this contest to be, and everyone has a different idea of how much work and effort they actually want to put into the game they are making. Both Johannas and DRK need to sit down and collaborate to make a firm set of rules – a set that makes this contest different from others yet fair and open enough to anyone who wants to enter with different skill levels. Of course I highly recommend taking a break for a few weeks to let the steam settle and thoughts brew.

 
Flag Post

Topic: Game Programming / Game In Ten Days -- Rules on Use of Assets from personal and public libraries

Sorry for the late response – preparing for GDC. If the bold portion is your addition, it still leaves room for people to say “it was only possible for me to create 1 asset on my own”. No matter how you phrase that rule it will always be vague, and if we wrote an in-depth analysis of what that rule means people won’t bother reading it or, worse, not bother joining the contest.

Honestly I’m not sure how the contest is judged, but I think this rule heavily lies on the judges. Once again I’ll be blunt – if somebody does submit a project that just uses a bunch of default assets and isn’t innovative then it is safe to say that they shouldn’t have any expectations of winning and they shouldn’t take issue with the judges making that decision. You can’t use wording like “try to do this”. You need to be more explicit with what is excepted so the judges can point back at the rules whenever somebody challenges the decision.

 
Flag Post

Topic: Game Programming / Game In Ten Days -- Rules on Use of Assets from personal and public libraries

Proposed Game in Ten Days (GitD) Rules v1.2.1

I.    Entrants may only submit one entry, though that entry may be updated and/or patched.

Self explanatory.

II.    Entrants may use any game engine.

The point is to not exclude people. The power of a tool shouldn’t prevent the from using it as this goes against everything that programmers stand for, even in competitions. In other competitions they can get away with restricting or disallowing certain core features because everybody is at an equal disadvantage without that tool. The same can’t be said for game engines, and people aren’t going to bother learning a new engine just for this competition.

III.    Entrants may not use the default assets that come with the engine.

Self-explanatory. See subsections below.

III.1.    Entrants may use default engine assets that would break 
           the engine if they were removed.

There are rare exceptions when this applies, though most engines support null values for most objects. An example of this would be the use of animation blueprints in Unreal Engine 4 – there are standard behaviors that need to be copy-pasted for it to work properly.

III.2    Entrants may utilize all "features" provided by the engine, but must 
          innovate on them. Entries that do not innovate beyond the default
          features will be disqualified.

This ranges from advanced physics in Unreal Engine 4 and Unity to the dialogue and combat system in RPG Maker. Using Undertale as an example, it was made in Game Maker Studio. It utilized a lot of the default features but heavily expanded on almost every feature. Your scope doesn’t need to be as large, however. Creating a game in RPG Maker by only adding a few custom sprites will not qualify for entry. If the game “feels” exactly like any other game made with the platform (or feels like the engine tutorial game) and doesn’t do anything new it will be disqualified by this rule.

III.3    Asset flippers will be immediately disqualified and banned from future 
          contests.

Self-explanatory.

IV.    Entrants may use external artwork, models, and music with the following 
        restrictions:
- The assets must be free.
- The assets must be royalty-free.
- Assets that require permission for use in any way may not be used. 
  Assets requiring a link to the owner's website or original art are not 
  covered by this restriction.

See subsections below.

IV.1    Any and all third-party work must be properly credited according to the 
         wishes of their owners. If the owner does not require credit, *it must be
         given anyway in the form of a link back to the place of asset origin*.
         Failure to do so will immediately disqualify your entry.

A lack of ethics is inexcusable and will not be tolerated.

IV.2    Third-party non-generic code is not allowed.

Third-party generic libraries are allowed. Things like math libraries, color manipulation libraries, server-connection libraries, physics libraries, and rendering libraries are all considered generic. To make it easier to understand, any code that has been modified to work specifically for a certain type of project may not be (re)used.

If you have any questions as to what the difference between generic and non-generic code is, you can think of generic code as anything provided by your game engine. Your engine has no idea what your code does and the same methods within the code can be used in many different contexts. Non-generic code is any code that can only be used within a specific context.

Writer’s comment: I hate to be snobby here, but if you need to ask what the difference between generic and non-generic code is you shouldn’t be participating in this contest. It should be considered common sense for any programmer with even the smallest bit of education in the field.

IV.3    Animation scripts attached to third-party assets are not bound by rule IV.2
         as long as the script is required to make the object function properly.

In other words, external scripts that make animation work properly are fine to use. External scripts that encapsulate gameplay are not allowed.

V.    Entrants may reuse existing code created by the entrants themselves as long
       as the code follows the requirements laid out in section IV.2.

Code development is about iteration, and not being allowed to reuse generic code is silly.

VI.    Number of collaborators per project is limited to 2.

I don’t know how many people have traditionally collaborated on a project in GiTD, but there are a few issues with larger teams. First, there is always that person that doesn’t do any work, and that is no fun for anyone. Second, larger groups provide too much of an advantage for people who do not have any people to work with. I’d like to think that the number of connections you have should be irrelevant for this contest. Third, it becomes hard to figure out who did what.


I believe these rules are laid out fairly to give most people a level playing field. It isn’t about the smartest programmer or the best artist. It is about the best game that comes out of it. Artists have access to free public libraries and visual-scripting engines while programmers have access to external models and textures.

 
Flag Post

Topic: Game Programming / Game In Ten Days -- Rules on Use of Assets from personal and public libraries

Halysia, you seem to be under the impression that your question has been swept under the rug, but it has been answered numerous times to an answer you seem displeased with. I’ve been discussing this with DRK over the past few days and I want to ask you a question I’ve (implicitly) asked him (her, it – I won’t judge).

What do you want this contest to be?

Do you want to reward the best developers or do you want to reward the best games? The former puts an emphasis on the developer. The latter puts an emphasis on the game. The former causes people to create mediocre garbage because they have to focus on all facets of game development. The latter enables people to make great products because they can focus on a facet of game development that they excel at. From a gamer’s perspective as far as I am concerned it doesn’t matter how your game was made as long as the final product is fun, innovative, or captivating. From a developer’s perspective I want to make the best game I can make. Tools exist for a reason, and you’ll want to use the best tools at your disposal to get the job done. What I’m about to say is highly debatable – the best developers are the ones who make the best product with as little effort as possible. Part of being a good developer is choosing the right tools, and in the case of RPG Maker or programs of the like, they are the best tools for making RPGs quickly under the 10 day limit. Game jams work because you have a team of people, each one focusing on a specific facet and each one excelling in their field. For GiTD, most of the developers are working alone, and some of their amazing ideas can’t come to fruition because they are missing certain art or sound assets to do so. Of course, asset flipping is unacceptable.

As you can probably tell I lean in favor of allowing people to use whatever tools they wish (as long as they don’t re-use non-generic assets —> you and most competent developers know exactly what this means, so don’t try to worm a question out of this). I don’t approve of contests that arbitrarily restrict developers for no good reason. I can understand why you would want a contest that requires you to make all assets from scratch, but that is also the reason why nobody is participating. We can use our time better by practicing the tools of our trade, and many people aren’t interested in learning how to create art or sound.

I’ll ask the question again. What do you want this contest to be?

 
Flag Post

Topic: Game Programming / Best software for making 2D Apple or Android games?

Originally posted by JWBSoftware:

You are wrong. All games are built from something; they all use tools, libraries, algorithms, art, sounds. Some may be created in house but many are made by other people. They can’t all be given a five second movie at the start, and there is no reason why the tools you used are most important. Often they are least important as the thing that could be most easily replaced; tools are often a personal preference more than anything.

You are beyond saving. I can only tolerate so much ignorance.

 
Flag Post

Topic: Game Programming / Best software for making 2D Apple or Android games?

I understand your logic, but it is an extremely flawed way of thinking. As I implied in the GiTD thread here, you should always give credit where credit is due. Even if the software creator allows you to use their content without giving them credit I find it highly unethical and extraordinarily rude.

Having the engine’s 5 second movie at the beginning is an acceptable price to pay, and that is reflected by it being the standard within the AAA industry (and those guys pay out the ass for the professional features of game engines). To continue on using the AAA standard, you can do what they do – leave in the engine intro movie, plaster all third party libraries onto a single video clip/image, then play the movie/splash for your own company. This ordering is important. The engine video/image should display for no longer than 5 seconds, and your other two videos should be no longer than 3 seconds each. Your game is loading in the background anyway, so there is no reason not to utilize this “free time” and give credit where credit is due. I don’t want to hear “but we aren’t AAA!”. Bullsh*t. Indies are not treated differently than AAA where ethics are concerned. Even the bigger, morally corrupt publishers have enough respect to give credit where credit is due – even Konami kept Kojima’s name on their product.

Ethically and legally you are required to cater to the parties you took your software from, not to your impatient, petty players. Your own company is important, but your product only exists due to the work of these third parties. Treat them with respect. Keep that in mind moving forward.

 
Flag Post

Topic: Game Programming / Best software for making 2D Apple or Android games?

Xamarin Studio – it allows you to write native iOS and Android applications in C#.
Unreal Engine 4 – supports exporting to Android and iOS targets. You can use C++ and/or visual scripting (does not require writing code).
Unity 5.x – supports exporting to Android and iOS targets. You can use C# and/or JavaScript.

I lean heavily towards Unreal Engine 4.

Originally posted by JWBSoftware:

You need to pay for Unity to remove their splash screen, which you’ll want to do if you ship a game with your own or a sponsor’s branding. You can play around with it as much as you like though, putting off paying until you feel you have something worth selling.

To my knowledge you can insert your own splash screen in any version. What you may be referring to is the Unity intro movie which you should keep regardless of who sponsors you. It is an acknowledgement to the creators of the engine and almost all AAA studios keep the Unreal/Unity intro movie in their games. This movie is forced in by the engine for personal versions, but is optional for paid versions. Like I said, you want to keep it in anyway.

 
Flag Post

Topic: Game Programming / How do you add game chat?

Taking a look through the documentation should always be your first step.

 
Flag Post

Topic: Game Programming / Migrating to openfl - blurry graphics

Images are not vector graphics. Scaling will always be off. You should always go bigger and scale down in engine. There are a few benefits for this:

1) Future-proofing your game.
2) Down-scaling produces sharper images and has significantly better algorithms since it doesn’t need to guess what a pixel will be.

Of course the downsides are as follows:

1) Larger file sizes.
2) Takes longer to create the assets.

There are a few reasons why your images may be blurry. I’ll link to a few resources.

1) Your images are smaller than you think they are, and there are issues with the divs.
2) Source
3) Source
4) Source

 
Flag Post

Topic: Game Programming / How are most games made right now?

Originally posted by Draco18s:

Unity 5 is just heads and shoulders better than Unity 4.

Pretty much this. They improved their lighting model and color correction algorithms so they weren’t complete garbage (Unreal Engine 4 still has better algorithms), they optimized their engine slightly, and they added a bunch of quality-of-life features. Overall the stability is much better, things look better (the same project in the different versions will look different), and it feels significantly better to use.

 
Flag Post

Topic: Game Programming / How are most games made right now?

Flash is forcefully being put to sleep by most major browser distributors due to its inherent security flaws, and most (note not all) of the benefits Flash had are now absent with the introduction of HTML5 and WebGL.

You will want to pick up a game engine that can export to HTML5/WebGL. What you pick up depends on what languages you already know.

Unreal Engine 4

Language: C++, Visual Scripting (Blueprints)

Pros: Extraordinarily powerful game engine. Loads of support for 2D development. 2D and 3D can easily be placed in the same scene. Very future-proof engine. Extremely easy to make great looking materials and shaders with a visual editor. Can easily make custom lighting models. Easy to make post-processing effects.

Cons: Documentation that actually explains what code does is somewhat underwhelming, and much of it is outdated due to the engine still being in active development. The method of exporting HTML5 files is somewhat shaky and bulky. The generated files require that the server hosting them can serve compressed files, and stability for 32-bit browsers is still somewhat shaky.

Notes: I am a resource should you choose to use Unreal Engine 4. Ensure you are using the latest version of Unreal Engine 4 (at the time of writing 4.10.2). HTML5 exporting was only introduced in 4.7, and it only really became usable in 4.9.

Unity3D 5.x

Language: C#, JavaScript, BooScript

Pros: Good documentation, mixing and matching of safe languages (it’s hard to mess things up with C# and JavaScript). Easy export options (as far as I know).

Cons: Bad lighting models. Difficult to make good shaders. Difficult to make custom lighting models. Ugly default GUI. Generics cause a lot of known issues in mobile builds. Produces large filesizes when exported due to bad or missing file compression.

Notes: Do not use Unity3D 4.×.

Other Engines

Note: I have not used these myself, but they are things you can research.

Cocos2D

A list of other utilities can be found here.

 
Flag Post

Topic: Game Programming / Optimizing my text adventure engine

See my old post here.

Pulling the example from there:

{
    "dialogueOption1" : {
        "text" : "This is the text you want to display. What is your favorite color?",
        "responses" : [
            {
                "text" : "Blue", <-- this is what is displayed on a button.
                "onSelect" : "dialogueOption2" <-- this is a string that you poll to determine what the next dialogue path is.
            },
            {
                "text" : "Red", <-- this is what is displayed on a button.
                "onSelect" : "dialogueOption3" <-- this is a string that you poll to determine what the next dialogue path is.
            }
        ]
    },
    "dialogueOption2" : {
        "text" : "Blue is your favorite color? Mine too!"
        "event": "givePlayerBlueKey";
    },
    "dialogueOption3" : {
        "text" : "Red is your favorite color? I like red, but I think blue is my favorite."
    }
}

Example usage can be seen in the pseudo-code below. The code is very untested, but the theory is there. Note that I don’t know AS3 syntax very well and I skipped over utility and wrapper code. I assume you know how to wrap pre-existing components inside of a utility wrapper class and why you would want to do so.


private CurrentDialogueOption:string;
private DialogueArray:object;

function LoadDialogue(Path:string) : void
{
    DialogueArray = JSON.Load(Path);
    CurrentDialogueOption = "dialogueOption1";
    UpdateDialogue();
}

function UpdateDialogue() : void
{
    // Hooks for custom events. Parse the string provided and do the event based on it.
    if (DialogueArray[CurrentDialogueOption].hasOwnProperty("event"))
        DoEvent(DialogueArray[CurrentDialogueOption].event);

    ParagraphThatContainsMainText.text = DialogueArray[CurrentDialogueOption].text;

    for (index:int = 0; index < DialogueArray[CurrentDialogueOption].responses.count; ++index)
    {
        // Map each response to its own button. Like I say below, you may need to wrap your button with a helper class to track its ID, text, and other information.
        NewDialogueOption = DialogueArray[CurrentDialogueOption].responses[index];
        button[index].text = NewDialogueOption.text;
    }
}

// each button has an onClick event handler and ideally knows its own index - you may need to wrap your button with a helper class that stores this information.
function OnButtonPress(e:event) : void
{
    // In the case that you do not have a responses field, you want to close your dialogue. Somewhere you need to detect that there are no responses and add
    // a "close" button. That should trigger this and fall back to the CloseDialogue() method below.

    if (DialogueArray[CurrentDialogueOption].hasOwnProperty("responses") && DialogueArray[CurrentDialogueOption].responses[MyID].hasOwnProperty(onSelect))
    {
         CurrentDialogueOption = DialogueArray[CurrentDialogueOption].responses[MyID].onSelect;
         UpdateDialogue();
    }
    else
    {
         CloseDialogue();
    }
}
 
Flag Post

Topic: Game Programming / Optimizing my text adventure engine

Originally posted by starfiregold:

JSON is primarily used for transferring data over a network. While you may shave a few bytes off the deliverable, you could end up bogging down the game at runtime deserializing all of that data.
I would think an XML object would be a better solution for you.

Yeah, completely ignore this post as it is extremely bad and incorrect advice.

JSON used to be primarily for transferring data over a network, but it has since evolved into the primary method for storing configuration data (behind INI) and certain formats of text. It has evolved and taken over XML as the primary format for storing hierarchical data due to its speed, readability, and maintainability. Regarding performance, there are plenty of sources out there that cite JSON as parsing more quickly and with less CPU usage than XML for native language implementations (this means for languages like C#, C++, and Java, not languages like PHP and HTML).

It will take at most 3ms to parse large blocks of conversations as long as you smartly split up your conversations into multiple files (you don’t want to have your end-game scene dialogue in the same file as the tutorial). Oh no, a single lost frame for an entire scene! What are we gonna do?!

Fun fact – many dialogue engines export their data using JSON. Stick with JSON.

 
Flag Post

Topic: Game Programming / How do I make sure a game gets seen?

Being active in this forum is the main way to expose me to your game. I no longer participate in chat, but if I feel like someone in this forum is giving good advice and is generally active I will take a look at what games they have made to see how they have applied their knowledge.

When starting out, like in any business, it isn’t what you know but who you know. I don’t mean this in an offensive way, but your name doesn’t mean anything. You need to be active and sell your name. Once you reach a certain amount of experience people will know who you are and start asking for you by name.

Another “cheap” but effective way to get views is to ask people to play your game and provide feedback. The reason I say this is cheap is because more often than not developers don’t take that feedback to heart. If you actively listen to feedback and implement the changes people want to see then you will get people who are more willing to repeatedly play your game and provide more feedback since they will be more invested in the development process.

 
Flag Post

Topic: Game Programming / How to save game data to user's computer?

That is not possible. Unity prevents saving to the user’s drive for security reasons with the exception of PlayerPrefs. You can still serialize complex data to PlayerPrefs for their HTML/WebGL and Unity3d builds (you can save to disk in standard desktop builds). You can encode an entire object to a string and save the string and decode it later. All of the references to other objects will still be intact. PlayerPrefs is unreliable on their HTML builds, yes, but otherwise it is only unreliable because people are using it incorrectly.

 
Flag Post

Topic: Game Programming / How to save game data to user's computer?

It depends on the technology you are using. For HTML/Javascript you would use cookies. For ActionScript you would use cookies or SharedObjects. For Unity you would use PlayerPrefs. For Unreal 4 you would create a new class that inherits the SaveGame class (or use the Blueprint SaveGame subclass for Blueprints).

 
Flag Post

Topic: Game Design / A little help here? What's the difference between interactive fiction, choose your own adventure and multiple endings genres?

The plot doesn’t necessarily need to be complex. Your world somewhat does. You need to create an extremely restrictive world but give the illusion that the world is complex. There are many ways to do this. Clearly describing an area when you enter opens up a lot of options for the player. “Examine vase”, “take painting”, “open chest”, “walk up”, “poke flower”, “attack wolf”, and so on and so forth. Any option the player can perform needs to be implemented. There shouldn’t be anything where you type something and the response is “nothing happens”. Of course there are exceptions – typing something like “have sex with cactus” doesn’t warrant a response. For stuff like that you can simply inform the user that the system doesn’t understand that command. My point is this – think about the world you have created and imagine you are adding sprites and graphics for every item in your world. Every single sprite needs to have “examine/look at/investigate”, “take/steal”, “poke/touch”, “attack/smash/destroy”, and “talk to” dialogue written for it at a minimum. Even if the person were to type something like “talk to vase”, you need to have a witty dialogue response for it. That kind of thing is what gives the illusion of freedom and makes your work feel more fleshed out.

Do keep in mind that there is no such thing as real freedom in video games. You can freely move within a certain area, but you can’t go outside the boundaries. In this sense it is no different than a prison and is not true freedom. Don’t think about “freedom” too much, and instead try to build a very detailed world that allows the player to do as much as possible within their restricted space.

Text adventures are widely considered to be video games, though they can also be considered literature depending on who you ask.

 
Flag Post

Topic: Game Programming / Need some help starting out

No problem. Once again be aware that the documentation for the exporting of HTML5 projects is outdated (the documentation was written for 4.7 even though it says 4.9 at the top of the page). In other words, most of the information here regarding the Epic Launcher install is incorrect. To my knowledge you do not need to install emscripten or python. If you aren’t compiling from source the option to export to html5 should be there by default. If you are compiling from source you will need to follow the instructions in the link I provided above (that I said was incorrect) and click on the “Compiling from source” tab.