DAT602 ~ Blog Post One
- daniel-ewers2
- Mar 3, 2021
- 3 min read
In this lesson, we discussed ideas for our project for this semester. We were shown an example of what a previous student had done in other years. After a brief explanation of the requirements, I took a close look at what it was that I needed to do. I decided to plan out potential ideas for what I am going to develop. I created a brainstorm of possible games, features, app layouts, as shown below:

I liked the concept of a maze game. This would involve players racing through corridors tile by tile trying to reach the end. The maze would contain a variety of different elements such as dead ends, traps, locked doors, hidden treasures, and secret shortcuts.
The objective is to have the highest amount of points at the end of the race. This means that the fastest route isn’t necessarily the best route, although being first out may give a certain amount of points. Throughout the maze will be randomly placed items such as keys, gold, amulets/treasure, and possible boosts that allow you to move more than one tile at a time. The keys would be used to open doorways that lead to special items or shortcuts.
You can either try to race through and get the points for being the fastest which will add to the overall leaderboard or collect items along the way to get a higher score.
Items such as gold might be worth an additional 10 points, whereas an item such as a gold ring might grant you 40 points on your overall score. I could possibly add features that could cause a player to lose points from falling in a trap or getting attacked by something (maybe random chance events). These may be future additions to the game. I came up with a concept design of how the maze may look. The prototype for the maze would remain the same but place items in different locations each time. A procedurally generated map could be something to look at in the future. This design can be seen below:

As we can see there are several different elements within the maze:
The green and blue circles represent the start (Home) and the finish
The green dots represent the items that you can collect throughout the maze to gain extra points
The purple dots are the super rare items that can be kept in your inventory across multiple games, these give you special abilities. These could possibly be permanent or be lost if another player steals them from you or if you land in a trap. (Concept idea)
The red dots represent traps or monsters within the maze. If you land on these tiles, you will lose a random amount of points from the points you have gained throughout the maze.
The blue circle will be the finish of the maze. When a player reaches this point, they will return to the main menu. The points they have gathered will add to their overall score on the leaderboard. The more games you play and the more points you finish with, the higher you will be. In the future there may be additional stats such as games played, items gathered, average score etc.
Any special items that carry over games will be shown on the home page so you can see what you have. I could try and add a feature in future, maybe not for the assessment, that allows a user to chose what items they take in the maze since there is a chance to lose them. I don’t think this will be a feature in the prototype but is on the roadmap for future development.
We were also shown an example of the creation of a database within MySQL. This included the creation of a table that included a name and ID of a team. We inserted some dummy data into the table using the script shown below:
insert into tblteam(ID, Name)
values( 1, 'TheGamblers'),(2,'The C team'), (3,'TeamName'),(4,'Teeeaaammmmm ');We then ran some scripts that selected the names from the table and returned the values.
The full code looks like this:
drop database if exists DAT602_one;
create database DAT602_one;
use DAT602_one;
SELECT round(RAND() * (3)) + 1 as TeamToPresent into @team;
select @team;
drop procedure if exists createdb;
delimiter //
create procedure createdb()
begin
create table tblteam(
ID Int,
Name Varchar(255)
);
insert into tblteam(ID, Name)
values( 1, 'TheGamblers'),(2,'The C team'), (3,'TeamName'),(4,'Teeeaaammmmm ');
select * from tblTeam;
end //
delimiter ;
drop procedure if exists showTeamName( IN pID INT)
delimiter //
create procedure showTeamName( IN pID INT)
begin
select Name
from tblTeam
where ID = pID;
end //
delimiter ;
call createdb();
call showTeamName(@team);
select Name
from tblTeam
where ID = @team;This was relatively straight forward as it had many similarities to the DDL scripts that we wrote in DAT502.



Comments