THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana...

25
THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer Science, "Al.I.Cuza" University, Iași a MMO turn-based strategy game

Transcript of THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana...

Page 1: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

THUNDER TACTICS

Oana CiocanPaul NechiforTiberiu Pasat

Master of Software Engineer, Year IFaculty of Computer Science, "Al.I.Cuza" University, Iași

a MMO turn-based strategy game

Page 2: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Create a strategy game that will combine two different types of game. A MMORPG game and a turn based game.

MMORPG characteristics:

Users take the role of a character in the game's world. In this world players can find: shops, safe places, mobs and other players.In order to enter in game users will have to register first, and then login.Players can fight with other players and/or mobs.

TBS characteristics:

Arena mode fights: When a fight starts players will be moved to an arena and each player has his turn.

Description

Page 3: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

● World of Warcraft

State of the artMMORPGs

Page 4: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

● Lineage II

State of the artMMORPGs

Page 5: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

● MuOnline

State of the artMMORPGs

Page 6: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

... and of course list is long:

● Diablo● Metin● Star Wars: The Old Republic● Guild Wars 2● Dragon Quest X● The Secret World● Gods & Heroes: Rome Rising● more on Wikipedia

State of the artMMORPGs

Page 7: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

● Heroes of Might and Magic

State of the artTBSs

Page 8: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

● King’s Bounty

State of the artTBSs

Page 9: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

... and again list is very long:

● X-COM: Enemy Unknown● Warbarons● Endless Space● Total War series● more on Wikipedia

State of the artTBSs

Page 10: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Technologies used: WebGLWebGL is a GPU-accelerated graphics library available on modern browsers without plugins.

Quake III WebGL demo running at 60 FPS.

Page 11: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Technologies used: 3dsMaxAutodesk 3ds Max is a powerful, reliable, and accessible 3D modeling, animation, rendering, and compositing package. It's also a favorite among character animators and game artists. 3ds Max offers:

● Ready-to-use, template-based character rigging systems● A comprehensive polygon modeling, UV editing, and texture painting

toolset● Extensible development environment with support for C++ and .NET● Advanced hardware shader and dynamics capabilities, including NVIDIA

PhysX integration, viewport preview and rendering of HLSL, and normal map and light map generation

● A vast community of experienced artists and developers to support game development

Page 12: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Technologies used: 3dsMaxIn our project we used 3dsMax to create animations for our characters.

Skeleton of a character

Page 13: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Technologies used: 3dsMaxAll animations are made on skeleton. Each vertex from model will be deformed by a bone that has that vertex in range.

Character model

Page 14: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Technologies used: 3dsMaxSkeleton attached to models

Page 15: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Technologies used: 3dsMaxModel deformed by skeleton on an attack position(skeleton is set to transparent)

Page 16: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Technologies used: L3DT & 3dsMaxThe terrain of the world was generated using L3DT.Trees generated with a 3ds Max script.

Page 17: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Technologies used: other

● Three.js:○ a cross-browser JavaScript library/API for browser

computer graphics using WebGL (and other technologies)

● WebSocket:○ full-duplex communication with a browser

● L3DT - Large Terrain Generator○ for creating the game map

Page 18: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Main components

Server (Business logic of the game)

○ WebSocket server○ Threaded player proxy (through WebSocket conn.) ○ Fight mediator○ AI module○ Database storage module○ Chat

Client○ Provides a 3D user interface for the game○ Cross platform (runs in browser)

Page 19: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

ECore diagram: server

Page 20: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

BPMN diagram: Fight mediator

Page 21: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Aspects: ProfilerI use a ConcurrentHashMap to store for every thread a HashMap of all the methods it calls and the statistics associated with the method.

When the server exists the results are written to a HTML page.

Page 22: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Aspects: ProfilerI use a ConcurrentHashMap to store for every thread a HashMap of all the methods it calls and the statistics associated with the method.

When the server exists the results are written to a HTML page.

Page 23: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Aspects: the rest

● Message statistics● SQL exception logger● Chat message censor● Message cache for common fight messages

Page 24: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

DEMO

Page 25: THUNDER TACTICS - Alexandru Ioan Cuza Universityadiftene/Scoala/2013/TAIP...THUNDER TACTICS Oana Ciocan Paul Nechifor Tiberiu Pasat Master of Software Engineer, Year I Faculty of Computer

Questions?