Hoofdcategorieën
Topicacties

OpenTTD Programmeer Challenge

Pagina: 1 2 3 4 5 last

Reageer Nieuw Topic
De wereld is gek!

Wat betreft het terein: het kan op alle punten makkelijker. Wellicht dat we in overleg met de deelnemers gedurende de volgende ronden het terein moeilijker maken.

Ik hoop wel dat je nog meedoet Wilco. Als ie ook maar iets doet, is het al goed wat mij betreft. ;)

while (me.Alive) {
me.KickAss();
}

Berichten: 17
Reg. datum: 08 februari 2006

quote:
Corniel schreef op dinsdag 16 september 2008 @ 10:13:
Wat betreft het terein: het kan op alle punten makkelijker. Wellicht dat we in overleg met de deelnemers gedurende de volgende ronden het terein moeilijker maken.
dat is wel een leuk idee!
quote:
Ik hoop wel dat je nog meedoet Wilco. Als ie ook maar iets doet, is het al goed wat mij betreft. ;)
ik hoop het ook! Ik ga een paar dagen rust nemen (retraite in Limbug, nou ja, bij familie langs :) ) en hopelijk heb ik dan wat meer gelegenheid en rust om nog wat te schrijven.

en uiteraard is het goed als het "iets" doet, zeker als jij één van de tegenstanders bent ;) . Voor mij is het pas goed als het "iets goeds" doet 8)
 
Berichten: 32
Reg. datum: 24 juni 2007

Ik had in mijn "defaults" zeeniveau op "erg laag" staan. Ziet er toch een stuk anders uit.
Het is belangrijker dan ik dacht om echt alle opties te specificeren. Dus daarom herhaal ik mijn vraag aan de organisatie om dat ook te doen voor ::Patches-Constructie, ::Patches-Voertuigen en ::Patches-Stations.

En weet iemand hoe je een bepaalde nightly build moet opvragen? Ik denk dat een paar revisies meer of minder niet zo heel veel uitmaken, maar toch.
 
quote:
Corniel schreef op dinsdag 16 september 2008 @ 10:13:
Wat betreft het terein: het kan op alle punten makkelijker. Wellicht dat we in overleg met de deelnemers gedurende de volgende ronden het terein moeilijker maken.
Hoeveel deelnemers zijn er (ongeveer) en hoe zijn de ronden van de wedstrijd eigenlijk opgezet?

Ik ben overigens niet zo een groot voorstander van moeilijk terrein, tenzij je elke wedstrijd één keer op makkelijk en één keer op moeilijk terrein speelt.
 
De wereld is gek!

Zoals het zich nu laat aanzien zijn er zo'n 10 deelnemende teams. Dus dat zijn twee 'borden' te gelijk met 5 spelers.Volgens mij heb ik alle specs wel opgegeven nu.De rest van de patching gaat namelijk over hoe de GUI regageert op menselijke input.

O ja, dat nog wel vergeten: 5000 voertuigen is de max.

while (me.Alive) {
me.KickAss();
}

Berichten: 547
Reg. datum: 17 september 2003

Misschien leuk om te melden, naar aanleiding van dit topic (met daarin de kennis dat een AI schrijven voor OpenTTD mogelijk is) heb ik een AI schrijven voor OpenTTD voorgedragen aan de leraar / studenten van het vak Kunstmatige Intelligentie, en dit is geaccepteerd :). We gaan met 2 of 3 teams van 2 een AI schrijven en die tegen elkaar laten spelen.

Helaas niet meer voor deze wedstrijd, maar zelfs dan is het nog leuk (lijkt me).

Worden de AI's die aan de hand van deze wedstrijd gemaakt worden overigens ook toegevoegd aan de AI's die nu bij OpenTTD zijn, danwel op de wiki geplaatst? Zou misschien een leuke boost voor de TTD community zijn.
 
Berichten: 17
Reg. datum: 03 mei 2007

quote:
mstassen schreef op dinsdag 16 september 2008 @ 12:06:
... En weet iemand hoe je een bepaalde nightly build moet opvragen?
Onder linux (met svn geinstalleerd) "svn co -r 14329 svn://svn.openttd.org/branches/noai /naar/de/goeie/map"

