Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Bubuche87

6
Posts
A member registered Aug 29, 2019

Recent community posts

In the description of bfxr it's said that it's based on sfxr, but it's a bit improved etc. 

They don't hide that. And yes it's a really good tool. Actually, I tried to (and failed to) create a protocol like for midi, but using values of bfxr instead. If you already used sfxr, you probably noticed that it's values (ranging from 0 to 1, "min" to "max"). So, the description of a sound is pretty small (smaller than would be any mp3 file for example :D). A small sound unit, yet pretty rich and versatile.

What I wanted to do was a sound synthesizer that would perform the same task as bfxr (or sfxr). So somebody doing a game, for example, you just send a small sound unit (the values) to the synth and obtain the result.

And so every game (in c, c++, java, c#, go whatever) could have such sounds (because it's a protocol, there is nothing to link, it's a third party program). 

I always found very weird to use mp3 (or other complexe audio format) for such sound effects.

It's hard to say, but I'll not be able to release something on time.

I've been too ambitious, and I faced a problem that took too much time (and is still not solved).

However, even if I'll not be able to participate to this game jam, I'll go on on this project and try to finish it. And I'll release it when it'll be over.

(I don't have an internet connection when I can code, and I can't code when I have an internet connection, which makes solving problems difficult).

What I wanted to do: a "star fox"-like game. It would have contain enough "destroy this, destroy that" stuff to allow me to participate under the "destruction" theme.

What I wanted to have : a real game engine, which would have allowed people to make a greater game, with more assets, more enemies, more sprites ... more stuff. So, I needed performances. Going the "1 pass per object per material" wasn't an option.

What I have:

I can render the whole scene in one render pass. 3D objects are loaded from "obj" file, but share one mesh, one shader ... from the point on view of the graphic card, they ARE one object. I do one glDrawArrays to render them. 

I can rotate and move each object individually, I of course I DON'T send all the datas every frame, I only send what changes. Basically, I store on each vertex an integer, which is a row in a texture which contains transformation datas for the object.

Behind, I need to have one compact mesh, no matter what object I add to (or remove from) my scene. When you only add elements, it's easy to have one compact mesh. But when you also remove elements, you need to fill the hole (by moving triangles definitions) and still keep trace of which triangle belong to which object. 

But an obj will also use textures. I made an editor (in java) which allows me to edit a "database" (images, fonts and stuff) and then export them to c code. It does create an atlas + the code to autoload it to gpu + constants to know where each sub-image is in the atlas. So there is no need for libpng (but still need for zlib). The object is loaded, images are resolved against this atlas and in that way I can put correct datas on vertices.

But an obj use tex coords with ranges going outside of [0, 1] (to have auto tiles). So, I upload materials (of the mtl file) on the gpu, to correctly loop on sub-images. 

I have a lua script integration. The idea was this one: star fox is basically a rail shooter (with an aircraft). So I need a way to script event. I use the term script as in a movie. "then do this, then after that many time to that" etc. This is what the script can do : create object, and issue orders to them. Each order will take a time to complete, and then the next order will be processed etc. An order can be "go there", or "change model", or "go in front of this other element", which will be used to pull enemies in front of the camera (even if the camera is moving, the enemy will perform its dance as if the camera would be standing still).


All of the, I have it. Except this last part in bold. It involves quaternions or matrixes. 


What I DO NOT have

I still need a physic engine. However, I know exactly how to do it. I wanted to do it right after this script thing, but now it's too late. 

I will go the easy road. The script (lua) will be able to define a physic shape to the element. The shape will be an stl file (which is not hard to parse but even poorer than an obj). I'll store the radius of the shape, and the maximum axis-aligned bounding-box (AABB).  After that, the naive approach should be enough : first test if there is a sphere-sphere collision (easy) then test if there is an AABB collision (easy) then depending on the nature of the object, perform the correct test. It can be either ray-3dshape (if I am testing a laser vs a ship) or aabb-3Dshape or sphere-3Dshape, which is enough for player vs environment and player vs enemies.

I don't need anything more than collision detection (no collision response, torque or whatever)

I also need to solve this quaternion/matrix problem. I am really bad at this kind of stuff. 


And, because we are talking of a starfox game, I also want and "explosion" order. The idea is as follow : 

1/ take a random triangle of the model (easy, I have its definition).

2/ take a random point of the triangle (easy, it's interpolation between 3 points)

3/ add a sprite there.

Repeat this randomly over time, and you have explosions.


Well, anyway. I do wish good luck to all remaining competitors.

(1 edit)

I am gonna C, with lua for scripting events. 

(with sdl and opengl)


EDIT : for people using java, it's not too hard to play sound so if you have too much time you can embed sounds. 

Of course, sound like everything else has a licence, but you can find free sounds (CC0 and cc-by sounds) on opengameart. 


But there is also bfxr (which sadly requires flash).

I don't know if I can post a link here. But you'll find it on google with this word. . Anyway, you can easily create sounds just by using the "random" button. It goes from "grab a coin in mario" (the sound) to "a sliding door opening" or "an alarm" etc. 

And the website says: "You have full rights to all sounds made with bfxr, and are free to use them for any purposes, commercial or otherwise." 

So, after a hard day of coding, you can still sit doing nothing but listening randomly generated sounds.

I think I remember you can export them to a standard sound format. And it may be worth it to pass them through audacity to clean them a bit.

Ideas (I don't say that it's possible to implement any of them in the given time. It's just my intuitive ideas about this theme)


Immune system. Destroy the invader, do not destroy non-infected cells. In real life it's based on "antigenic markers", i.e. molecules that are not present on your non-infected cells. In game, it could be a 2D game with cell with small geometric forms and colors at their surface. The idea is : small and very similar. So the user would have a very short time to decide if the cell must die or not. 

And you can widen the idea from this (for example instead of destroying the cell instantly you'll give the order "destroy" this, and immune cells will come to destroy it. So you have time to realize you made a mistake, but the order is still there. Then you have to select each immune cell and click "stop attacking !" to prevent the mistake to realize. But it take times).


Other idea. You have a bazooka and a slow-motion device (a slow time down device). So you can do rocket jump, but also destroy part of the environment to make obstacle on which you will jump or do rocket jump etc. 

Think of super meat boy, but with a bazooka and destructible environment. The goal being to reach a certain point.


You can be imaginative on the theme, but I am not sure it will be accepted. For example you can make "destroy" and acronym.

D.elete E.rase S.uppress T.erminate R.avage O.bliterate and then Y.awn.

But I am not sure it would be accepted.


And in a more classic approach, I think you could do anything based on a wasteland/post-apo. Even better if the goal is to destroy the last remnants of the civilization for X or Y reasons.


I could just go on all the day long.

(I am not match to find stupid ideas :D)

And if the question is not "what would you like" but "what do you think it will be", I would bet on either 

"emulation" (which is not only related to emulation of gaming console or even pc)

or

"building".

And on the last one, I also bet for the next codejam: "rules" (discovery => building => rules (as a dictator XD))

Each topic being quite broad.

Is it possible to know the theme first and then decide to participate or not ? 

And about the question : something generic like "fantasy" would be great. 

(what ? I am not fun ? But I am pragmatic).