Pacman-ish uses a python http server to store and load leader board and game balance data from a sqlite database. see repo (the database can be viewed using the AMSqlite tool)
Sending and requesting data to and from the sever is handled by
Source\comp280_worksheet_2\Pacman_gameInstance.h
Source\comp280_worksheet_2\Pacman_gameInstance.cpp
Source\comp280_worksheet_2\Http_Request.h
Source\comp280_worksheet_2\Http_Request.cpp
The server sends and receives data in json format which is then converted to/from structs
Source\comp280_worksheet_2\jsonContatiners.h
(among the structs is a class that is used to get the data into the leader board tree view)
The BP_leaderboard
blueprint widget triggers the leader board request
and GM_MainMenus
blueprint game mode loads the games settings in.
(Both located in \Content\MainMenuUI\
)
Iv attempted to recreated original PacMan AI according to GameInternals
All AI Behaviour Trees and task can be found in
\Content\AiContr\
All ghost use the same blackboard GhostBB
There is a controller and Behaviour tree for each ghost
which all share a group of task located in the Task
folder
New Materials (By Game Mode)
- Glitchy ghost material for when a power pill has been eaten
\Content\materials\Ghost
- Glitchy transparent walls when a power pill has been eaten
\Content\materials\m_ghostly
- Scan line post processing (also used on main menu)
\Content\PostProcessing\VedioScan
- Colour lerp pill
\Content\materials\m_pickup1
- Glitchy Power Pills
\Content\materials\Pill_Trip
The Menus and HUD have been implemented and enhance based on the initial
heuristic evaluation.
(There is no health bar! since its not really applicable to the game)
Furthermore there has been a 'Game Over' screen added where the user can
input there name with error prevention implemented to prevent the user from
submitting a score without entering a name.
- Main menu
\Content\MainMenuUI\BP_MainMenu_UI
- Leader board
\Content\MainMenuUI\BP_leaderboard
- Pause menu
\Content\MainMenuUI\BP_PauseMenu_UI
- Controls
\Content\MainMenuUI\BP_Controls_UI
- Game over screen
\Content\MainMenuUI\BP_GameOver_UI
- HUD (ALL)
\Content\ThirdPersonBP\Blueprints\HudWidget
- Radar HUD
\Content\FirstPersonBP\Map\ui_miniMap
- Ammo HUD
\Content\FirstPersonBP\Blueprints\ui_ammo
- cam overlay
\Content\FirstPersonBP\Blueprints\ui_can_overlay
To run the web Sever and Client from source use python 3.7 with PyQt5 (v5.13.2) installed
The server and client have been built using PyInstall 3.5
Requires Unreal Engine version 4.22.3
Adobe XD
"Ghost" 3D model by Luca Perencin, licensed under CC-BY.
"shotgun-reload" sound fx by RA The Sun God licensed under CC-BY.
"Empty Gun Shot" sound FX by KlawyKogut, licensed under CC-Zero
"Designed Element, Ghostly Breath, Pulsating, Inhale and Exhale, Soul Spirit or Spectre", zap splat standard license
This project uses sound fx from ZapSplat
Pacman-ish game: https://github.com/Ashley-Sands/comp280-worksheet-2
Python, Web Sever: https://github.com/Ashley-Sands/Comp-280-PythonServer
SQLite Web Client: https://github.com/Ashley-Sands/SQLightExplorer