Not logged inOpenClonk Forum
Up Topic Development / Developer's Corner / Goals and todo
- - By Newton [de] Date 2010-01-19 02:30 Edited 2010-02-08 20:03
The text is originally taken from the gobby session from this monday. However, I edited and formatted it to complete the list.

Development goal


The goal is to create some weapons, useful tools and other objects which can be used in small melees and parcours. We aim to have a few scenarios ready with these kind of goals until the OCM in the last week of March 2010.
Probably, we will go into the direction of settlement, mining and production lines after that, but we will decide on that when it's time. This is something we can work out at the OCM.

Todos


For this goal to reach, certain basic features have to be completed. That doesn't mean that we shouldn't do anything else or anything more. These are just the necessary features.
Much of this is (finally) work for the scripter and also for the graphic artists (render the objects, decoration textures?), sound and music makers.

HUD
...needs to be finished and bug-free engine-side. Related items in the bugtracker are: #66, #62, #67, #98, #99, #100, #72

Basic controls and the clonk
  • Gamepad controls & the type of control needs to be chooseable in the frontend

  • Finish animations and new control behaviour

  • Meshes of items must be attachable to the clonk for animations



Goals
  • Race(Parcour): Extend the goal with the possibility of checkpoints. The clonks have to come by the checkpoints in the (right) order to win. Option to respawn the clonk at the checkpoint. Checkpoint could be e.g. a flag pole.

  • Melee: Last man (team) standing wins. If or how many relaunches each player gets, should be configurable (by script). The goal must work for teams, too.



Objects
  1. Items with which the clonk can overcome obstacles
    • Shovel (animation)

    • Loam

    • ...more items. Examples: Climbing hook, thrusters, staffs with certain effects, pickaxes, ropes, CX-like catapult. We didn't plan that out intentionally. If someone got solid ideas for this, he can implement it.

  2. Items with what one can fight
    • A (volcanic) flint to be found in the earth

    • A few melee weapons (e.g. also shield)

    • Bow (maybe with other arrow types too)

    • Musket

    • ... a few other ranged weapons or items


 
Scenarios
The Material.c4g needs to be ~complete. All typical materials from CR plus at least castle walls (stone/granite textures) and some other textures which might be useful in designing scenarios.
This will be the topic in some of the later meetings, when the objects have been scripted. During the meeting, nobody came up with concrete ideas for race scenarios.
Anyway, at this point at least this scenario should be done in any case:
  • Tutorial scenario
    • Would be nice to have a tutorial scenario that introduces each object/control mechanism one by one

    • Could start out with simple movement left/right. Then you need to jump. Later, you find a shovel, then loam, etc.

    • A message at every checkpoint, telling you what to do next


Artwork
  • Main menu background / Loaders

  • (Logo) / Upper board, Lower board



Misc
See bugtracker
Parent - By Sven2 [de] Date 2010-01-19 10:45
I might have a look at the tutorial.
Parent - - By Newton [de] Date 2010-01-20 00:22
May I move it to Developers Corner?
Parent - By Clonk-Karl [de] Date 2010-01-20 01:01
Yes.
Reply
Parent - - By Maikel Date 2010-01-25 16:57
I can't make it to today's meeting, So I'll give a short status update here. I have been busy scripting the parkour goal, it's working but some features are missing/incomplete. These are Team support(incomplete), Scoreboard(incomplete), Appearance (sprites now, maybe particles would be nice). On the disasters I am still stuck, these objects can indeed function as both control objects and the disaster itself, but it makes the interface somewhat messy. Maybe someone has an idea? On the melee stuff I will be working next week, I guess we keep the basic melee goal as in CR, and I'll create some rule/scenario script to allow for relaunches, scoreboard and other stuff.
Parent - By Newton [de] Date 2010-01-25 18:09
Yeah, this was left open last meeting. I don't really understand what is the problem. Look, it should be like this (e.g. volcano):

There is a volcano-disaster-control object. It is an environment object by category and has certain options to set. E.g. how often do volcanos happen. This object controls these events then by a timer. If the control object finally creates a volcano, it could either create a volcano-object which controls one single volcano eruption or it is done via an effect. (In the case of volcanos, I don't see why an effect wouldn't do the job)
Parent - - By Asmageddon [pl] Date 2010-01-25 20:28
I know this is probably not the place for this, but I'd like to request somebody to create a goal for me(as just jumping to it without knowing how to do it does not result in anything), these would be:
Treasure Hunt
Players get 1xAmount of held goal items points per 10 seconds, first player/team to reach specified amount of points wins
with GetHuntObject() you can retrieve object to collect(for example GOLD or ROCK)
Thanks in advance, if you do not have motivation to do it, then I will be gratefull if you will say me how to do it or point me to some documentation.
Reply
Parent - - By Ringwaul [ca] Date 2010-01-25 22:15
This should probably be in the bug tracker as a feature request.
Reply
Parent - By Asmageddon [pl] Date 2010-01-26 10:54
Well, I were not the one to say "I want something playable before march", I just want to design few treasure hunt scenarios, but I have no idea of how to script it.
Reply
Parent - - By Newton [de] Date 2010-01-25 23:42 Edited 2010-01-26 00:56
Then it would be more like "Hold the flag", no? Or should the GOLD vanish if collected?