Onder windows, download een programma zoals toirtoisesvn en gebruik als source van de repository svn://svn.openttd.org/branches/noai (heb zelf geen ervaring met tortoise, of welk anders windows programma op dat terrein. Weet alleen dat de uni dat gebruikt)

Je moet dan nog wel zelf compileren, dus is niet echt een bepaalde nightly build :-) Maar dit is het dichtste bij wat ik kan komen.
 
Berichten: 32
Reg. datum: 24 juni 2007

@Corniel,
5000 voertuigen? :o Eerder in deze thread leek het nog bij 500 te blijven. Het is geen typfout?
(Volgens mij gaat trouwens alleen ::Patches-Interface over de GUI.)

@yopy,
Aha, OTTD-AI programmeren voor studiepunten, klinkt goed. 8)
Ik weet niet of het een hele grote boost zal geven aan de OTTD community. De meeste AI's zijn natuurlijk specifiek voor deze wedstrijd geschreven. (En misschien in het Nederlands.) En het doel is ook niet om leuk tegenspel te bieden voor mensen, maar ik denk dat ze er toch wat aan zullen hebben. Veel deelnemers hebben al toegezegd dat ze hun code na de wedstrijd zullen openbaren.

@Horeamus,
Bedankt. Ik zal eens kijken of het lukt.
 
De wereld is gek!

Nee Misha, je leest het goed: 5000, er waren klachten. ;)

@yopy: de deelnemers zijn zelf eigenaar van de code. Het is aan hen of ze het wel of niet delen.

Hier is de config die ik nu gebruik. Tenzij mensen goede argumenten hebben waarom e.a. niet klopt, zal dit de config van de finale zijn.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
[misc]
display_opt = SHOW_TOWN_NAMES|SHOW_STATION_NAMES|SHOW_SIGNS|FULL_ANIMATION|FULL_DETAIL|WAYPOINTS
news_ticker_sound = true
fullscreen = false
language = dutch.lng
resolution = 1680,1028
screenshot_format = 
savegame_format = 
rightclick_emulate = false
small_font = 
medium_font = 
large_font = 
small_size = 6
medium_size = 10
large_size = 16
small_aa = false
medium_aa = false
large_aa = false
sprite_cache_size = 4
player_face = 0
transparency_options = 0
transparency_locks = 0
invisibility_options = 0
keyboard = 
keyboard_caps = 

[music]
playlist = 0
music_vol = 0
effect_vol = 0
custom_1 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
custom_2 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
playing = false
shuffle = false
extmidi = timidity

[win32]
display_hz = 0
force_full_redraw = false
fullscreen_bpp = 8
window_maximize = false

[difficulty]
max_no_competitors = 7
competitor_start_time = 0
number_towns = 2
number_industries = 3
max_loan = 100000
initial_interest = 4
vehicle_costs = 2
competitor_speed = 4
competitor_intelligence = 2
vehicle_breakdowns = 0
subsidy_multiplier = 1
construction_cost = 2
terrain_type = 1
quantity_sea_lakes = 1
economy = 0
line_reverse_mode = 0
disasters = 0
town_council_tolerance = 0
diff_level = 3

[game_creation]
town_name = dutch
landscape = temperate
snow_line = 56
snow_line_height = 7
starting_year = 1998
land_generator = 1
oil_refinery_limit = 32
tgen_smoothness = 1
generation_seed = 4160062532
tree_placer = 2
heightmap_rotation = 0
se_flat_world_height = 0
map_x = 9
map_y = 9

[vehicle]
road_side = right
realistic_acceleration = false
mammoth_trains = true
never_expire_vehicles = false
max_trains = 500
max_roadveh = 5000
max_aircraft = 500
max_ships = 500
servint_ispercent = false
servint_trains = 150
servint_roadveh = 150
servint_ships = 360
servint_aircraft = 100
wagon_speed_limits = true
disable_elrails = false
freight_trains = 1
plane_speed = 4
dynamic_engines = false
extend_vehicle_life = 0

