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
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
● World of Warcraft
State of the art
MMORPGs
● Lineage II
State of the art
MMORPGs
● MuOnline
State of the art
MMORPGs
... 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 art
MMORPGs
● Heroes of Might and Magic
State of the art
TBSs
● King’s Bounty
State of the art
TBSs
... and again list is very long:
● X-COM: Enemy Unknown
● Warbarons
● Endless Space
● Total War series
● more on Wikipedia
State of the art
TBSs
Technologies used: WebGL
WebGL is a GPU-accelerated graphics library available on modern browsers without plugins.
Quake III WebGL demo running at 60 FPS.
Technologies used: 3dsMax
Autodesk 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
Technologies used: 3dsMax
In our project we used 3dsMax to create animations for our characters.
Skeleton of a character
Technologies used: 3dsMax
All animations are made on skeleton.
Each vertex from model will be deformed by a bone that has that vertex in range.
Character model
Technologies used: 3dsMax
Skeleton attached to models
Technologies used: 3dsMax
Model deformed by skeleton on an attack position (skeleton is set to transparent)
Technologies used: L3DT & 3dsMax
The terrain of the world was generated using L3DT.
Trees generated with a 3ds Max script.
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
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)
ECore diagram: server
BPMN diagram: Fight mediator
Aspects: Profiler
I 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.
Aspects: Profiler
I 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.
Aspects: the rest
● Message statistics
● SQL exception logger
● Chat message censor
● Message cache for common fight messages
DEMO
Questions?