Thursday, December 11, 2014

the Maze Game video series...up to now.

So, instead of posting each video on this blog, here's a link to the play list:
UE4- Maze Game development series
Go...now! Click ads and stuff too:)

Tuesday, November 25, 2014

1 - UE4 StartingTheGame



This is the first actual game tutorial. This just covers setting up UE4.

Monday, November 24, 2014

UE4 MazeGame Intro


So, yeah, I started a video series on making this game. this first video is just an intro. The videos following this are game-oriented.

Thursday, November 6, 2014

Success! ...mostly.

So, I needed to get a Logitech Steering Wheel in UE4 working for a project at work. Since my attempts at coding were less than successful, I decided to take a strategy from my good friend, Tom Shannon, and use an emulator. UE4 natively supports XBox controllers. So I downloaded x362ce. It's an emulator that'll wrap the inputs from the wheel to an XBox controller. It works! Not a distributable solution, but it doesn't need to be in this case...but that's OK!!

Well, getting back to work on this traffic sim for a VDOT project. I'll get back to the game soon!

Wednesday, October 29, 2014

Speed bump!

So, I'm going to do a video series on that follows this game's progress from start to end. Yeah, I'll basically remake the entire game from start to finish again. Why? Well, because that's where I started with this process. I posted this: Cradle to Grave on the UE4 forums a while back. The thread had some good conversation started, but it got buried and eventually forgotten. I think some folks out there may benefit from a video series that follows the entire process.
BUT FIRST...I have a project at my real job that requires some research in UE4. It involves C++ (ewwwww!). Coding is the devil. Well, at least, to me...since I can't code any better than a slug.
The current goal is to get a Logitech G27  steering wheel working for a driving simulator we're working on (non-game...highway study stuff). So far, so good. Thanks to Kablammyman on the UE4 forums for some guidance and code: G27 thread on UE4 Forums
I'm used to starting a project for blueprints and this one is using a C++ template, so I'm still a little lost.
Anyway, the point is, the video series will have to wait until I get over this speed bump.

Tuesday, October 28, 2014

A Breakthrough!

With the help of Rama, I was able to overcome the technical issue with removing the child widgets from the main widget on the Level Select Menu! there was some weirdness when I tried to add a reference to the widget. It only worked if I promoted the variable from the create widget
See that  TestGridUIConnect variable? Yeah, it would not work if I just created it from my blueprint panel (you know, the +V icon). Weird, huh?
Anyway, thanks goes to Rama for the help on this one!

Onto the next issue: iOS!

Monday, October 27, 2014

Technical woes

Not all is rosy in maze land. There are technical hurdles to still get over. UMG is a wonderful thing...makes Menu and HUD stuff easy for most folks. But there are issues I'm having with it...one cosmetic, one functional:
On the functional side, I can't seem to remove my level select widget (it is on the answer hub).
The cosmetic one is this: my level select menu is generated using a vertical scroll box. I'd rather use a grid.

The rest of the stuff left to complete is a bit more simple: make the player stop when the end tile is reached (currently, you keep going through momentum) and make it interesting when the play spawns. There's always the sound thing too, but I'm not as worried about that stuff yet.

Menus...we need menus!

I have set up the following menus:
Main Menu (Play, Options, Quit)
Level Select Menu (displays the levels in the game. Level 1 is unlocked by default. It's the only one you can play at the beginning! Once complete, the level number will turn green and the next level number will turn white -signifying complete and unlocked, respectively - Locked levels remain grey's out.)
-Options (Will probably only have audio options and custom textures for the Pawn)
Level Start Menu - this pops up when a level is loaded. It reports the best time for the level, as well as the level name. It has a [return to] Main Menu button and a Begin button...guess what those do?
-Begin - will start the level. This adds the timer and pause button to the level. The timer counts up (gets the time from the Pawn).
Pause Menu - pauses the game. You can Resume or [return to] Main Menu
End of Level Menu - displays your time, the best time and a message based on whether you beat it or not. You can Replay the level, go to the Next Level, or return to the Main Menu

Here's some screen shots of the menus...in no particular order. (Note: the Level Select Menu is NOT exactly how I want it to work...but it works for now)

Comments and questions welcomed!





the PAWN

Alright. Here's my Pawn. I made a call here that I'm not sure of, but it's made and it works (so far). I know a lot of people would probably put all this on the Controller instead of the Pawn. But this works...
So, a little explanation: On Begin Play, We check on a saved game and load the info if there is one. We crate a saved game if there is not. The variables in my saved game are: LevelName(name), LevelComplete(bool), LevelUnlocked(bool), BestTime(int) and LevelIndex(int). They are all arrays. So all that info is loaded when the level starts.
Ball Control just sets the direction and speeds (public variable). This was made before the rolling template, by the way.
The Level Complete custom event stops the timer and adds the Level Complete menu.
The Start Game event is called from a UMG widget (menu) that starts each level. That menu displays level name and current best time. When the player clicks "Begin", the timer starts (after a little animation).
When the timer starts, the level is played. When that End Tile is hit, the Level Complete event fires and sets the level to end. This stops the timer and then takes the current level time and compares it to the stored best time. If you beat that time, it updates the saved game. We also set the level to complete and unlock the next level. Then the Level Complete menu pops up.

I'll do more on menus later. But this is really all of the actual game play function right here. It's VERY simple...and pretty fun (if I do say so myself!)

Questions and comments are welcome!

Some logic

Like I said, I'm no programmer...not a coder anyways. Some have said that Blueprints ARE coding...just visually.
I like things simple. This is especially true for my first game. Besides the play and menu system, there's really only 3 Blueprints for each level: The Gate, the Button and the End Tile.
The Gate allows the level designer to choose rotation amount and direction of the gate, as well as gate type (3 types currently) and color. So the Gate BP event is called from the Button. It just rotates the Gate to the set rotation.

The Button is also very simple. It takes the overlap event and (1) calls the Trigger The Gate function in the Gate BP, and (2) pushes down a little when you roll on top of it.

The End Tile takes the overlap event and calls an event on the Pawn that does a lot of other stuff (later). There's an animation associated with it too, when the level begins (not sure I like it though), but most importantly, it sets the Level Index variable. This index is used for save/load game, getting the right "best time" for each level and making sure to record the correct index's LevelCompelte and LevelUnlocked values, and the menu system. More on that later!



The Look

So, to start with, if you haven't noticed, I'm posting a bit of info on day 1 of this blog. That's because I just decided to start it. I've actually been working on the game for a while now. In fact, it's pretty much done. I just need to work out a few issues and stuff. But I wanted to keep a blog of progress. So I'm spending this initial time catching everything up on the blog.

When I post something, if you see something wrong, correct me! If you have a suggestion, make it! If you have a question, ask it!

I went through a few iteration of a look for this game. I finally started focusing on this neon look...or Tron-ish look. Let me know what you think!
This is a simple (but not the most simple) level. It consists of 3 different colored gates, with associated colored buttons. The goal is to make it to the end square (solid one). You have to press the buttons to switch the gates to get to the other buttons, etc...so you can complete the maze.
Whatcha think?

UE4 - the engine of choice for guys like me

I'll be using Epics UE4 engine for this game. Why? Because I can't code. UE4's blueprints are the perfect way for guys like me to make things work without knowing code! Yay Epic!
I used UDK a lot, so when Epic was developing UE4, I was able to get into the beta testing phase. Through that experience, Epic was kind enough to grant a time-limited license to use UE4! Of course, it isn't expensive anyway, but free is always best!

Where to Start

First things first: I'm an artist, not a programmer. But I want to make a game...and easy game that anyone can play. Maybe something that is just a time waster but offers a little exercise on the old noggin. So, I am making this little maze game. A casual maze game for everyone. There's a twist, though. These mazes change! Yup, the maze re-configures itself as you move along. You'll see.