Anyway, I can't point you to english c4script tutorials because I know of none. If you specify more exactly how the goal should work, I could perhaps point you to the topics that are of interest for the scripting of this.
Parent - - By Asmageddon [pl] Date 2010-01-26 10:53
Well, it is simple - every ten seconds player gets 1 point for each item he holds, I'll probably try my best at scripting it myself, but I doubt it.
Reply
Parent - - By Newton [de] Date 2010-01-26 15:48
Well, as I said. Sounds more like "hold the flag". So if one player has all inventory slots full of GOLD (and thats the goal), he just has to stand there for the rest of the game and then wins?

Anyway:
+ Look at the other goals in the repository to get the idea which callbacks (=functions) are required and what they do/what they return.
+ also, you will use: Contents, ContentsCount, for-loops, GetPlayerByIndex and more
Parent - - By Asmageddon [pl] Date 2010-01-26 16:07

>Well, as I said. Sounds more like "hold the flag". So if one player has all inventory slots full of GOLD (and thats the goal), he just has to stand there for the rest of the game and then wins?


Kind of, usually items will be stackable so he can have like ~10 in one slot, and the more points/items he have got the more other players will hunt him, so he cant just stand around waiting for victory :P
Reply
Parent - By Newton [de] Date 2010-01-26 17:15
For a stackable treasure-object, you should look at Libraries.c4d/Stackable.c4d and for an example use at Items.c4d/Weapons.c4d/Bow.c4d/Arrow.c4d. I also wrote something about that in the forum. You will only learn something if you try to create those objects by yourself (also by modifying existing objects) and then ask for more specific advice e.g. in #clonkscript (or #openclonk).

All in all, that goal could be fun, with cool scenarios. But it really shouldn't be e.g. GOLD because GOLD is not stackable. Better create your own treasure-objects. I can also imagine that there are objects which consists of different parts (like a broken artifact) and who got it all put together again gets an extra bonus (either for the winning-score or as a special ability the clonk gains if holding/using it). So there wouldn't be just a stackable "pile of gold"-treasure-object but different stuff too.
Parent - - By MimmoO Date 2010-01-25 22:35 Edited 2010-01-26 02:30
Todos for the week from 25.01.10 to 01.02.10

  • Randrian: Continue on making animations for the Clonk

  • ck: Solve display problems from the interface

  • loriel: Handle isolated things on the bugtracker

  • PeterW: Tries to write a league-script

  • Mimmo: Continue making races and improve Boomshire

  • Sven: Create Tutorias for the controls

  • ( i can only guess:)
  • Maikel: Continue scripting the Parcour-Goal

  • Ringwaul: Continue creating graphics

  • Zapper: Continue scripting the weapons-system + Initial Blog-entry



if i missed something, just post it.

here we have a link to the logs:
http://wiki.openclonk.org/w/IRCMeeting#2010-02-01
Parent - - By Randrian [de] Date 2010-01-25 23:03
Well, my nick should be written with the "n" in the end, or it sounds like the name of a girl.
Reply
Parent - By MimmoO Date 2010-01-26 11:27
oh, sorry for that >.<
Parent - - By Newton [de] Date 2010-01-31 17:20
Meeting 01.02.2010

In anticipation of that I won't be available this monday, here is my status update:

'Been adapting the documentation and the new blog to the sites design. I still have a problem with the content.php (as it links to .html instead of .php) and am awaiting advice on how I should install (or if!) this webnotes-addon where people can comment on pages of the docs. Also: Any person who wants a blog account should PM me but I can also give all devs accounts by default if you want (Sven, Zapper, Clonk-Karl, Mimmo and me already have one). Luchs is also interested in renovating the docs (a bit) and might already be on to it. However I am sure he could use some advice of the seniors who previously worked on the documentation (who is it?).
The docs are are both terribly outdated and hacky, partly because of the fact that it used to be created into CHM files - I am not sure if this is still needed.