[construction]
build_on_slopes = true
autoslope = true
extra_dynamite = false
longbridges = true
signal_side = true
road_stop_on_town_road = true
raw_industry_construction = 0

[station]
always_small_airport = false
join_stations = true
nonuniform_stations = true
station_spread = 12
modified_catchment = true
adjacent_stations = true

[economy]
town_layout = 1
station_noise_level = false
inflation = false
multiple_industry_per_town = false
same_industry_close = false
bribe = true
exclusive_rights = false
give_money = false
smooth_economy = true
allow_shares = false
town_growth_rate = 2
larger_towns = 4
initial_city_size = 2
mod_road_rebuild = false
dist_local_authority = 20
town_noise_population = 800,2000,4000

[pf]
forbid_90_deg = false
roadveh_queue = true
pathfinder_for_trains = 2
pathfinder_for_roadvehs = 2
pathfinder_for_ships = 0
wait_oneway_signal = 15
wait_twoway_signal = 41
wait_for_pbs_path = 30
reserve_paths = false
path_backoff_interval = 20
opf.pf_maxlength = 4096
opf.pf_maxdepth = 48
npf.npf_max_search_nodes = 10000
npf.npf_rail_firstred_penalty = 1000
npf.npf_rail_firstred_exit_penalty = 10000
npf.npf_rail_lastred_penalty = 1000
npf.npf_rail_station_penalty = 100
npf.npf_rail_slope_penalty = 100
npf.npf_rail_curve_penalty = 1
npf.npf_rail_depot_reverse_penalty = 5000
npf.npf_rail_pbs_cross_penalty = 300
npf.npf_rail_pbs_signal_back_penalty = 1500
npf.npf_buoy_penalty = 200
npf.npf_water_curve_penalty = 25
npf.npf_road_curve_penalty = 1
npf.npf_crossing_penalty = 300
npf.npf_road_drive_through_penalty = 800
yapf.disable_node_optimization = false
yapf.max_search_nodes = 10000
yapf.rail_firstred_twoway_eol = true
yapf.rail_firstred_penalty = 1000
yapf.rail_firstred_exit_penalty = 10000
yapf.rail_lastred_penalty = 1000
yapf.rail_lastred_exit_penalty = 10000
yapf.rail_station_penalty = 1000
yapf.rail_slope_penalty = 200
yapf.rail_curve45_penalty = 300
yapf.rail_curve90_penalty = 600
yapf.rail_depot_reverse_penalty = 5000
yapf.rail_crossing_penalty = 300
yapf.rail_look_ahead_max_signals = 10
yapf.rail_look_ahead_signal_p0 = 500
yapf.rail_look_ahead_signal_p1 = -100
yapf.rail_look_ahead_signal_p2 = 5
yapf.rail_pbs_cross_penalty = 300
yapf.rail_pbs_station_penalty = 800
yapf.rail_pbs_signal_back_penalty = 1500
yapf.rail_doubleslip_penalty = 100
yapf.rail_longer_platform_penalty = 800
yapf.rail_longer_platform_per_tile_penalty = 0
yapf.rail_shorter_platform_penalty = 4000
yapf.rail_shorter_platform_per_tile_penalty = 0
yapf.road_slope_penalty = 200
yapf.road_curve_penalty = 100
yapf.road_crossing_penalty = 300
yapf.road_stop_penalty = 800

[order]
gotodepot = true
no_servicing_if_no_breakdowns = false
timetabling = true
improved_load = true
selectgoods = true
serviceathelipad = true
gradual_loading = true

[gui]
colored_news_year = 1980
ending_year = 2008
autosave = off
vehicle_speed = true
status_long_date = true
show_finances = false
autoscroll = false
reverse_scroll = false
smooth_scroll = false
measure_tooltip = false
errmsg_duration = 5
toolbar_pos = 0
window_snap_radius = 10
population_in_label = true
link_terraform_toolbar = false
liveries = 2
prefer_teamchat = false
scrollwheel_scrolling = 0
scrollwheel_multiplier = 5
pause_on_newgame = false
advanced_vehicle_list = 1
timetable_in_ticks = false
loading_indicators = 1
default_rail_type = 4
enable_signal_gui = false
drag_signals_density = 4
semaphore_build_before = 1975
train_income_warn = true
order_review_system = 2
lost_train_warn = true
autorenew = false
autorenew_months = 6
autorenew_money = 100000
always_build_infrastructure = false
new_nonstop = false
keep_all_autosave = false
autosave_on_exit = false
max_num_autosaves = 16
bridge_pillars = true
auto_euro = true
news_message_timeout = 2
show_track_reservation = false
default_signal_type = 0
cycle_signal_types = 0
console_backlog_timeout = 100
console_backlog_length = 100
network_chat_box_width = 700
network_chat_box_height = 25

[ai]
ai_in_multiplayer = true
ai_disable_veh_train = true
ai_disable_veh_roadveh = false
ai_disable_veh_aircraft = true
ai_disable_veh_ship = true

[locale]
currency = EUR
units = metric

[network]
max_join_time = 500
pause_on_join = true
server_bind_ip = 0.0.0.0
server_port = 3979
server_advertise = false
lan_internet = 0
player_name = 
server_password = 
rcon_password = 
default_company_pass = 
server_name = 
connect_to_ip = 
network_id = e3522299d690ada9e85af747505a09df
autoclean_companies = false
autoclean_unprotected = 12
autoclean_protected = 36
max_companies = 8
max_clients = 10
max_spectators = 10
restart_game_year = 0
min_players = 0
server_lang = ANY
reload_cfg = false
last_host = 0.0.0.0
last_port = 0

[currency]
rate = 1
separator = "."
to_euro = 0
prefix = ""
suffix = " credits"

[news_display]
arrival_player = full
arrival_other = full
accident = full
company_info = full
open = full
close = full
economy = full
production_player = full
production_other = full
production_nobody = full
advice = full
new_vehicles = full
acceptance = full
subsidies = full
general = full

[version]
version_string = r14288M-noai
version_number = 070037D0

while (me.Alive) {
me.KickAss();
}

Berichten: 32
Reg. datum: 24 juni 2007

Ah, die config file is een stuk handiger en duidelijker dan alles overtypen. :)
Ik vroeg me af wat ik zou doen als ik de 500 wagentjes zou halen. Maar met 5000 hoef ik me niet al te veel zorgen te maken denk ik. ;) Maakt het weer wat makkelijker.

edit: misschien nuttig voor anderen: In de OpenTTD-map (waar meestal ook de map met save-games in zitten, in my documents) bevindt zich de file openttd.cfg. Stuk van Corniel even copy-pasten en alle wedstrijdinstellingen zijn overgenomen.

mstassen wijzigde dit bericht 16-09-2008 16:30 (32%)

 
Berichten: 17
Reg. datum: 03 mei 2007

Corniel, klopt het dat die patch in feite niets belangrijks veranderd, alleen statistieken bijhoud? Anders hebben we hier een klein probleem (of een extra klusje) aangezien we hier linux gebruiken en er alleen een wijziging gedaan wordt in de win32_fiber.cpp (ookal moet ik zeggen dat het niet echt een super interresante wijziging lijkt, inplaats van mogelijk true altijd false returnen :-))
 
De wereld is gek!

Die patch zorgt er voor dat het onder windows niet krak zegt, en dat de score gelogd wordt. Niet heel spannend.

while (me.Alive) {
me.KickAss();
}

Vraagje: kan de patch op tt-forums voor AIRoad.CanBuildConnectedRoadPartsHere ook worden toegevoegd? (deze patch zit trouwens ook in revision 14357 nu) Zonder deze patch geeft deze functie -- die vrij essentieel is voor een (custom) path finder -- soms een verkeerd antwoord, vooral bij het einde van town roads.
 
Berichten: 32
Reg. datum: 24 juni 2007

Ik kan me van de challenge van vorig jaar herinneren dat er op de wedstrijddag tussen de rondes door soms nog het een en ander aan de programma's werd gesleuteld. En dat dat werd toegestaan. Is dat dit jaar weer zo? Even wat parameters veranderen om nog meer winst te maken of een nooit opgemerkte bug die tijdens de wedstrijd de AI laat crashen verhelpen. Of reageren op een bepaalde tactiek van de tegenstander in een eerdere ronde.

Ik ben niet echt voorstander van toestaan, maar als het wordt toegestaan zal ik waarschijnlijk wel nog tussendoor willen sleutelen.
 
Berichten: 32
Reg. datum: 24 juni 2007

Ik steun trouwens kuifware26's voorstel om die patch toe te voegen.
 
De wereld is gek!

Hij is toegevoegd. Ik moet alleen de patch die we ter download aanbieden nog updaten.

Ik heb de patch (finale_patch.zip) ook aangepast:
- fix voor AIRoad.CanBuildConnectedRoadPartsHere
- fix voor multithreading onder Windows
- logging finale score

Corniel wijzigde dit bericht 19-09-2008 10:31 (58%)
Reden: toezeggingen ingelost

while (me.Alive) {
me.KickAss();
}

Bedankt voor het toevoegen van de CanBuildConnectedRoadPartsHere patch, Corniel. Verder wens ik iedereen succes die nog aan het sleutelen is aan zijn programma!
 
Berichten: 32
Reg. datum: 24 juni 2007

Bedankt, ik zal er zeker nog aan moeten sleutelen. (Nu kan ie nog geen simpele route aanleggen. :| ) Maar we hebben nog bijna 24 uur. :)
 
Berichten: 16
Reg. datum: 11 september 2001

Zoals het er nu naar uit ziet zal sleutelen op zich toegestaan worden, al is het maar de vraag in hoeverre daar tijd voor is.
 
Berichten: 17
Reg. datum: 08 februari 2006

quote:
Martao schreef op vrijdag 19 september 2008 @ 14:01:
Zoals het er nu naar uit ziet zal sleutelen op zich toegestaan worden, al is het maar de vraag in hoeverre daar tijd voor is.
en als de wedstrijd maar uit één of twee rondes bestaat, zal het ook niet zo zinvol zijn.
 
De wereld is gek!

Ik zal de wedstrijdplanning even toelichten: afhankelijk van hoe laat alle deelnemers een eerste OK-versie hebben beginnen tussen 12:00 en 14:00 met de kwalificaties. Tijdens de kwalificaties mogen er naar hartelust updates worden ingeleverd. De beste zeven kwalificeren zich voor de finale. Die bestaat uit twee ronden. Ik verwacht dat de finale rond 17:00 zal beginnen, wellicht iets eerder.

Maar ik ga dat morgen verder uitleggen. Nu zelf even zorgen dat onze engine morgen niet failliet gaat... (Want dat levert strafpunten op!)

while (me.Alive) {
me.KickAss();
}

Berichten: 32
Reg. datum: 24 juni 2007

Hoe lang duurt zo'n wedstrijd dan in gewone tijd? Wordt het versneld afgespeeld? (Of delen versneld?)

En nog een vraagje over als iemand failliet gaat: In mijn AI komt er dan een plaatsje vrij die dan wordt ingenomen door een willekeurige AI. Hoe is dat te voorkomen? Soms wil ik die AI's helemaal niet.

Trouwens jammer dat OTTD-site net nu gehackt is...
 
Berichten: 17
Reg. datum: 08 februari 2006

mag de AI signs plaatsen? bv. om te laten zien wat er gebeurt en hoe er gepland wordt??
 
@mstassen: ik denk dat de AI's het beste gestart kunnen worden met start_ai in de in-game console (allemaal tegelijk en voordat de game van pause afgehaald wordt). De setting 'max. competitors' kan dan gewoon op 0 staan.
 
Berichten: 32
Reg. datum: 24 juni 2007

Zouden de uitslagen misschien gepost kunnen worden? Ik wil de namen en getallen nog wel eens terugzien.
 

Pagina: 1 2 3 4 5 last



VNU Media logo Powered by True

© 1998 - 2009 Tweakers.net - Alle rechten voorbehouden - Uw Privacy - Algemene Voorwaarden

Uitgever van: