Can’t play [10bit] or [hi10p] files?
Posted on July 30th, 2012 in Uncategorized | No Comments »
Get this: LAVFilters
Get this: LAVFilters
(Picture from the game’s Steam page showing a Spitfire killing German planes. Note the damage detail.)
I have recently come across this particular game released over a year ago, thanks to Indie Gala for this. Let’s get started.
This game follows the story of Dorothy Derbec, a.k.a. DeeDee, whose father Guillaume Derbec was lost in WWI, requiring her to live with his father’s squadmate Tommy. She’s the sky-bound type of girl: uneasy on the ground, at peace in the air. She smuggled liquor right up until WWII reaches Tobruk where she does her job. Carrying her last name Derbec, Dorothy inherited a lot from her father.
Due to her need for mechanics, she met Clive, a drunk aircraft engineer who can’t fly but knows all his planes. Due to her need for money, she had to fight in this war. After a particular war event, she changes her view of the war. Money fell behind in her list of priorities. Along the way, DeeDee meets more of her father’s old squadron, learning his heroic tales through their words.
Of course, since there are heroic tales of a former ace mentioned, there must be flashbacks. Yes, flashbacks are presented with sepia-filtered levels with the player taking the role of the storyteller flying in biplanes, fighting the old WWI with the Derbec Dad. This means two campaigns are alternated: WWII campaign narrated by DeeDee, and the WWI campaign by her father’s friends.
The writer did good job designating a woman as the main character. “But it’s the air force not infantry!” seems valid as an excuse to insert women into violent games, along with “But she’s Lara Croft!” The old squadmates also provide good expansion to the story, filling the story of the old ace piece-at-a-time.
This game plays more like a flying arcade than a simulator. The entire plane has just one “health bar”, except in some rare cases you might score a critical hit which results in instant kill. Fortunately, it works one-way. The game sports many plane models ranging from the WWI-era biplanes to Spitfires to Messerschmitts.
In single-player, you just do what the others tell you to. Yes, exactly. To the letter. Sometimes there are time limits, sometimes not. Just be quick, add some firepower, top off with finesse, then you win. Since I cannot find anyone to play multi-player with, I have to leave that part out of this review.
The game also features a small amount of stealth-based missions, which are quite fun but also frustrating. On the other hand, sometimes you do the searching, for ground targets however. In this case, the game presents you with hidden ground targets. It needs some getting used to, but is very easy in the end.
The two-linear campaign style keeps the player focused on the missions rather than attempting to maximize gains or capitalize on events, while the player is given a choice of planes to suit his/her play style. I am in favor of this, as the game does quite good on storyline development. It’s good game if you just want to fly without the need to watch all the instruments: the most complex thing you can do to yourself is stall to death, which can be easily avoided by increasing throttle.
Not quite good. While Air Conflicts utilizes the graphics card well, running on HDR and all, this game suffers a severe lack of model & texture detail on tanks and AA’s, which happens to be featured quite a lot in the game due to the need to bomb them. I do not appreciate cabbage-grade work, but due to budget level I will let it slide.
While the ground units are sub-par, the damage model of the planes are surprisingly detailed compared against the former, even though in terms of gameplay planes are “just one health bar.” The smoke caused by bombing and downed planes also look nice, at least from another plane’s distance (i.e. “the player). The plane is in the sky, so the ground might look a bit bad, but the sky is good. Reasonable. This shows that the development team did its prioritization well.
It’s traditional to review about sound of the game as well. While I play games, I do not really master the fine art of sound appreciation, let alone music. The compositions and effects are good but the narratives and dialogues don’t have enough appropriate emotions in the voice acting. They sound more narrated than acted, especially how each of Guillaume Derbec’s drinking-line in the game story, which I cannot tell you for it is integral to the storyline.
As stated in its Steam page (link above), I think this game requires a bit too much of a graphics card. This level of game should not require anything beyond Shader Model 2.0 cards, while AC requires 3.0. This requirement is reasonable however as the game uses quite a lot of graphic effects.
The game sells for $19.99 on US Steam, and for $6.24 or more (current price when writing this, along with other games) on Indie Gala VI . If you decide to purchase the game on Indie Gala you might find it worth the price, as it also includes other games, bringing the “perceived cost” of AC down to $3 or less.
So go for it, get the Gala pack. The entire package is worth even more.
Air Conflicts: Secret Wars is a nice game to play for the arcade fun and don’t care much about sub-par graphics and less-than-good narratives. It’s the gameplay and level designs that make this game fun and worth its (reduced) price. My final score would be 69/100, taking some points off for graphics and narratives.
Neither the entry author nor the blog are related to Games Farm (the developer), bitComposer Games (the publisher), Steam, or Indie Gala. All trademarks are owned by their owners and not me. The image used above should fall within fair-use as I use it to identify the blog entry as related to the game, no free images could be created as any screenshots of the game are also non-free, only one medium-resolution image is used, and the author has attributed the source.
Trust me, I’m an engineer!
(Author: Vilkaz Zebigwan)
I’m Igor Pachmelking Zakuskov
and I’m an engineer!
Just let me take my breakfast first
cornflakes, vodka and beer!
And then I’ll show you all of mine
constructions ewerywhere. [sic]
I can explain the world for you
all that I need is chair.
I built many buildings,
well some of them have failed.
I had to leave my country,
so through the sea I sailed!
Trust me, I’m an engineer!
I think we’ll put this thing right here.
Trust me, I’m an engineer!
What the fuck did just happened [sic] here?
Trust me, I’m an engineer!
With epic skill and epic gear!
Trust me, I’m an engineer!
Oh shit I think I’m outta here!
I built alot [sic] of bridges,
some of them even dance.
My buildings are very secure!
Intruders have no chance!
You want to drive a broken car,
I can help you in this!
No wheel, no tire! No problem!
Those parts I never miss!
I drive my tractor like a boss,
see what jump I just did?!
You say this is impossible? ["impossibru"]
Just like I give a shit!
Trust me, I’m an engineer!
I think we’ll put this thing right here.
Trust me, I’m an engineer!
What the fuck did just happened here?
Trust me, I’m an engineer!
With epic skill and epic gear!
Trust me, I’m an engineer!
Oh shit I think I’m outta here!
I am, an engineer
and I having good time now.
Physical calculate?
What does it mean I don’t know.
You know, learning by doing?
Well, I do and you learn.
Let me make my work here first
and then there is your turn.
I feel really well
I get paid more then [sic] you
cuz I am an engineer
and who are you? REPAIR CREEEEEEEEW!
My good diploma give me jobs
although I didn’t study,
I simply got this from a friend,
as a Birthday gift, from buddy!
Since then I travel everywhere,
and sometimes build a Road.
You say it’s bad? But I’m a pro!
I piss in expert mode!
My bicycle is wearing shoes,
showel bazooka is in use,
oven in my car melting ore,
I have an airbag in tractor!
I once tried to catch the sun
and dirty brick to wash.
Now I say: My work here is done
was hard day, oh my gosh.
Trust me, I’m an engineer!
I think we’ll put this thing right here.
Trust me, I’m an engineer!
What the fuck did just happened here?
Trust me, I’m an engineer!
With epic skill and epic gear!
Trust me, I’m an engineer!
Oh shit I think I’m outta here!
(^ verse again)
(^ and again)
(Outro)
EDIT: Name fixed to reflect author’s spelling
NOTE: Sequel:
ถ้าไม่เข้าใจว่าเกิดอะไรขึ้นก็ข้ามไปเลยครับ (แต่ถ้าเข้าใจจะรู้ว่าเกิดอะไรขึ้น เอ๊ะยังไง)
- ต่ออุปกรณ์ก่อน (สาย usb, สาย power, ต่อ programmer กับบอร์ด, ฯลฯ)
- ลงไดรเวอร์ (โหลดจาก ett) เลือกโฟลเดอร์ที่อยู่เหนือ i386 (ไม่ต้องเลือก i386 ตรงๆ)
- ลง avrstudio
- เปิด avrstudio
– กดที่ “ชิป avr”
- เวลาวางไอซีให้หนีบขาแน่นๆ เวลาโยกตัวหนีบให้โยกมาให้ “ขนาน” (ไม่ใช่ “สุด”)
- เลือก STK500 และ Port (COMxx)
- เมื่อต่อได้แล้วก็เบิร์นโปรแกรม .hex ที่ต้องการ (ในกรณีนี้คือ bootloader) ได้

(Photo: A gift from Symphony, and my faculty-paper)
สำหรับตอนนี้เป็นตอนสุดท้ายของซีรี่ส์ฝึกงานแล้วนะครับ ขออภัยที่มาช้าไปเล็กน้อย เริ่มกันเลยดีกว่า
ในช่วงเวลาสามวันที่ผ่านมานี้ผมก็ได้ใช้เวลากับงานชิ้นใหม่คือการวิเคราะห์ข้อมูลจากอีเมล์ โดยอีเมล์จะให้ข้อมูลต่างๆ เกี่ยวกับระบบเครือข่ายมา โดยประกอบไปด้วยบรรทัดต่างๆ ในรูปแบบ <ชื่อฟิลด์ข้อมูล> : <ค่าของฟิลด์> ทำให้สามารถถอดข้อมูลมาวิเคราะห์ได้ง่าย
ผมก็คิดว่าใช้เวลาไม่น่านาน แต่ด้วยความที่ใกล้จบฝึกงาน ผมต้องเตรียมนำเสนอการฝึกงานทั้งหมด และต้องเตรียมเอกสารที่จะต้องส่งด้วย ไม่ว่าจะส่งไปที่ใดก็ตาม เช่น ใบเวลาทำงาน ฯลฯ จากนี้ผมขอแบ่งเป็นส่วนๆ ดีกว่า โดยแต่ละส่วนก็จะเป็นไทยอังกฤษสลับกันจะได้ตามง่ายๆ ครับ
This is the last episode in the internship series. Sorry for being late, let’s begin anyway.
During the three days I spent time with the new task analyzing data from emails. The emails have network data as <field> : <value> lines, which are easy to extract.
I didn’t think it would take time, but as the end of internship nears, I have to prepare the presentation as well as the papers to submit to matter where they are such as time record, etc. For this entry I’ll split into multiple parts, with Thai and English interleaving for easy reading.
ดังที่ได้กล่าวไป สำหรับงานชิ้นสุดท้ายเป็นการสร้างระบบคัดข้อมูลออกจากอีเมล์ ซึ่งจะทำงานบนฐานข้อมูลเดียวกับระบบแจ้งเตือนอีเมล์ แต่อยู่คนละบริบทกัน โดยใช้อีเมล์ชุดเดียวกันจริง แต่แยกส่วนการประมวลผลออก ทำให้ไม่ต้องเขียนระบบรับอีเมล์ใหม่
ปัญหาจากงานนับอีเมล์ก็จะตามมาด้วย ก็คือฐานข้อมูลที่ไม่มีคีย์หลัก เป็นต้น ซึ่งผมแก้ปัญหาโดยการสร้าง log มาเก็บไว้ว่าระบบของเราตรวจเมล์ไปแล้วกี่ฉบับบ้าง โดยจะไม่มีการตรวจอีเมล์ซ้ำไม่ว่าในกรณีใดๆ ก็ตาม ตรงนี้ทำให้เกิดข้อจำกัดมากมาย เช่น การไม่มีผลย้อนหลังของการตั้งค่า เป็นต้น แต่ช่วยให้เราตรวจสอบเฉพาะอีเมล์ใหม่เท่านั้น จึงไม่น่าช้าจนเกินไป
การเลือกเมล์ทำได้ตามผู้ส่งเท่านั้น ยังไม่มีการคัดกรองตามหัวข้อ (ซึ่งเป็นข้อจำกัด) และงานก็ยังไม่เสร็จด้วย ซึ่งถ้ามีโอกาสจะพยายามทำให้เสร็จ เพราะเป็นประโยชน์กับทุกฝ่าย
As introduced earlier, the last task consists of email data extraction which works on the same system as mail alerts, but on a different context. The emails will come from the same source, but processing will be separated so we do not need to build another database-inbox.
The no-primary-key problem from email counting task also carries over, which I fixed by building an execution log which keeps track of the last time we checked emails, and will never revisit older emails no matter the reason. While this makes the system relatively faster, it suffers from the non-retroactiveness of email inspection, i.e. if you change the email definition midway, old and new data won’t be consistent. (So it might be better to delete the definition entirely)
Email definition can only be done on a per-sender basis without per-subject separation. The work is not done, but I will try to finish if possible, as it only benefits everyone.
วันที่ 7 เป็นวันที่นิสิตนักศึกษาฝึกงานจะต้องนำเสนอผลงาน ด้วยความที่ผมคุยกับพี่เลี้ยงไว้ว่าอธิบายงานตั้งแต่ต้นจนจบ (ความเป็นมา ความต้องการ โครงสร้าง กระบวนการ แสดงโปรแกรมถ้าเป็นไปได้ สรุปและข้อเสนอแนะ) และงานผมมีถึงสี่งาน (จริงๆ คือห้า ได้แก่ ติดตั้งเซิร์ฟเวอร์ ตัวเล่นวิดีโอ นับอีเมล์ ระบบ IDC และดึงข้อมูลอีเมล์ แต่อันแรกไม่นับ) ผมก็เลยกดไป 43 สไลด์ เวลาอีกเกินครึ่งชั่วโมง ในขณะที่คนอื่นใช้เวลาน้อยกว่ามาก โดยที่ผมแทบจะไม่ได้อธิบายความรู้อะไรเลย (ผมมองว่ามันเป็นแค่งานโปรแกรมมิ่งธรรมดาๆ คิดว่ากระบวนการสร้างโปรแกรมน่าสนใจกว่า) แต่คนอื่นๆ ก็มีพูดเรื่องความรู้ที่ได้ออกมาด้วย ผมก็รู้สึกแปลกๆ กับงานตัวเอง แต่ก็ดีใจที่ได้พูดออกไปว่าทำอะไรบ้าง
7th was the day the intern students present their works. Since I’ve talked to my supervisor that I will be explaining the work “from beginning to end” (reasons, requirements, architecture, implementation, demonstration, conclusion and suggestion) and I have four tasks to do (five actually: server installation, “vplay” video player, email counting, IDC system, and email data extraction but I won’t count the first) and I ended up with 43 slides taking up more than half-hour while others used much less time; and I did it all without telling any kind of knowledge at all (I see my work as ordinary programming tasks so the process is more interesting than the code) while others presented more content and knowledge than I did. I felt awkward afterwards, but still happy being able to tell others what I do.
งานเลี้ยงจัดที่ร้านเอ็มเค โรบินสันรัชดา เป็นหนึ่งในไม่กี่โอกาสที่ได้คุยกับเพื่อนๆ พี่ๆ คราวละหลายๆ คน ขอขอบคุณพี่ๆ ทุกท่านที่มาเลี้ยง และขออภัยที่พวกผมกินเยอะนะครับ
The party was hosted at MK Restaurants, Robinson Ratchada. This was one of the few moments I get to talk to many friends and seniors at once. Thank you very much, and sorry for over(-the-budget)eating.
การจัดการเอกสารทั้งหมด
Just do all the paper.
พี่ๆ ที่บริษัท CS LOXINFO ทุกคน
Thanks to all CS LOXINFO employees!
Finally, thanks to all friends in the same internship program, even though we don’t get to see each other much.
สำหรับผู้ที่ต้องการเนื้อหาหรือข้อมูลจากการฝึกงาน หากสามารถให้ได้จะให้นะครับ ติดต่อมาได้
For those who need content or data from internship, I will provide them if possible so feel free to contact.
Some more pics

At presentation, my two friends preparing

ASCII Art of company name, limited to 80 characters wide

Phase I of MK Pot

Phase II, and we ate them all.
You can view all internship posts here: http://lunaticneko.com/blog/?tag=school-internship
เวลาเหลือน้อยลงไปทุกทีๆ สำหรับการฝึกงานที่ใกล้จะจบลง งานของผมที่ต้องมานั่งแก้บั๊กก็ยังไม่เสร็จ ตอนเช้าผมก็เลยบอกหัวหน้าฝ่ายไปตรงๆ ว่าไม่น่าจะทัน แม้ว่ามันจะไม่ยากแต่มันเยอะมาก และเป็นการแก้บั๊กจากงานที่ไม่ได้ทำเอกสารไว้ ทำให้ไม่รู้ว่าต้องเริ่มแก้ตรงไหนก่อน ต้องมาคอยไล่ดักเอาเองตลอด ที่สำคัญอย่างที่บอกไปในตอนก่อนๆ คือพี่ที่ทำแอพพลิเคชันตัวนี้มาก่อนใช้หน้าต่างแบบ pop-up เยอะมาก ทำให้ไล่โค้ดยากขึ้นไปอีก
เวลาที่เหลือส่วนใหญ่ก็ทำสไลด์เพื่อเตรียมนำเสนอในวันที่ 7 ต่อไป
Time’s running out and the end of internship draws near. I have to continue debugging the job but it’s not quite done so I met the boss and told him it’s not going to finish in time. It’s not that hard, but the code was not documented so I have no idea where the possible code defects are. Most importantly, I might have said this earlier, that this application uses a lot of JS pop-ups which makes it all harder.
Whatever time I have left, I spend them on working with the slide to present on 7th.
วันนี้งานก็ไม่ค่อยเดินอีกแล้ว ส่วนใหญ่เวลาก็หมดไปกับการไล่บั๊กเช่นเคย จำได้ว่าพี่บอกว่าให้ทำงานนี้ถึงแค่วันนี้เท่านั้น วันอังคารจะมีงานใหม่พร้อมกับให้เตรียมนำเสนองานทั้งหมดอีกที
There’s still not much progress today, hunting bugs all day. I remember the senior limiting my work until today, as I will be switched to another one with final presentation preparation on Tuesday.
I recommend writing database views to reduce stress on your own part when working with complex database systems.

(Photo: More “proper food” my friend eats.)
ใกล้ครบกำหนดฝึกงานขั้นต่ำแล้ว (ของผมต้องถึง Day 32 เพราะลางานไป 10 ชั่วโมง) วันนี้ผมไปทำงานโดยมีเจตนาเอาฐานข้อมูลที่มีอยู่แล้วมาใช้ล้วนๆ เลย สำหรับงานที่ได้ในตอนนี้คือทำให้ระบบบันทึกการใช้งาน IDC บันทึกการนำอุปกรณ์เข้าและออกได้สมบูรณ์แล้ว แต่ยังไม่สามารถยกเลิกงานบางส่วนระหว่างทำงานได้ในบางกรณี (การยกเลิกงานอาจเกิดขึ้นในกรณีที่ไม่ต้องการทำงานนั้นๆ อีกต่อไป เช่น ตรวจพบทีหลังว่าเซิร์ฟเวอร์ที่นำมาใช้ไม่ได้ หรือไม่ต้องการนำของออกแล้ว เป็นต้น) เนื่องจากยังติดปัญหาว่าโค้ดเก่าพึ่งพา PHP Session มากเกินไป แต่กลับไม่ยอมเก็บตัวแปรที่อ้างถึงผู้ใช้ไว้เลย
So I’m nearing the minimum hours for internship (actually I need 32 days because I took 10 hours of leave). Today I came to work with pure intention to utilize the old database. Today I got the IDC visitor system working right with equipment installation and returns, but still cannot cancel jobs half-way in some cases (It might occur due to server installation error, or customer no longer wishes to remove the piece, for example.) owing to the dependency of the old code on PHP Session system, but lack of any actual reference to database.
DELETE table1, table2 FROM table1, table2 WHERE table1.pk = table2.pk AND (your_condition_here);
If you have some tuple (x1,y) where you know only the value of x1, and you wish to select (x1,y), (x2,y), …, (xn,y), this is way to go.
SELECT X AS REFX, Y AS REFY
FROM your_table
WHERE EXISTS
(
SELECT * FROM your_table
WHERE Y = REFY
AND X = $x1
)