I'd like to see a new website design - not entirely new but more adjusted to the graphics style of the game. However, I won't start anything there until we have some graphics like Upperboard, logo, menu borders etc. So this is a goal that i'd reach before the meeting too (having proper ingame graphics => redesigning the website). This is independent of the "homepage" task of Maikel though.

Also, after a discussion in #clonkscript with CK, I created a little binary-release. I deem a periodic binary-release as very important for 1. winning over some CR-Developers for the project and 2. to make it known better (first) amongst the clonk community. The current image of OC in the community is that it's just not yet in any playable state and that it is intern. (Which is of course right but this doesn't mean it is not yet in a develope-for state. Plus, we already got something exciting to show.)
It'd be great if you discussed a solution for secure, periodic (automatic?) releases on monday in my behalf.

I can't guarantee any productivity in the next week (exams) but I might take smaller tasks if there will be determined any unassigned ones this monday. Regarding this, I advice you to really have some smaller tasks available for all those people who would like to contribute something from time to time.
Otherwise if I'll find the time, I can start gamepad controls. Question for Sven2: Is the analog pad already implemented? This one I need at least for gamepad controls. Also regarding several gamepads - say the first connected gamepad is a SNES-like controller without an analog pad and the second one a PS-like controller. There should be something like ControlSets with GamePadXButton2 constants instead with fixed numbers like GamePad1Button2 because otherwise you may only e.g. connect the PS-controller as second controller.

That's it.
Parent - By Ringwaul [ca] Date 2010-01-31 20:26
Since I won't be there either, I should mention that my computer has been broken for a few days, and I've been working to fix this. Based on the specific problem it has, I should be able to get it running around the 6th-7th of February. Right now I'm using my brother's crappy computer, again.

Basically the only productivity I managed this week was testing OpenClonk (and it's controls) at a friend's house.
Reply
Parent - - By Clonk-Karl [de] Date 2010-02-01 00:21

> I still have a problem with the content.php (as it links to .html instead of .php)


Are there any references to "real" HTML files in there? If not then running a simple command such as perl -i -pe 's/\.html/\.php/' content.php after the build might do the trick. Another option might be to turn PHP preprocessing on for .html files on docs.openclonk.org, and keep everything as .html. Of course all these are just workarounds so if anyone knows a proper solution then even better :)

> Also, after a discussion in #clonkscript with CK, I created a little binary-release. I deem a periodic binary-release as very important for 1. winning over some CR-Developers for the project and 2. to make it known better (first) amongst the clonk community.


I managed to cross-compile the engine from Linux: http://arbur.net/clonk/openclonk-20100131.zip. So if we can come up with a (HTTP) interface to upload new versions (and maybe archive the three most recent ones, plus one each month) to openclonk.org we can get started with automatic binary releases. It's not yet decided where to run the build but londeroth.org, on which I have currently set up the cross-compiling environment, might be an option.
Reply
Parent - - By B_E [de] Date 2010-02-01 17:32 Edited 2010-02-01 17:36

>Are there any references to "real" HTML files in there? If not then running a simple command such as perl -i -pe 's/\.html/\.php/' content.php after the build might do the trick. Another option might be to turn PHP preprocessing on for .html files on docs.openclonk.org, and keep everything as .html. Of course all these are just workarounds so if anyone knows a proper solution then even better :)


mod_rewrite might do the trick, parsing HTML as PHP (this belongs in a .htaccess-File, it includes all subfolders):

RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php


>(HTTP) interface to upload new versions


What would you need? A simple script to accept and store POST-Files (private) and list them (public)?
Parent - - By Clonk-Karl [de] Date 2010-02-01 21:55

> What would you need? A simple script to accept and store POST-Files (private) and list them (public)?


OK so after discussing this in today's meeting I think the following is the way to go:

We want to have both nightly builds, and development snapshots. The former is a plain engine build which gets updated every day. The latter is an engine build plus all dependency DLLs and game content needed to run the game, updated less frequently, maybe every week. So we need a script running on openclonk.org to be able to submit a new build/snapshot (plus hg ID from which it was built) or a build log in case the build failed (or maybe we want to always have the build log available) from the build server. The script should then archive and publish them. There should maybe also be a package with the dependencies for the single engine build (I can provide that).

Are you up for this task?

Another thing to consider is how to protect it from unauthorized access. Check for the build server's IP address?
Reply
Parent - - By Newton [de] Date 2010-02-01 21:59

>Another thing to consider is how to protect it from unauthorized access. Check for the build server's IP address?


Certificates? Otherwise: Is there a PHP PGP module?
Parent - - By Clonk-Karl [de] Date 2010-02-01 22:03

> Certificates?


How would this exactly work? The client authorizing himself via a client side certificate? I'm not sure we need anything too fancy here, but just get the job done.
Reply
Parent - - By B_E [de] Date 2010-02-01 22:06
Identify him with a secret Get-Parameter?
Like http://openclonk.org/update.php?key=[longfancykeyhere]
Parent - - By Clonk-Karl [de] Date 2010-02-01 22:17
What's wrong with a simple IP check?
Reply
Parent - - By B_E [de] Date 2010-02-01 22:25
I didn't think it would be a static ip, and ips can be faked, I don't know how good PHP is and if it can be fooled. But in theory no problem.
Parent - By Clonk-Karl [de] Date 2010-02-01 22:55
Either way that's probably still something that can be changed easily later when the rest of it is in place.
Reply
Parent - - By Kanibal [de] Date 2010-02-02 16:29
Cool. How are you going to fake an IP, that you have gotten from your ISP?
Reply
Parent - By B_E [de] Date 2010-02-02 16:43
I just mean: You can't be sure that the connecting ip really is the perfect identification, since there usually is more than one computer behind it.
Parent - - By Clonk-Karl [de] Date 2010-02-03 22:31
Here we go: http://arbur.net/clonk/nightly.php

If I did not mess up setting up the cronjob (we will see tomorrow :) ) then things are supposed to work. Newton, let me know when you integrated the script on openclonk.org so that I can adapt the URL in the build script. The basic instructions to install it are:


Don't be surprised if there is no output. The script only produces output if there are entries in the database. If anyone wants to check the PHP for obvious mistakes please feel free to do so since I am not a very experienced PHP programmer. Also if anyone wants to make visual enhancements please do, but maybe wait until this has been integrated into openclonk.org and its style sheets.
Reply
Parent - By Newton [de] Date 2010-02-04 02:28
whoa :O
Parent - By Günther [de] Date 2010-02-01 22:30

> Are there any references to "real" HTML files in there? If not then running a simple command such as perl -i -pe 's/\.html/\.php/' content.php after the build might do the trick [...] Of course all these are just workarounds so if anyone knows a proper solution then even better :)


You just described the real fix: The content file is generated from the chm source files by a perl script, so that perl can just be stuffed into that file.
Reply
Parent - By Sven2 [de] Date 2010-02-01 21:39
Gamepad is implemented but not tested yet, so it's probably broken.

Multiple gamepads still need some engine love. I'd like to move that to some later date; we should get single gamepad support working properly first.
Parent - - By Ringwaul [ca] Date 2010-02-15 18:43
As per usual, I won't be here today for the dev-meeting (curse you, school!). So I think I'll just list off what I've done and what I plan to do.

Since last week till now, I have implemented a couple things. Firstly, I implemented mostly all of those random material graphics alteredarmor made and gave them a few basic scripts where necessary. I did all of this at one time, and I tested them, but I can't be sure if they are all properly working (ie: possibly misplaced vertices or somesuch). Obviously they don't always draw properly due to that SetGraphics("Armoured.3") bug.

After that, I modelled and scripted a few usable objects. In temporal order, I created the Orb of Telekinesis; a handy little item theorized by Newton which can lift objects with magic (or something like that :P). After that, I created another idea of Newton's: the boompack. The boompack is a haphazardly built rocket which the Clonk can ignite; launching it flying with the clonk hanging onto it for dear life. It's pretty dangerous to use if you don't have much airspace. And finally, I scripted the javelin (yet another suggestion from newton), which is simply a primitive throwing weapon. You can carry three at a time.

Currently on my todo:
*create a low-poly orb of telekinesis for Clonk animation
*create magical balloon
*improve controller graphics
Reply
Parent - - By AlteredARMOR [ua] Date 2010-02-16 21:04
Didn't know where to write it actually, but I think that clonk should not be able to climb while holding a boompack in his arms (because this is very unrealistic and looks really weird).
Reply
Parent - - By Newton [de] Date 2010-02-16 21:06
Then its even weirder that the clonk can have up to three boompacks in his inventory, no? ^^
Parent - By AlteredARMOR [ua] Date 2010-02-16 21:09
Can he? I thought of boompack more like lorry than ordinary shovel. Clonk can GRAB a boompack and carry it (other actions are disabled while carrying as is in current implementation) and he can DROP it to get his other actions (and inventory items) back.

Oh, yeah, and of course he can USE it!!! :-)
How could I forgot about that?..
Reply
Up Topic Development / Developer's Corner / Goals and todo

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill