Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

CMaxo

46
Posts
5
Topics
2
Followers
A member registered Mar 16, 2022 · View creator page →

Creator of

Recent community posts

Thanks GameDev.tv for making this possible for another year contest as it's my favorite JAM.

I have participated for the last 2 years and even if my entries were scored low, I never felt bad about it as, in this jam, everyone is a winner.

The 2 previous years, I submitted a project using Unity, but this year I'm going with Godot. Not that I have anything against using Unity, but as I have been working on a (relatively) big project with Godot for since November of last year, I'm quite warmed up for it. 

For those who might wonder, the reason why I moved to Godot for that project of mine has nothing to do with what happened with Unity during their new license PR fiasco last year even if the timing might seems related (it's not). It's something I had to decide as a part of Unity EULA that has existed for years might not be favorable for this project of mine which uses a business model that kinda exists, but not in the form that I'm giving it. I even attempted to contact Unity Tech. to see if there could be something done and they ignored me. So I decided to play it safe and move to Godot for the sake of this particular project. I couldn't stick this project with Unity's or even Unreal EULAs considering it's a project that, if it succeed, could change a part of the face of the financial aspect of video game development, as a commercial enterprise.

So, for this JAM, I'll be using Godot 4 this year.
I got a few ideas of what kind of gameplay I'll be making for the Jam (depending on the theme once it's revealed).
Due to my part time job at a busy general store, I'll be only working on this ~3 days worth out of the 27, 28, 29 and 31 of May so it gonna be short and intense.

Remember that the UE editor itself is around 15GB which is mostly libraries for various elements inside a game like audio libraries and shader/render libraries. When you build your game, the assets inside your project folder don't includes what's required to run a game and the UE engine has to includes everything required for your game to run without the editor. It's normal that the engine folder is around 220MB by default and could be even bigger if you used some crazy tools in the editor. There's also the possibility that some of the assets which you see as only a few MB were converted into some form of RAW format and this result with files being 3x-4x the original's size.

Well, I got a good news and a bad news.

The good new is that I have made a lot of progress in my project for the jam and had a lot of fun working on it.

The bad news is that I couldn't finish the project in time. I'm at about 95% done, but I'm facing some really bad code incoherence from fixing the remaining 5%.

There are also minor some positioning issues for certain UI/Graphic elements to fix and I can't reach the point where the game is functioning properly as a game.

If I had 1 more day, I could probably finish everything, but not in the bit-more-than-1-hour remaining. Especially since I have not done any build debugging. (For all I know, I could be unable to build a client/game to submit even if I rush/finish everything.)

The main culprit of this bad news is, surprisingly not that I chew more than I could eat, but it came from an major issue with Unity 2020.2.X (especially present on the version I used 2022.2.16) live compiler being totally unreliable and slow as hell.

The issues I faced during the last 3 days with the Unity editor were, to say the least, abnormal and this never happened with any version from 2020.1 or prior. From the editor's UI not updating from selection (and, sometime, throwing an error of bad cache) to the point where the compiler would take 30+ seconds to compile the script in the project which is not even 3000 lines of codes (on a PC that has a LOT of computing power). To be able to work relatively fast, I had to litteraly close the Editor approx. every 2 hours, go into the project files and delete the content of the "Library" folder and reopen the project. After about 5 minutes or recompilation, the Editor works normally again by that point for about 1 to 2 hours and, then, slowly get slow.

Imagine if changing 1 line of code in your project was always took 30 secs before you could test it out. If you change a line 20 times, you just lost 10 minutes waiting and that doesn't includes the time you actually test the damn thing out.

At the moment, this give me the idea that Unity 2020.2.x is not properly optimized for using it in Dev Jams of such short length or, at least, not in my case.

Here's a final view of what the project looks like :


Will I finish the project? Most likely, but it will requires a lot of work to untangle all that spaghetti codes I have wrote for the sake of testing things fast.

Good luck to all the others!

Been working on the Jam's project for about 6 hours today.

It advance quite well, but as I watch time moving forward and what is done, I'm not 100% certain I'll be able to submit the project in time.

Side note: It's not visible in the screenshot, but that 3D map can be rotated around.

Long story short:
• I have implemented the path/movement system with waypoints as well as the keyboard & mouse and Touchscreen/Pen inputs based controls.
That was the bulk of today's work because I had to implement a waypoint system that allow new additional waypoints to be added and/or replace and/or removed while keeping the existing order of waypoints and all.

The way the controls work is that the player place waypoints put pressing/clicking on the world. Each time a press/click is done, a waypoint is added and the path between active waypoints is updated. If the player presses/click really close to an existing waypoint, this remove the waypoint from the path. The number of waypoints is based on a certain module (which can be ranked up) starting at 2 by default and up to 7 at max rank. If the number of generated waypoint exceed the module's capacity of the Rover, the oldest waypoint is removed.

This was a bit of a headhache to implement because I had to implement a system that allows not only connection between the existing waypoint and the Rover, once in the map, but also between the hidden objective (not visible in the image above) that has been discovered. (So, if a discovered objective is pressed/clicked, a it becomes a waypoint in the Rover path. If a regular existing waypoint is pressed, it's destroyed/removed. If an objective is pressed, it's only removed from the waypoint list, but remains on the map until it's acquired by the rover by reaching it.)

• I have also reworked a few visual elements as well as the visuals so that stuff are much easier to see.

• Only one 3D model remains which is the Landing craft (starting part for the Rover as well as a permanent charging station).

• The time factor has been fully implemented. The game run on a 24-hour time factor where sunlight is available between 06:00:00 up to around 20:00:00. During the night, while it's possible to move the Rover, the power consumption (unless upgraded and still) is a double edged sword. Between 11:00:00 and 13:00:00, the sun up high and there's barely any shadows. I did implement a bit of a cheat where the sun truly stays still for 2 hours, but at the cost of chipping the scale on the rest of the sun-lighted part of the day. It's possible to turn off the Time advance (nothing moves) by toggling off any of the 4 bottom buttons, but setting it at 1X(NORMAL) is actually more or less the same unless in extreme circumstances of last-call around the 19th hour. After all, at 1X(NORMAL), you control the Rover in real-time meaning that it will take a real-time 14 hours from 6h in the game to reach night time.

• 75% of the Rover system is finished. The 25% remaining is related to the landing craft and the sunlight/shadow detection and the inventory and scan system.

One things I have not yet implemented visually is the size of the map in real measures. Each cube/square you see on the map is 1 squared distance unit. I have yet to decide if it's 1 km² or 1 mile². The elevation also has an importance when deciding the Rover's path. Each square represent the average elevation of the area and that's another thing that can get upgraded because the higher the elevation, the slower the Rover will climb (and the opposite is also true where the Rover will move down hills faster.) It's not a linear deceleration, but more like a parabola, hence it might be faster to move around an hill on a smooth elevation than to climb an hard-pressed elevation, but at the same time, that smoother hill could be in the shadowed part, hence comes the dilemma of choosing which route to take, how fast it gets there.

Here a few details about the upgrade-based gameplay element about the Rover.

• Battery Capacity: The rover has a battery default capacity that allows it to cross shadowed area for 2 in-game hours before powering down.
It can be upgraded internally to 200% and it's possible to extend it by 30 minutes with Battery Cells (each take 1 slot in the Rover Inventory)

• Storage Capacity: The rover has a default Storage Capacity of 2 slot and can be upgraded to 7 slots total.

Currently, the slots can be filled with :
+ Sample (By default) - Each Sample objective requires a slot when transported back to the shuttle.
+ Battery Cell - Upgrade the Battery Capacity by a flat 25 units. (this represent 25% of the default Battery capacity)
+ Solar Panel - Upgrade the Battery Recharge speed by 3 units / hour under sunlight. That recharge rate is not affected by mobility (unlike Solar Cells).
+ Robot Arm - Double the acquisition speed of Samples. Acquiring a Sample, by default, takes 30-60 minutes. (The time is semi-random based on a few factors.) During Sample recovery, the Rover consume slightly more energy than usual, hence this part not only might allow 1-2 additional sample to be acquired in a day, it also save half of the energy its consumes.

• Solar Cells: When in sunlight, the rover recharges its batteries. By default it recharges at around 5% (if immobile) or 1% (if mobile) per in-game hour. This can be upgraded up to 200% which means that, in 10 hours (instead of 20) without moving, the Rover would be fully charged.

• Radar Antenna & CPU: (Not yet visible in the UI above) It's possible (and required) to launch a scan from the Rover position at the cost or power. The Radar has a recharge rate of 6 in-game hour, but can be reduced to 1 in-game hour by upgrading the Radar CPU. Just in case some wonder, it does recharge during night time so even at the start, you can launch 2 scans easily. Upgrading the Antenna raise the range of the scan. By default, the range is 5 units in radius around the Rover and can be doubled by adding upgrades.

• Motor Drive & Gears: This is the upgrades that allows to raise the max speed (Drive) as well as dropping the deceleration (Gears) when climbing an hill.

• AI Optimization: This allows the Rover to use less power in general. This drop the power usage of everything, hence it's an Ace-of-All-Trade, but even maxed, the gain is still lesser than something like a maxed Battery or even 2 Battery Cells.

All that might seem overkill for a Dev Jam of 3 days, but it's mostly internal data management with a few UI icon here and there which is why I think I'll be okay, but again something might not work as I intended so it's not 100% guarantied.

Really good work (especially in how fast you made it)!

I know I wrote that I wouldn't be giving updates, but I think that I have reached a nice look for the satellite-like look


At this moment, everything related to the map itself is done. The coordinates, elevations, location of the hidden things to discover and the Sun-based light simulation are all implemented. The screenshot above shows how the shadows appears. Currently, it's possible to generate a small, medium or large terrain map. (The one in the screenshot above is a medium sized terrain map).

The part that remains to be implemented (or finish) are 

• The Rover and its relevant features.

• The gameplay mechanisms.

• A game menu. (if time allows it, a save & loading system)

I looked at your code and made my own little version of it :

using UnityEngine;

using System.Collections;

public class Spawn : MonoBehaviour

{

    public static Spawn Instance;

    public GameObject objectToSpawn;

    public float spawnFrequency = 1f;

    public float spawnPadding = 0.1f;

    public int maxObjectsOnScreen = 5;

    private float nextSpawnTime = 0f;

    private int objectsOnScreen = 0;

    private float _Delta;

    private GameObject[] SpawnedObjects;

    private bool SpawningEnabled = false;

    private void Awake()

    {

        Spawn.Instance = this;

    }

    private void Start(){

        //Create an array for the Spawned Object cache that will hold all Spawned Objects references in the scene.

        SpawnedObjects = new GameObject[maxObjectsOnScreen];

        SpawningEnabled = true;

        StartSpawnEvent(spawnFrequency);

    }

    private void Update(){

        _Delta = Time.deltaTime;

    }

    private void StartSpawnEvent(float SpawnFrequency)

    {

        if(SpawnEvent!= null)

        {

            StopCoroutine(SpawnEvent);

            SpawnEvent = null;

            //By stopping & setting the existing Spawn Event reference to null, you clean any reference Cache.

            //This ensure that the garbage collector can clean anything from it.

        }

        SpawnEvent = SpawnCoroutine(SpawnFrequency);

        StartCoroutine(SpawnEvent);

    }

    private float SpawnTimer = 0f;

    private IEnumerator SpawnEvent;

    private int CurrentObjectCheck = 0;

    IEnumerator SpawnCoroutine(float SpawnFrequency)

    {

        SpawnTimer = SpawnFrequency;

        //This while() only  allow the Coroutine to run while the Object on screen is lesser than the max allowed.

        while (SpawningEnabled && objectsOnScreen < maxObjectsOnScreen)

        {

            SpawnTimer -= _Delta;

            if (SpawnTimer <= 0f)

            {

                //Spawn Timer is ringing. Spawn a new Object.

                for(CurrentObjectCheck = 0; CurrentObjectCheck < maxObjectsOnScreen; CurrentObjectCheck++)

                {

                    if (SpawnedObjects[CurrentObjectCheck] == null)

                    {

                        //An empty slot has been detected.

                        //This function will add the object and adjust the relevant quantities.

                        SpawnNewObject(CurrentObjectCheck);

                        //Break will stop the for() loop because you want the timer to restart before checking and spawning any other.

                        break;

                    }

                }

                //Reset the spawn timer back to the frequency.

                SpawnTimer = SpawnFrequency;

            }

            yield return null;

        }

    }

    //Small note: When you got a value that you will reuse often, but not simultanously in paralel, it's better to cache it.

    private Vector2 RandomViewPosition_Holder;

    private void SpawnNewObject(int ObjectID)

    {

        if (SpawnedObjects[ObjectID] != null)

        {

            //It's almost impossible that something remains in the reference since you just looked it up in the coroutine.

            //Still, just to be on the safe side, you don't want to leave any remains of lost data in the cache.

            Destroy(SpawnedObjects[ObjectID]);

            SpawnedObjects[ObjectID] = null;

        }

        RandomViewPosition_Holder = new Vector2(

            UnityEngine.Random.Range(Camera.main.ViewportToWorldPoint(Vector3.zero).x + spawnPadding, Camera.main.ViewportToWorldPoint(Vector3.right).x - spawnPadding),

            UnityEngine.Random.Range(Camera.main.ViewportToWorldPoint(Vector3.zero).y + spawnPadding, Camera.main.ViewportToWorldPoint(Vector3.up).y - spawnPadding));

        SpawnedObjects[ObjectID] = Instantiate(objectToSpawn, gameObject.transform);

        //From your code, I guess this is a 2D game, hence why you fill the world Y (elevation) with the view Y (height on screen) as, otherwise, it would have been different.

        SpawnedObjects[ObjectID].transform.position = new Vector3(RandomViewPosition_Holder.x, RandomViewPosition_Holder.y, 0f);

        //You can use the ++, but I prefer to use the += for the sake of clear definition. For example, if you were to spawn 2 object, you can just change += 1 to += 2 and so on;

        objectsOnScreen += 1;

    }

    public void DestroyTargetObject(GameObject targetToRemove) {

        foreach(GameObject obj in SpawnedObjects)

        {

            if(obj == targetToRemove)

            {

                //Object has been found in the Array of Spawned Objects

                Destroy(obj);

                objectsOnScreen -= 1;

                //You can set some kind of checker here if you want to limit the maximum number of object spawned in a match.

                //For example, cache an int and add to it here and once it reach a value (meaning X object got destroyed), the player won.

                //That's why I added the SpawningEnabled boolean as a condition for the spawn to occure in the coroutine. Setting it to false stop the object from respawning once destroyed.

                StartSpawnEvent(spawnFrequency);

            }

        }

    }

}

With that code, the spawning will only happen when it's possible. With that code, when an object is supposed to be destroyed/removed from the screen, you only have to call something like Spawn.Instance.DestroyTargetObject(this); or replace the "this" by the object reference if it's done from another object's script. As long as "this" refer to the SAME object as the one you instantiate, it will be destroyed, removed from the list and a new one will be created in its stead (unless, as noted, the SpawningEnabled bool value is set to false.)

With the theme and limitation, it took me quite a while to finally decide on what to do within the limited amount of time allocated to this Jam.

I initially had one idea about a game where you're controlling something like a creature that gets damaged/burned by the sunlight and you got to cross a field with spots of shadows around to reach your den. As it would burn, it would gain more speed and could cross the light faster. I thought it was a really interesting concept, but I ended up scrapping it for another idea because of the time restraints. Just the creature alone could take a week to make and animate if things don't go the way I want and I'm not even covering the field to cross. It can really be an insane time sink-hole. (But I do keep this idea for something outside of the Jam.)

Then, I went into a different way and decided to do something that is heavily UI-oriented project so that I can remove a LOT of requirement on the animation/3D side. From that came my final idea for the project that I will be submitting to the Jam which is called Deviation.

To make it short, Deviation is a game where you control a rover across a randomized map on some planet. Think of it as an arcade version of the Discovery on Mars. In terms of gameplay, it's more of an RTS game than an action/platform game because you set the inputs/controls first, then send the information to the rover which will execute them.

The trick/challenge is that the rover has a battery which drain as it time moves forward or as it uses its few "abilities". It recharge under the sunlight so you got to plan its path in consideration of the shadows and time of the day. If its battery is fully drain, you loose contact with the rover. That's my take on the Solar theme of the Jam where the Rover requires solar energy to recharge and be able to complete it commanded tasks.

It's kinda like the vehicle used by Watney (Matt Damon) in the movie The Martian to cross Mars, but unlike in that movie, there's no human to restart the machine once it's turned off.

To fulfill the limitation of Failure is Progress, I implemented the goal of the game being that you need to use the rover to scan for stuff on the planet's surface. Whenever you find something, there are 2 possibilities: 1 is a point of Data Collection which gives small but guarantied reward and the other is a Sample Collection which requires the rover to return to its starting point for a bigger reward.

By reward, I'm talking about Funds raising. It's a bit like the principle behind NASA's funding on a much simpler scale. The more you discover, the more funds you get to raise for the next time you send a rover on an expedition. The more funds you raise for the next expedition, the better equipment you can put on the rover.

This means that the game has an upgrade system with ranked stuff that enhance the rover capacity. From battery capacity, charging speed, radar range, etc. The rover also has a storage capacity which allows either the addition of modules (for a flat stats bonus) or, by default, a sample storage. This means that you can't just send the rover all around the samples points, but may have to plan multiple return trips if the rover's storage is limited.

This might sound complicated and extremely time consuming, but the trick for fitting within this Jam's time constraint is that the visual will be that of a satellite data image made of raised cube for displaying the relief of the planet surface. For this Jam at least, you won't exactly see the surface of the planet nor the rover itself. It's all UI-based on a limited 3D representation of the planet.

This will be my only post/update on my participation until the end in this Jam because... well let's just say that I will surely not have time to write updates. ;)

(1 edit)

Yes. Prior to May 19th, you can do any pre-preparation you might need such as looking up for potential references, thinking about possible setup/design, etc. But you got to remember that the theme and, sometimes, the bonus theme/rules (gives bonus points) can go completely against your ideas, hence that's why you shouldn't get stuck with 1 great idea, but just some general brainstorming.

Think of it as the time used to practice by making a bunch of cakes or looking up recipes and techniques around prior to a cake contest. Knowing which tools you're need during the contest is kinda essential unless, like me, you go in blind (for an additive personal challenge).

A good list of example of stuff you can prepare ahead in this kind of Jam:

• A list of Public Domain (CC0) musics files OR musics you have, yourself, made. (No remixes or any derivative works that is too close to any existing copyrighted musics.)

• Pill up a bunch of animations files that could be useful. For example, you can download a bunch of animation from mixamo.

• Preset of stuff you have already build in concept such as codes or systems.
While some big Jam might refuse that you bring in your own pre-made codes, this kind of Jam allows you. It even gives you an example of what you can bring in with the package it gives for free that includes some basics for some games. If you got some codes that works for something you want to make during the Jam, nothing is stopping you from copy-pasting the code right away.

On May 19th, the theme and bonus theme/rule will be given.

From that point, you start working on the actual implementation of the game itself so that you can have a working client by the 29th.

Before the Jam close on the 29th, you'll have to publish a working client (.exe file) into itch.io. This allows you to submit the project to any active Jam you have joined. (It's all in the itch.io publish menu.) This Jam also requires that you share the build (project files) which it's highly recommended that you separate the 2 set of files in different .ZIP containers so that people can download just the game if they want.

This is also why you can't use copyrighted stuff in the JAM (unless you own the license for redistribution which, 99.9999% of the time means that you made it yourself.) Even free stuff online can be restricted on the redistribution of the work hence you got to look up for stuff specified with the CC0 mark (meaning it's on the public domain and free to use, re-use and redistribute or use in commercial works).

If you're uncertain if you can use certain assets in this JAM, just explain and ask the person who made the asset if it's alright to put the file in your project that will be distributed for free. If you got a positive answer, it's all OK. For example, someone might agree to the redistribution if credits are given. As such, you can include a PDF or .txt files containing the credits mentioning the requirement for the crediting in using the asset. (This is often the case on free content offered on the web. It's often called CC with Attribution. CC means Creative Common)

This is also why it can be a good thing to start looking and loading up a bunch of musics file ahead, unless you truly plan on making it yourself during the JAM or unless you already got a good source of CC0 or CC with Attribution musics on hand. ;)

This is the example I have made for the GameDev.tv Game Jam 2022 last year:

https://creations-maxo.itch.io/bahoo

I'm in...

...and there's no way out except through death.

If I count the 2 Jam which I didn't completed due to some unforeseen situations, this would be my 5th.

If you're very new to game development, I would suggest to download and look at the starter kit given for free ( https://offer.gamedev.tv/jam-starter-kit/ )

You can check it out even if the jam isn't started and test things out with it for practice. Then on the time when the Jam start, you can just start anew with it, again, but at that point you might have a better idea of how to use it. ;)

Personally, I'll start from scratch, but unlike last year, I'm not thinking about it at all until the theme is revealed. I want to do a pure 10-days Jam from a blank state of mind.

The GameDev.tv Game Jam is one of my favorite Dev Jams!

Thanks a lot to make it happen again this year! :D

That's not yet in the game. Lots of the stuff you see in the UI is not working yet.

Also, there's no saving/loading feature yet. All stuff you do is only applied until you close the game.

You do remember that you originally started this itch.io page to fund the development, right? You do remember that you initially started tis page and told people that by buying it on itch.io, they get early access to new features, right?

A copy/pasta of your own words even at the moment:

Get earlier development builds now here on itch (even earlier on SubscribeStar), or add to your wishlist on steam for more complete stable releases soon!

Saying "Not every update is worth playing, especially if it's content you want" doesn't apply here since the itch.io builds released are still broken/incomplete (barely in an Alpha stage). It's not even about content, but functionality at this point.

What you did is switching your business model from originally being "Development being funded via itch.io" to "Development being funded via subscription" as you know people do appreciate your work enough to pay a monthly fee (you have numbers related the number of sales on itch.io) for it and as you know that they wouldn't pay said monthly fee if you don't give them some monthly candies, hence you abandoned the "development builds" side of itch.io and turn it into basically a sub-Steam release.

As an independent developer myself who work with the same tools are you, I just can't agree with how you have handled this on itch.io.

In fact, you might not know about it, but there are laws in Canada, US and the UK (at least) which protect consumers from exactly what you have been doing, though you're still in the gray zone (but close of being out of time). You can't legally ask for payment for a promised product in development and then, later, offer an upgraded version of said product still in development onto any other platforms/markets/buyers without first equalizing both products equally toward your original payers from the first market/purchases.

I'll give you some tips based on your way of versioning your project:

v.X.0.0.a are released version, meaning that once it reach v.1.0.0, you have reached a stable final build. This is what you would call a "Steam release".

v.0.X.0.a are development versions, meaning they are steps where features or content are added or heavily modified. Any changes in those are supposed to be distributed on itch.io as per your own original promises. You could also release a pre-Release on Steam with this version, if you're confident (though Steam has specific rules, even since the fiasco of the Greenlight, regarding development time and they don't allow what you're currently doing with itch.io.)

v.0.0.X.a are fixes and minor modifications that may change some part of the game. It can also includes minor content addition like some festival content. For example, an additional option in a menu or new settings, etc.

v.0.0.0.a are minor fixes for oversight errors. For example, typos (mistakes in texts), or some other small corrections.

Remember that, on Patreon, you're at v.0.3.1.c (from the your Patreon news update) and, here you're still at 0.2.8.a and the 2 versions are quite different state of the same product. Your original promise on itch.io when you introduced the Patreon/SubscribeStar funding method was that itch.io would receive the same update as the Patreon/SubscribeStar, but 1 month later. v.0.3.1.c came out on July 18 2022. Even if you decided to completely change anything in the project, you're already not following your own promise on releases to your itch.io buyers.

Even if you're thinking "but I don't have that version of the game anymore", the builds files are still available. You got no legal ground on leaving your buyers from itch.io out of the loop like you did.

The [Experimental] is only available from the various subscriptions-based site such as
https://subscribestar.adult/momoirosoft
https://www.patreon.com/momoirosoftware

The [Experimental] version is supposed to turn into [Public] 1 month after it's being release, but as in every cases since this project was launched here, there's unplanned problem that pushes back and deadline are rarely met.

The latest news (you can read about it on both site above) is basically telling you:

"We don't know what we're doing and we're learning. Thanks for sending us money while we constantly change our project on whims because some stuff sound cooler than what we made up to now so we constantly scratch our work, never reaching anything concrete!"

Would be great, but as there's no news on the Patreon page regarding the supposedly planned release from 2 weeks back and as I'm not a Patreon myself, I can't tell what is going on either way. I'm just exchanging the information that is displayed on the public page of the Patreon's page.

Has the Experimental new version been released as planned? Dunno. Last public news was that it delayed 1 week (it was supposed to be released around the week of 29th June). Considering the "no news", it's possible that it got delayed again for an extended period of time. (https://www.patreon.com/posts/bigol-post-new-68395876)

If the Experimental Patreon-1-month-exclusive release was delayed, then it's also delayed for the 1-month-later release here.

(1 edit)

The few updated news are given only on the Patreon page. The new update is/was supposed to be released for Patreon fan's 1-month exclusivity last week (or this week). We, on itch.io, gets the updates (called "public") 1 months after the Patreon (called "Experimental")

To put things in a clearer way, there's now a "experimental" stage and "public" stage where only Patreons fans (a.k.a. subs) have access to the experimental stage and, if we follow the point given on the Patreon's page, the public (those who purchased on itch.io) gets access to the "experimental" stage 1 month later when it turns into "public" stage.

That's, at least, the point that seems to be explained on the Patreon's page:

[Experimental], [Rough] and [Release] builds of our original games at least a month before public releases.

then later, it's written :

Public builds don't do the current visuals and features justice but you can play them on NewGrounds and Itch.io!

If I'm wrong, then I'm sorry. That's all that I could find.

Thanks a lot for the comment!

Yeah, I couldn't add audio feedback to the souls burning up or making it (nor add an effect it) which was planned to be added by the 2 last days of the Jam during which I had a lot of "fun" fixing some problems within the sequences of the rings and the not-finalized scoreboard. (If I didn't worked on those rings, there were quite a few problem whenever a soul was hit on the side by a moving ring.)

The biggest issues I had with the audio feedback for the souls was around having one that is neither too silent nor too loud because, sometimes, you could have 6-8 souls either burning up or saved within a single second. As such, I couldn't just add a "playOnce" whenever a soul was removed, but had to properly implement some ways of culling out overlapping feedback to a reasonable limit.

The commercial mobile version I'm currently working on has all those design and audio issues fixed. :D

I wouldn't say that I learned something new, but more that it reminded me that you should never believe everything will work fine even if you made it dozens of time in the past and it always worked. I tried to implement a saving/loading high scores system in my game which is literally just saving 3 Lists of 10 integers and because I tried too hard on making the high score "secure" in a certain why I'm normally used to use, I couldn't make it load it back in even though the save was successful. there was some error code popping out telling me that the list was not created (while it truly was as I could access it internally) and due to lack of sleep and having wasted 5 hours on debugging the crap out of that broken system, I scrapped the score board for the Jam.

To give an idea of how much I'm normally used at managing this kind of system, I have made a save/load system for an action RPG that save the data of 8,999 NPCs and 1 player and the whole system is quite solid in a way that makes data injection pretty much useless. (The save file can be edited, but even that comes with back-checks when the files are loaded and even saved.) And yet, in this case, I failed at being able to save and load (and use the data in-game) of 10 scores.

The answer will depend on how many people are working on a single project, what are their skills and knowledge and what tools are in their hands for the Jam.

Both have their PROs and CONs.

2D allows faster implementation of the environment, basic physics and is far easier and faster to produce a good correlation between the gameplay and UI as both uses a similar kind of rendering method.

3D allows faster animations, details' adjustments and allows an easy access to complex physics.

For example, I made a 3D game for the jam : https://itch.io/jam/gamedevtv-jam-2022/rate/1539775

I could have worked on a 2D version of my project, but I would had to put more time in the animations than what I did in 3D. While some part of the game would have been easier to implement in 2D, the perspective of the game would have been affected in a bad way. Ironically, the commercial release I'm currently planning for the project I submitted for this Jam will actually be looking a lot more 2D as I'm not restricted by time anymore.

Here are 2 tricks to overcome the issues with bad memory allocation:

• Run the game in private mode. This ensure that, when you close the tab/client, all memory (which are allocated in a closed memory box) gets properly cleared from the system' memory. In the case of a game with a saving feature, you will not be able to save anything though unless the saving feature is connected to a server (which I doubt anyone had time to do it in 10 days). It won't help with issues about GPU though, but will help with issues with CPU and general memory allocation.

•When closing the browser after playing, open the task manage (CTRL + ALT + DEL) and check if it's still opened in the background and look at what is taking all the memory. There could be something that was launched to run element in the WebGL codes that doesn't close properly.

There are other ways,  but that's generally the 2 things anyone can do with ease.

(1 edit)

Thanks a lot!

Indeed, it needs a lot of polish, redesign and better planning and I'm already taking notes about how to make it a lot better. (I planned on taking 2 days off from any work that I can avoid, but my brain is just telling me "Nope. I'm working whenever I feel like it!")

I'm thinking of making this into a mobile game, which obviously has a very different kind of screen size and input source/design than how this PC version ended up as. Long story short, the game view will be quite different, but the general concept of the game which is about souls of the departed moving toward the Totem to be reincarnated will remains. The biggest issue I had with the input I implemented in this 10-days version is how inconvenient the whole 360 degrees ring is when it comes to selecting them and rotating them. It would be an even bigger nightmare on a 8"+ mobile device (as not everyone has a 12" smartphone). Hence, I'm planning on having the view set like a side-scrolling view making it looks a bit like Plants vs Zombies, but with a reverse where you goal is to make the things reach the goal end while, on the road, there are trap-like things you can move around. The ring-like setup would remain, but not on a multi-leveled-overlaying setup like we see in this PC version. the step-like setup is just a nightmare to manage with the soul moving up and down on each.

Souls will have an actual forms (types) and various types would have various "abilities" (good or bad).

The totem will have customization which will affects small parts of the game like the chance for certain types of grounds pieces or traps or even affects ghosts' behaviors. (An example I got recently would be that each Totem's piece with the gold material would raise the speed of conquistadors' type of ghosts or something like that.)

As you can see, there's a lot going on about the commercial version of this project that will start soon. Hope you'll like what's coming up!

Thanks again for your comment!

While it's not my first Dev Jam, it's the first I have worked solo for 10 days straight in the middle of Freelance work and, for 1/3 of it, while having a full time job. I worked around 78 hours in various stuff and jobs this week. I just slept around 6 hours right after submitting my project for the Jam.

If you want a good idea about what to do at the end of a Jam, here's what I'm currently doing:

- I ordered a bunch of food. Enough for 2-3 meals. (Note: I'm living alone. You might have to limit it to a single meal if you're in a family)
- I'm sitting playing on the PC or watching movies/shows for the next 48 hours
- IF my customers contact me, I work, but I do nothing else work-related.

I don't touch any game development or web development for the next 48 hours and limit my work to the bare minimum.

I'm finally done with the project or, at least, I reached a point where I consider the work "passable" for a 10 day Dev Jam.

https://creations-maxo.itch.io/bahoo

I haven't slept in the last 24 hours. Started working this by around 11h00 am yesterday, had a bit of other freelance work late, returned on this after, had major issues with simple stuff that normally works like a charm (stuff I made like dozens of times in other projects). Ended up scraping many features for the sake of reaching the deadline. If you open the Source files (requires Unity 2021.3.1f1) you'll find remains of plenty of stuff tried to make work until just a moment ago.

By this point, I'm just too tired to think about it anymore and as I know I'll have work again later and I can't tell if I'll wake up soon enough to work on it later, I decided to end it here.

While there's a really limited selection of Totem Songs and it's truly repetitive, I have to admit that there's something in this that made me actually like play-test it multiple time... well only when things worked obviously!

It's too bad that I couldn't work on adding more tracks. Half of the Totem vocals are only playable with 2 (last) song ?? and ???? which are meant to be "2 vocal random 1 effect" and "4 vocal random with 2 effects".


Well, I'm off to get some ZZZ!

See you all around later... or someday!

(1 edit)

I started making models for the rotating pieces (a.k.a. maze paths) and once I was done with about 10% of the pieces, I decided to simplify the process at least for the Jam and the paths will be done purely via the textures of the pieces. It's much more simple and faster to just draw the paths than modeling them. The Souls uses invisible nodes I set on the pieces' prefabs in advance, hence the paths (or normally the model) are purely cosmetic which is why I'm taking the quick route on that one. 

Edit - Once I was done with the pieces and got them ready for 3D painting (UVs and layout-wise), I made a quick logo for the game.


I'm taking a break for today so that I can get into it and be done with the soul + maze tomorrow. :p

Ba-ho's animations are finished and the gameplay-related element to it's animation are done too. The controls (inputs) are all done and can use the mouse and/or keyboard or a controller. The ring system is done on a physical level, but I have yet to implement the souls and their behavior. I also got to create the rings' paths.

The ring shown above display the selection. The highlight 3 rings closer to Ba-Ho are the rings that rotates when left or right is pressed. Pressing up and down change the rings selected. There are 3 possible difficulties which, for this jam, will fix the number of rings controlled by the player. Easy controls 1 ring, Normal controls 2 rings and Hard controls 3 rings at a time, which makes it harder to set the souls' path properly. The souls system spawn a random number of souls on the outer ring which move following the path (not yet visible) on the rings' pieces. Each soul has limited life time before it has to reach the center-most ring.

When a soul reaches one of the piece on the ring next to Ba-ho, it stays in that position for a short while before being absorbed and send toward the sky. While it can't die once at that position, souls that collides to another soul fuses together and count only as 1 soul. Obviously, the goal is to save as many souls (out of an finite number of soul per match) as possible.

What's remaining to do are:

• Recording me doing Ba-ho vocals. It includes only 5 vocals, but it might requires a tiny bit of work to make them sound good.
• Create the pieces' possible paths of each rings.
• Create the souls & their behavior (a.k.a. Soul System).
The catch is that while most ring pieces doesn't allow a soul to move back on an outer ring from its current ring, some some rare ones does allow particular move back and forth. The outer rings have more "path" variations than the smaller rings.
• Add the UI for a better look and seeing the Soul Score as well as the few settings and option in the game.
• Making a main menu and a game's logo.

I'm trying to be done with the pieces and Soul System by the end of 27th. The UI and Main menu can be done in a few hours at most.

I did implement the basics to allow the player to change certain colors in the game in case some people can't see specific colors and, if I have some time to spare, I would like to also add an option for a visible effect on Ba-ho to represent its vocals so that people who can't hear or can't play with sound (or simple hate Ba-ho's voice, a.k.a my voice) can still play without any issues.

I mentioned it in another post.

If the assets are coming with the game engine internally and are not part of the source files you share with the project, you can use those assets. Some version of the RPG Maker use internal assets like that: The actual images and sound files are stored in the install folder of the engine and loaded from that location. Hence, nobody can access those assets without having the game engine and, also, those can't be used in another engine due to their limited license.

If the version of RPG Maker you're using includes those images or sound files IN the project folder (a.k.a. source files), then you can't use those as those are actually restricted from being freely shared online. Redistribution of the RTP assets is restricted with every version of RPG Maker that gives free access to the included images and sound files.

In other words, if you can open the source project file in RPG Maker just fine "as-is" without those RTP assets on a separate PC, it's ok.
If you try to open that project on another PC and it tells you that some files are missing, then you're out of luck for those RTP assets as they can't be openly distributed like that.

I'm currently working on the ONE thing that requires quite a bit of work with its animation: A singing totem with 4 freaking heads. There's about 500 frames of sequenced animations and I'm at the 310th frame done.

I could have done a much better work on the model and the armature/bones, but I'm saving that time for the new gameplay mecanism I just revised.
(For the commercial release for the end of next month, I'm planning on having a system to customize the totem, hence that one will be scrapped.)

The new gameplay mechanism is a mix of Tetris' controls and sequences and Snake set in a Maze where you goal is to guide souls of the departed into the afterlife.

Long story short, that totem is Ba-ho, a guide that has a flame above its head that attracts lost souls in the Ukhu Pacha (Inca's underworld). Think of it as a representative of Pashamama, Goddess of fertility that guide the souls back to Kay Pacha (Inca's world of the living).

I don't think I'll be able to reach that far in the project by the deadline, but I would really like to be able to bring in the Supay, demons that would stop the souls in their track.

(1 edit)

For overlaying UI stuff that should appear in front of everything else (but has to be within the world scene), I usually use a separate camera with a higher Depth than the main camera and set that separate camera  with Depth Only for its Clear Flags. I set that camera with a culling mask that only display layers with the stuff I need to display in it and turn those layers off on the main camera. (You can set that secondary camera as the children of the main camera if you move the main around.) You can set that secondary UI camera as the camera for your World Space rendering UI.

For my project, I'm going with a more puzzle/mechanism approach than anything that's like a story or even player choices (outside of the player's inputs/gameplay).

I made a working prototype (3d models, board generation and rules, pieces moving as expected, etc.), but I though of a new better way of making it so I'm currently remaking the prototype from scratch.

I must admit that the theme "Death is only the beginning!" made me scratch my head a bit about how to properly implement it into my idea. Not that it's hard (far from it, it's actually quite easy), but it puts too much emphasis on a part I wished to subdue from the setting in my game.

To put it in simple words, my project is giving the player the ability to manipulate moving pieces which are, ultimately, offerings to a singing Totem (a divine physical body of a god). While to follow this Jam's theme, I'm forcing a bit more emphasis on the offerings as being sacrifices instead of just gifts, I'll move away a bit from the darker setting after the Jam for the commercial release. (The gameplay remains the same, but the setting changes a bit.)

I'll most likely be more active on the Jam by the 23th as I'm currently in the 2 last days (today included) before quitting my job at a general store. The reason for me quitting are many, but it's ultimately due to my health which render me unable to continue that job without worsening my situation over time.

The only reason why Unreal and Unity are mostly mentioned around is because they gives a free prototype bundle (package) for Unity and, obviously, Unreal is popular.

The only thing you got to remember is that the assets you use should be made by you or on the public domain. This means that, for example, you cannot use the default map pack or characters or musics or sounds that comes with certain version of RPG Maker (this is just a good example I know). Certain engine includes the default files IN the project folder when a new project is created while other has it included in the engine's installation folder. As you got to share the source files (the in-engine folder that contain your project), those default assets might come with a redistribution restriction. If the default assets comes within the engine itself and don't have to be included with the project's source files, you can use them.

To put it in a simple way, if you can't use an asset that comes with an engine in another engine, you can't use it for this jam and got to make your own. That's usually a good way of identifying which assets can be used or not. If there's no restriction on the included assets and they only give it away as part of the public domain (only a few engine does this), then you can use those assets for this jam.

For example, Unity comes with default assets for primary models (cube, sphere, capsules, etc.) the UI (textures) and fonts for the in-game text. Those comes within Unity's installation and are not included in the project folder itself. You can use those. Certain version of RPG maker generate a list of sounds and musics (.wav and .midi files) IN the project folder every time you create a new project. Those CAN'T be used as they are restricted when it comes to redistribution. (It's in the legal wall of text you accept when you install the engine.)

2 things would make it clear if it's allowed or not:

1) Did you write those codes?

A better question would actually be "Do you understand everything about those codes?" If you can answer "yes", then using existing codes is allowed as long as you properly implement them in your project. (Or at least, it's what was explained around.) Ideally, you should avoid just using full bundle of existing codes and only use the lines you actually need. For example, there might be questions if the codes includes notes about features that are totally not in the game or store data that is unused and irrelevant to the game itself just because they were in your base code at the beginning. You should take the time to clean up the codes before submitting your project at the end.

Do you really think that you got time to make a bunch of events and an inventory system (meaning a whole database of items) for your project in only 10 days?

2) Does those packs includes full systems with assets or are they just codes to build new ones?

Using existing lines of codes is allowed, but using full-made systems is not. For example, you could use a radar system, but then you will have to do all the visual image during the 10 days. All the UI, images/textures, mesh, animations, etc. has to be either made during the 10 days or be available on the public domain for everyone. You should also watch out with those sounds unless you made them yourself or you know they already came from a public domain listed source of assets.

This returns to the 1) above with an inventory system. In 10 days, I doubt you'll have time to make loads of icons (and, if applicable, meshes) for items on top of implementing an actual usage of items.

Using existing codes is allowed, but using existing models, textures, sounds, musics, etc. that are not on the public domain is not. (Or at least, it's what been told around.) You can't just modify existing stuff you found online either. Ultimately, all the asset have to be made during those 10 days or be on the public domain.

I'm not part of the judges, but I read around and those are the general points about the question. If I'm wrong, I would invite any actual judge at specifying whatever rule about this.

"Source" is basically the project's folder you created and used to create the game client's build. For example, with Unity, it's the folder that contains the .vs (hidden), Asset, Library, Logs, obj, Packages, ProjectSettings, UserSettings, .vsconfig and a bunch of .csproj files (and a .sln files with the project's name). To put it in simple terms, it's what's required to build a full working version of your project directly from the engine client itself.

It doesn't have to includes original sources files in foreign formats if those aren't used directly in the engine. For example, files like a .ai (Adobe Illustrator) to makes .svg files or .psd(Photoshop) to make the .png or .jpeg or .tiff files are not necessary. If you use .psd files as-is in the engine (like Unity that allows it), you HAVE to includes those, but if you exported the files as another format to be used, you just have to includes those exported files. It's the same with audio files such as original recordings and files made by particular audio editing software. If you recorded yourself and edited the sounds, you don't have to include the original recording nor the specific files generated by the editing software that contains the editing (and may requires a paid program), but only the result files (.wav, .mp3, .midi).

There's a kind-of-gray area regarding paid tools allowed which allows you to use paid tools as long as you don't have to include said tool in your project. For example, if you can make your soundtrack in Music Maker with paid sounds effects as you don't have to include the Music Maker's file, but only the MP3 (.mp3) or Wave (.wav) files resulted from exporting the soundtrack. This is why they give the example of Gaia which is a paid asset that allows you to generate Terrain Mesh data (doesn't require Gaia to use anymore) as long as you remove Gaia from the project's assets when submitting the sources files while keeping the resulted Terrain Mesh data files.

From what there has been mentioned, all members in a group gets a free course as long as it's within reasonable. Team with 10+ members might be a bit overkilling it unless in a specific situation and you should check the other posts about it. I have always worked alone so I can't tell how to "make" a group for submitting a project on itch.io, but a safe bet would be to include, in your project, a credits list including their itch.io usernames. How the free course will be distributed is yet to be known, except that people will get it after submitting. Maybe they will send a message to the group leader (the one who submit the project) which will allow you to reply a list of GameDev.tv account emails and which course each of those emails can get unlocked.

Just to make it clear, I'm not part of the group managing this Dev Jam. It's my 3rd one. I did one like this one (but a 1-year dev jam which I did within its last 2 months for fun), 1 closed 24-hours Dev Jam (the kind which you CAN'T prepare ahead since you work on someone else PC) and this is my 3rd one. (The main reason why I don't participate in many Dev Jam is because I live in Quebec in Canada and the laws here for contests are managed by a government's group called Loto Quebec which make it relatively impossible for any international contests to allow the it to be run in that province, unless the prize is non-monetary or educational. To put it simple, if the prize is either monetary or of a greater value than 500$ CAD and is not educational and the contest is not to fund a non-lucrative registered event, the contest management has to pay 50% of the 3 main prize values in a fee. If you look at any international contest with such value in prize, you'll often see "Excluding Quebec in Canada" in the condition. As this contest has an educational-based prize, I can participate in it.)

To give an idea of how you can prepare for this kind of open Dev Jam, I'm already done with the general concept of my project and timeline for those 10 days. Considering how long it took me to build up the idea, I saved around 3-4 days of none-productive brainstorming and, at this moment, I got a really good idea of what it will be like. Saving 3-4 days out of 10 days is insanely big and can make an huge difference. I took notes of what kind of menu, inputs, gameplay element the game will have. I also got a few potential ideas depending on what kind of theme will be revealed as my idea can be converted in almost any kind of themes relatively easily. (I do have one favorite kind of setup if the theme allows it, but that will depends.)

My idea currently uses audios cues (and visual cues) to generate the soundtrack and the gameplay is based on it. The concept allows a difficulty selection system to be implemented only with a few lines of codes. I already have looked and downloaded a bunch of images online for references as my idea of the visual style follow a specific kind of look. (It might be for naught if the Jam's theme is too much specific or restrictive, but there are barely any chances it happens.)

As I find my idea really good, I do plan on following up, regardless of the results in the jam, with a commercial mobile release of it with more features so if it wins, it's only adds more onto my project for the next 1-2 months. That's the kind of possible follow-up you can find with these kind of Dev Jams contests. :)

I only wished to add a bit more variety to the posts around and giving some tips to those who are starting with their first jam.

In less than 9 days (from this post), the theme will be displayed and we will all be able to start jamming.

Have you though about what kind of game you'll work on yet?
Even without a theme, you can still think of the kind of game you'll be working on and that's applicable before the dev jam even started. A theme usually doesn't decide what kind of gameplay you'll be working on. Kinda like it's possible to have a racing game of any kind of story/setting/styles or having a fighting game with any characters, knowing what you'll be working on ahead is crucial at making the experience a good one instead of just a stress-filled bad one.

I already have 2 kinds of games and 1 partial kind of game in mind with notes of each on notepads I have around. Depending on the theme, I'll select the kind of game that fits the best in my opinion once said theme it's revealed.

Have you looked online for sources for open source assets yet?
There's nothing stopping you from looking and downloading open source assets ahead of the start. Last thing you want is to waste hours on looking for generic stuff you could have found days before the jam. The most common assets dev jams devs usually lost the most time on are audio files such as sounds. Open source sounds aren't always good one or lacks in quality and, in many case, might not even fit with your needs so having a bank of those ahead of time can save you a lot of trouble. Obviously, you don't have to download everything available online so you should, at the very list, make yourself a list of bookmarks for sites (or search results on sites) for your particular needs you think you might have during the jam.

There are a few links on this discussion board you can look into. You can also search for your own sources too.

Have you prepared yourself in real-life for the devs jam?
Usually, everyone has a life outside of the jam, so it's never a bad idea to prepare yourself for the jam. Make sure you got food available for those 10 days. Make sure your coworker knows what you'll be getting into. If you got a family at hand, explain to them what you'll be working on. Not only they might help you (alleviate the family-life style), you'll be their hero once you're done with your game. They can be good source at finding issues you might have missed in your project too.

Practice while you can.
If you're not that much occupied yet, you can work on ideas and concepts ahead of time. There's nothing stopping your from creating a prototype of your project right now and test things out prior to the start. Kinda like how an 100m athlete does practice runs all the time and not just during competitions, keep practicing your devs skills so that, once you're in the competition you know what you're doing and avoid wasting time on "what if" and "how should I do it" questions. True, once the jam start you'll have to start from scratch, but the hardest part of game development is actually having a clear idea of how the game is played and how it's coded behind. If you already know how it's played and already wrote your own code for it to work, you just have to write it again during the jam and you'll have more time at adding more cool stuff into your project.

Set a proper time sheet and workflow
Let's be honest, we all hate looking at a clock while working on anything. Time either goes too slow or too fast. This is why you should prepare a time sheet with your main goals set within the 10 days frame and think of how you'll achieve those goal (workflow). How many hours per day will you work on the project? How much rest will you have? How much time you need for each steps? What's the B plans in case you fails to reach your goal, if any possible? 10 days is really little in game development and you might consider actually having 8 days since there's nothing telling you that everything will work fine when you'll build your game for submission. You might loose 1 or 2 days on that alone!

I know... it happened to me twice out of 3 devs jams I worked in. Issues with unknown limits within the core of the Unity engine generated major game breaking issues in my project only on specific kind of builds.

A tip for submitting your game source and build
When submitting your build, make sure you clean it up as much as possible. In the source, you don't have to includes the original prepared source files if they are not used in the engine itself. Clean up any files that are NOT in use. You might think that the engine will clean up the unused files when building the client files, but that's not exactly true as there's a particular setup to follow for it to work and this setup can break your game. Having the build purged of all unused files makes the build faster with lighter files and it's easier to share your project source files. The judges don't need to see your 6 version of a file if you don't use those 6 in the result. If you use Photoshop's PSD files in-engine, turn those into PNG or JPEG or whatever you want that is lighter. Remove unused audio and image files. You might not know it, but both Unity and Unreal don't purge any audio and image files (even unused ones) because those can be loaded dynamically through scripts and their compiler aren't smart enough to detect dynamic references. (Well, there's an option to purge all unused files types by force, but that breaks 90% of the projects so I don't consider it an option.)

I would correct your statement from "lot of jams have turned into competitions with no prices, just a recognition that has no purpose nor use" as more like "lots of jams have turned into competitions with, as main goal, quantify the quality of the work and the skills of the developers involved". Nothings speaks more when job hunting in the field of the video game industry than a portfolio filled with contest-winning works as it shows dedication, skills and the ability to work and reaching a goal under a tight deadline.

In fact, there are head-hunters out there that are following any serious Jams for medium and big developing studios. Depending on cases related to the jam, it's not that rare for devs that display high rated skills to get contacted by those people. (It does requires that a dev jam developers have properly setup his profile and contact info, obviously.) In those cases, it's not much of a case of "who wins", but more about who seems to be exactly what a certain studio is looking for.

Another approach of the jams is that it's actually one good way of promoting an early PR for a new project. Obviously in this case, a 10-days devs jams isn't really enough to make a long-term oriented project, but any 2+ months jams with any form of professional and well published coverage can do wonders at bringing a crowd for the launch of the actual full game. When you win a dev jam with a project that has potential for an actual commercial release if worked on further, it's one of those choices you got to serious think about.

Obviously, in the end it's all about having fun anyway, right? And some people have more fun at competing and winning than doing the actual tasks to compete, hence why eSports have become a lucrative thing. The same exist within the devs community where winning a dev jam is just another way of feeling the adrenaline rush of a victor.