I have for example the idea to generate some terrain scene using libnoise and directx and I think that I at least would have to compile a dll for libnoise, would that be allowed? I hope that fx files are allowed too? If I understand the explanation right all that is allowed, I just want to be sure...
it would be great if it were possible to create an empty model in the engine which then could be filled with a mesh buffer generated by code. as far as i know this isn't possible at the moment?
using directx to draw your own geometry somehow defeats the purpose of a game engine.
The idea of this contest was to create something like 2D games - or other useful apps - from only text and monochrome bitmaps. For instance, a PONG game can be created without any external files.
Am I right that the rule is we just deliver a bunch of c,h,fx files and nothing else? Whatever I do within this code is not limited as long as no graphic files or models or other text files are incldued in the project from start?
What's the difference between a 2D game and a 3D game ? I mean from a Lite-C point of view ? Whilst I can see the difference from a players perspective, I don't understand the difference as far as Lite-C is concerned.
"Am I right that the rule is we just deliver a bunch of c,h,fx files and nothing else?" Yes, you are right.
"What's the difference between a 2D game and a 3D game ? I mean from a Lite-C point of view ?" A 2D game runs in a 2D space, not in a 3D space with a camera that looks down. You can picture a 2D game as a drawing on a piece of paper while a 3D environment would be (let's say) your room. On top of that, a 2D game can't use the psysics engine, the collision engine and so on.
It is pointless to forbid external files.. I could dump a file and embed it into my sourcecode, while I extract it on startup on disc. I would'nt wonder if there were entries with executables being ridiculous big because of embedded textures, music and so on.
I would'nt generally forbid this kind of stuff, but would add a maximum filesize for the executable, maybe max. 4 MB or something like this? Or is the Lite-C compiler restricting the max. size of executables?
If I would enter, I would do definitely something 3D related and since I have not the knowledge to generate sophisticated 3D meshes, I would dump them into my sourcecode. Textures, shader related images, heightmaps, particles, etc. instead, would I generate by my own algorithms. The same for music.
i already written functions to create gradients, outlining images,color tinting, drawing simple shapes(a star and a diamond so far.) and such.
Embedding meshes/music/textures and such is not the point. For my understanding the point is to create things in runtime.(though i dont know how d we be able to create sounds at runtime.)
Can we create something like an particle editor, let the user load a particle file from his HDD and then create a .c file with the code for the particle effect? Edit: And later load the generated .c file again to edit the effect?
In principal any array is some sort of buffer. So if I mix some values in an array and then sort them in correct order it's no buffer anymore, if the order is correct it is?
What is alloeed and what is not? Limit code size to 50KB or so and that's it.
The idea of this contest was to create something like 2D games - or other useful apps - from only text and monochrome bitmaps. For instance, a PONG game can be created without any external files.
Back to the roots, I like it and have some ideas for the contest, thanks again jcl. Arcade games is the reason and not the data dumping, maybe.
Imho there are good reasons to use buffered data to some extent, especially for such a contest. I agree that it defeats the purpose if we're allowed to store 10 meg models inside the source, but for small stuff which cannot be created on the fly this is a great feature.
- Can we use plugins? - Yes, but only when including the source. - Can we create 3D objects with some tricks? - Yes. - Can we define the content of textures, meshes etc. in the source code? - No. You can use images and meshes, but their content must be procedurally generated at run time.
Then I'm out, I need some data buffer for a sound to realize what I was thinking of (procedural creation is not possible I think). Maybe I'll create the project without taking part at the contest then.
Is it allowed to save a bitmap temporaly. Or does anybody now how to implement an "on the fly" bmap into 3d space without this nice "can't open file" error.
Thank you for the kind words. I try to make the magazines as interesting as possible (even though sometimes I might miss the point completely )
"Is it allowed to save a bitmap temporaly? It isn't allowed to save an external bitmap. If you create the bitmap at runtime without using an external file (think "bmap_createblack") then you can save it.
Thank You, David! You've got a great game there and you've given us an extremely useful piece of code.
A predefined primitive cube, sphere, and sprite entity can now be created with ent_create.
if it is possible to replace the mesh of such entities with ent_setmesh() without any problems then i would probably do some kind of procedural landscape and vegetation generator (with l-systems).
Ventilator: You've got interesting ideas. If you ever change your mind and create something like Elite I'd be interested in seeing the result of your work.
CetiLiteC: You can use arrays, but you can't dump data from graphic files to text / source files. Basically, don't try to trick the jury by dumping external resources; everything has to be created at runtime.
Time for Conitec to implement the possibility of runtime creation of sound fx. The contest rules clearly show that the engine's capabilities are too limited here
Hmm...And is it okay, to generate all the needed ressources at the first program-start? So the Program generates all the Subdirectories and the needed files at the first start, is this allowed?
Hallo again. Ähm, another dumb question. Is it allowed to create models, write down the vertex-positions in an array and link them with draw_line3d? It is not directliy an embeded model, but it isn't realy procedural. In fact, I could have imagined the model by myself, without modelling it before. MfG Patrick
p.s. I am a big fan of your Aum and JCL contest ideas (to be ontopic?)
The resources have to be created at runtime; in fact, the demos shouldn't use "resources" - they should only consist of a bunch of source code files. Creating entities at runtime is possible, as long as you don't use any external files and you don't dump the content of the entities to a file and load it from there.
What's about arrays where I store binary data without dumping directly an entity or the like? Meaning I still need to work with the array data to generate something useful out of it.
If I procedurally generate stuff, am I allowed to store a file format header in my code in order to generate a valid file together with my procedural data?
Awesome contest.. I hope I can find some time to join in, cause I'm swarmed with ideas on what to do..
Btw, jcl is right. Why try to bring in complex model shapes and music in a non-resources contest? I mean, that's why all the other contests before this one were for. Wouldn't it be better to concentrate on the strong points of a non-resources contest, instead of trying to.. buffer everything?
I couldn't help but get in the whole loop on how to cheat with getting models and textures in too, but tbh with the new ent_create instructions we can have our primitive shapes so i think i'm pretty much covered with that.. And as for sound effects and music, maybe try to procedurally create some midi files?
So.. here's my ideas.. Feel free to nick them if you like, since i don't think I'll have the time to do all, if any of them.. But I'll certainly try, once I'm done with Intense X Copper 1.0.
1) Lines 2
Continue on my lines game, but this time add weapons and power ups to make it less boring
2) Inverse Kinematics
Use primitive boxes to assemble a robot arm and make it move using real IK code. Not the most entertaining game, but I figured one could copy paste the small IK function and use it for his game. The function itself is a very optimized real IK code and the algorithm was given to me in my robotics class back in uni. To be honest, I couldn't quite figure out the physics myself, but I could still translate it to code and make a demo out of it. The pic is from my Ogre 3d implementation. If you're in a hurry, I uploaded my assignment report (21mb) which included full source code, screens and explanations for whomever might be interested.
3) procedural creatures
I'll probably won't be doing this one, so feel free to give it a go if that sort of stuff tickles your fancy. It's like a poor man's spore game. You let the user put together a creature using boxes, spheres, and being able to connect them together.. You now apply physics to it (ODE I guess) and use your preferred method (i'd use GAs and NNs) to train your creatures to walk (crawl, hop, or whatever), so they can move to the finish line (so i guess they'd just walk in a straight line from point A to point B) as fast as possible. This project would probably be ridiculously hard and not worth the contest prizes:/ Video is from the game Sumotori, which kinda resembles my idea.. It's 87kb big, so google it and give it a try, the game is hilarious...
4) Speech recognition
Or something like that.. I mean this contest screams for games or applications that don't need any graphics at all. Another idea would be a chat bot, that you can make basic conversations with.. Again, I'm probably just way over my head.. Pic is from the Eliza bot
5) Atoms game
Ever played this atari ST classic? Very cute game, which could easily be done with sphere primitives, and the AI for it would be an interesting challenge. Here's a link to an online version of it.
6) Gamestudio Crayons
I left the best one (and probably the hardest too) for last.. Have you ever played this awesome game? Maybe, if I could find (because I suck at physics to actually create one) an open sourced 2d physics plugin that I could use with A7, I could give this one a go.. If I do find one, the rest will be really easy.
And a question.. If I were to make one of these games, which one would win your vote?
the drunk sumo wrestling looks very funny. but i agree that for a contest like this it would be way too hard to do procedural creatures which learn how to move on their own. i think usually this is stuff very talented computer science students do for their thesis projects.
chipmunk seems to be a 2d-physics engine written in c. so it should be usable with lite-c? there even is a similar crayon game done with it. EDIT: i took a quick look at the chipmunk source. it uses some non lite-c compatible c features. so either you would have to adapt it a bit for lite-c (the source code only is about 120kb so it should be doable) or you would have to compile and use a chipmunk dll. i am not sure about what would be less effort.
there also is box2d but i am not sure if it is c++ only or if there already is some c-wrapper.
newton can be used for 2d-physics too with a 2d-constraint. but probably it's a bit wasteful performance-wise to use 3d-physics engines for 2d-physics.
Btw, jcl is right. Why try to bring in complex model shapes and music in a non-resources contest? I mean, that's why all the other contests before this one were for. Wouldn't it be better to concentrate on the strong points of a non-resources contest, instead of trying to.. buffer everything?
That's not what I want to do. Also the primitives are nothing more then built-in models (like ackfont.pcx), and I'm really not sure if those are allowed.
As mentioned before I don't want to buffer lots of graphics or something. I need two very short and simple sounds for my idea, but the capabilites of generating sounds are very limited in A7.
Now I'll probably grab some C++ source for a soft synthie and go with that one... well imho using DLLs defeats the contest idea more than a buffered file of 1k size and doing all the other stuff in Lite-C.
Also the huge question is "what is a buffer"? Generally any predefined array would be a buffer. Any text string would be a buffer.
For my idea I don't need much. It's not complex and 99% of it can be done perfectly fine without resources, but I need a "real" model (found a nice way for that now, though) in oder to use the mesh functions of A7... and such things are annoying. So with the current A7 state imho it's not possible to do 3d with engine commands (using D3D and work around this problem defeats the cotnest purpose even more, imho) as a NULL-Entity cannot have a mesh assigned using ent_setmesh. This restriction is very sad.
"But...so little text files aren't allowed, too? Also, when they've been generated at runtime, at the first game-start?" Only source code files are allowed.
If you generate something procedurally feel free to do that and use it any way you like it.
A small array that stores (let's say) 10-20 elements is ok; just don't dump a bitmap into an array and recreate it from there, etc. The general rule of the contest is to create something interesting out of nothing; the demos that try to trick the jury won't have too many chances to win.
Larry, you've got some great ideas! I have quite a bit of fun playing Sumotori
Not to play captain nitpick, but if 10-20 elements in an array is okay, then a game like atoms game, as represented by larry, is already impossible. There is a grid of 96 elements.
You can't ever generate a game from procedural creation only. If I want to draw a spaceship, it requires me to create a 32x32 array and fill it with static values. But as I understand, this is not allowed.
1.) I begun creating a prototype for the idea I have in mind for this contest. It procedurally creates bitmaps and artwork and saves them on disk so that I can use them with ent_create to ensemble objects, characters and level scenes. The way I ensemble those is partly hand-written and partly generate during runtime, but everything is done in the source and not through resources being buffered. The reason is, when I generate, let us say, an enemy sprite - I just want to load it via ent_create (I do stuff in 3D-space) while having it only once in the memory. The same for particles, etc.
2.) Once started and generated, can I keep the (generated!) content as files in the folder for an accelerated start of the game? I don't want the player to wait minutes until everything is done if he doesn't want to...
You can have huge arrays if you need to, but don't use them to store data that is dumped from bitmaps, etc. I wouldn't create a ship of 32x32 "pixels" - better use a smaller sized "sprite" (array) and scale it bigger.
"Is it allowed to create save-files and reload them? Or an editor that can create and reload files?" Yes and yes, if you create the saved data at runtime. Don't use previously saved data with your project.
You can save your procedurally generated sprites in the game folder and use them from there; however, the demo kit should not contain the sprites.
Are we allowed to stream music from open music portals like jamendo (creative commons licensed music) through a plugin? If yes, am I allowed to use the FMOD DLL to do that?
Im using the free version of Lite-C and I have to display the A7 Logo(logo_800.jpg) at the beginning of the game, how should I do that if I cant use external bmps?
question2: Ive got a 16x16 tiles map and I need to save it in a array(so I need 256 index´s),is this allowed?
question3: What about the options? Can I stored them in a txt file?
question4: Is it allowed to open the internet explorer with the winapi??
Christian: Yes, you can stream music from a website. If you want to use the fmod dll you have to include its source code.
Puppeteer: Sorry, it's a lite-C contest; nevertheless, you can use the free lite-C version to create your entry.
Ralph: You don't have to display the A7 Logo for this contest. You can have an array with 256 elements. You can store the options in a text file. You can open internet explorer using winapi.
GamerX: You can create bmps/textures at runtime and use them. Just make sure that your demo doesn't include any bitmap / texture before starting the game.
This is JCL's answer: "Can we use plugins? - Yes, but only when including the source". The problem with 3rd party dlls is that they can include all sorts of resources. While I know that you are a serious engine user, some might hide resources in their dlls. Send your project (including the source code for your dll) and the fmod dll. I will then download the dll from fmod.org and overwrite the fmod dll that comes with your project. This way, everyone will be sure that there isn't anything hidden inside it.
I have an idea but I'm not entirely sure if it is allowed in this contest:
A web browser programmed in Lite-C that downloads htmls and interprets them as would a normal browser. The TWIST is that it does interesting things with the content such as displaying it in 3D or animating it. It would also use special tags ignored by other browsers to allow pages that can be 3D environments/levels defined in an HTML-like fashion.
Would I be allowed to a) Download HTMLs b) Download models and compiled levels c) Use a DLL for which I don't have the source or did not create myself? (like GSTNet or the webaccess plugin)
That makes sense. What about A and B? I would think that downloading HTMLs that I didn't post might not go against the rules as they'd be more like a form of input than part of content.
Downloading html files isn't against the rules; however, running code on a website using the engine won't get you too many points from the jury. Using DLLs without posting the source is ok only when: a) They aren't yours, but they are well known and don't contain any other resources; b) I get to overwrite them with the latest version from their website, in order to make sure that they aren't altered or replaced with something else.
Are we allowed to use external save files? They aren't needed by the game, but it's nice for the player to save the game... Otherwise, I would tell the player, that he shouldn't shutdown the game before he had finished it... EDIT: sry^^ Have read your answer, george
I'm making a multiplayer game using A7 commercial (can't use A7 Pro's multiplayer features to start a multiplayer session in-game), so i'd like to make a separate loader application, to avoid having the user use .bat files to enter an ip and his name.. I'm thinking of either making this loader application using A7, or VC++ 2005. Am I allowed to use A7 or VC++ 2005 to make a separate .exe for my entry provided of course i also include the source files in it?