Jump to content

Need help coming up with ideas for a Senior Project course

HunterAP
Go to solution Solved by HunterAP,
On 1/13/2018 at 9:15 PM, fpo said:

5000 limit, or 5000 at least? 

Also for your game-No... You have no game making experience. You are wayyyy to ambitious. For a cumulative 5k lines of code for a game you should really have some work under your belt designing games before you blow all your time making nothing. 

I've been doing what I can to start the creation of the game, and even though I do have experience in coding and using blueprints in Unreal Engine, I know that this project idea I have would be too hard to do with all the other course work I have, and because I'm a perfectionist when it comes to things I'm passionate about, I definitely won't get it to where I want in time.

 

That being said, I've been thinking of switching my idea to something automation related, like a program that can do multiple things for you than doing those things by hand, although I'm not sure what I want to try to automate.

This spring is my last semester at college for my Computer Science degree, and the final course we all take is called Senior Project. The idea is that we have to develop a program from scratch in any object-oriented language with a length of 5000 lines of personal code. I am allowed to use 3rd party libraries for whatever language I choose to work in, so long as I end up writing 5000 lines of code myself using those libraries.

 

The issue for me is that I can't think of anything that I'd like to do that is long enough or a good enough idea. My current idea is to create a game in Unreal Engine 4 with C and C++, but that would be a big project that I don't think I can make time for.

 

The othe idea I have (and actually want to develop on my own anyways) is a distributed computing system able to work on multiple operating systems (Windows, Linux, even Android) where users can create tasks for their distributed systems, or share them with other users to use in their own systems. This is also a huge project that I don't think I'll have time to finish by the end of the semester.

 

If anyone has any good brainstorming ideas, or resources to help, please let me know!

 

Also, these are the languages that I'm comfortable enough with to work on:

C/C++, Java, Python, and JavaScript.

 

Thanks again for any help.

Link to comment
Share on other sites

Link to post
Share on other sites

I'm thinking another SSH/SFTP client like PuTTY or Bitvise. But idk if that's 5000 lines of code.

 

Or another JDownloader of some sorts.

Your resident osu! player, destroyer of keyboards.

Link to comment
Share on other sites

Link to post
Share on other sites

A line limit really?

 

What languages do you currently know that might us have better suggestions 

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, HunterAP said:

Also, these are the languages that I'm comfortable enough with to work on:

C/C++, Java, Python, and JavaScript.

If you're interested in `IoT` (Internet of Things) you could take a look at Crossbar.io.

 

For example: I made a web app + API (with Laravel) for managing timer schedules and a LED strip controller hooked to a Raspberry PI running NodeJS.

 

Crossbar.io allows me to publish events to my LED strip controller, so when I update a schedule which is currently running it reloads it from my API. Or I can call a remote procedure registered by the LED strip controller script to load another schedule. 

CPU: i7-12700KF Grill Plate Edition // MOBO: Asus Z690-PLUS WIFI D4 // RAM: 16GB G.Skill Trident Z 3200MHz CL14 

GPU: MSI GTX 1080 FE // PSU: Corsair RM750i // CASE: Thermaltake Core X71 // BOOT: Samsung Evo 960 500GB

STORAGE: WD PC SN530 512GB + Samsung Evo 860 500GB // COOLING: Full custom loop // DISPLAY: LG 34UC89G-B

Link to comment
Share on other sites

Link to post
Share on other sites

Have you considered video conferencing program?A robot that can move (receive input from wifi or bluetooth), record and stream live footage from it's camera and microphone would be amazing.

Link to comment
Share on other sites

Link to post
Share on other sites

I personally would recommend on doing a minimal 2D game, thus wasting as little time as possible on creating assets that don't count towards the line count requirement.

 

5000 lines should be no problem and easily reachable - especially if you got a functional base game made that can be extended with a feature or two.

Link to comment
Share on other sites

Link to post
Share on other sites

18 hours ago, vorticalbox said:

A line limit really?

 

What languages do you currently know that might us have better suggestions 

OP was updated to include the languages that I know well enough to do this project with. And yeah, the line limit is an outdated way to measure the "size" of a project, but there are other more specific requirements that go alongside that.

 

20 hours ago, FPSwithaWacomTablet said:

I'm thinking another SSH/SFTP client like PuTTY or Bitvise. But idk if that's 5000 lines of code.

 

Or another JDownloader of some sorts.

I've actually never written a browser extension, but I could always try, or even make a program that handles the download management stuff externally. Putty and SSH/SFTP clients might be too small, but I can use those ideas within something else. Thank you for the ideas!

 

17 hours ago, Limecat86 said:

If you're interested in `IoT` (Internet of Things) you could take a look at Crossbar.io.

 

For example: I made a web app + API (with Laravel) for managing timer schedules and a LED strip controller hooked to a Raspberry PI running NodeJS.

 

Crossbar.io allows me to publish events to my LED strip controller, so when I update a schedule which is currently running it reloads it from my API. Or I can call a remote procedure registered by the LED strip controller script to load another schedule. 

That actually seems very doable, although I'll probably try it with something besides an R-Pi and LED strips. Don't know what I could do, but this is definitely something I can implement, thank you!

12 hours ago, MyName13 said:

Have you considered video conferencing program?A robot that can move (receive input from wifi or bluetooth), record and stream live footage from it's camera and microphone would be amazing.

I think I can handle the the video encoding and networking aspect of it, but I don't think I'll be able to do the robotics part lol. I do have experience with stuff like ffmpeg if I decide to use that for video capture, then handle the networking stuff personally. Thank you!

6 hours ago, Nutler said:

I personally would recommend on doing a minimal 2D game, thus wasting as little time as possible on creating assets that don't count towards the line count requirement.

 

5000 lines should be no problem and easily reachable - especially if you got a functional base game made that can be extended with a feature or two.

I was trying to think of a game I could do in 2D that would be appealing to me (so I can have the motivation to work on it, besides the need to pass the course), but I can't think of anything for 2D games.

My current idea for a game was something like a mix of Dragon Age, Pillars of Eternity/Divinity: Original Sin, For Honor, and Dark Souls all in one, but that's why it would be really hard to implement. I can definitely scale it down ot not really have much content, but have all the mechanics in place (and maybe use some free assets on line or something). Thanks for the suggestion!

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, HunterAP said:

I think I can handle the the video encoding and networking aspect of it, but I don't think I'll be able to do the robotics part lol. I do have experience with stuff like ffmpeg if I decide to use that for video capture, then handle the networking stuff personally. Thank you!

I've wanted to work on the same project but I have no idea where to start, so far I've found ffmpeg and gstreamer, how did you get started with ffmpeg?The documentation is pretty bad (there are no tutorials, just API reference that's difficult to find).How would you handle the networking?

Link to comment
Share on other sites

Link to post
Share on other sites

14 minutes ago, MyName13 said:

I've wanted to work on the same project but I have no idea where to start, so far I've found ffmpeg and gstreamer, how did you get started with ffmpeg?The documentation is pretty bad (there are no tutorials, just API reference that's difficult to find).How would you handle the networking?

Well, their API is written so you can use it in C (and therefore C++, and even Python with the Cython module), so you can import those API's into the program and use their included commands. What I plan to do is have each connected device run an instance of ffserver (the ffmpeg server application that you can use) to handle the networking aspect (sending and receiving both video and video), while local instances of ffmpeg will handle the actual recording and playback. The issue will be syncing the audio and video from one device, and making sure it stays synced when it arrives at other devices. Then there's also security, compression/quality, and at that point I should also add a text chat (something similar to Discord's chat being able to store all the sent messages, but without a server between them).

 

You can look at the API examples on this site, and the documentation for most of the commands for ffmpeg and all it's other stuff is found here. Good luck, mate!

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, HunterAP said:

Well, their API is written so you can use it in C (and therefore C++, and even Python with the Cython module), so you can import those API's into the program and use their included commands. What I plan to do is have each connected device run an instance of ffserver (the ffmpeg server application that you can use) to handle the networking aspect (sending and receiving both video and video), while local instances of ffmpeg will handle the actual recording and playback. The issue will be syncing the audio and video from one device, and making sure it stays synced when it arrives at other devices. Then there's also security, compression/quality, and at that point I should also add a text chat (something similar to Discord's chat being able to store all the sent messages, but without a server between them).

 

You can look at the API examples on this site, and the documentation for most of the commands for ffmpeg and all it's other stuff is found here. Good luck, mate!

Ok, I'm lost in that documentation, it's just a reference and they don't mention how to use that with C, why do most libraries lack guides for setting up and some basic tutorials (how is anyone even supposed to learn it)?Which library should be used for live encoding?To make things even worse all of these libraries documentation have nothing in them.

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, MyName13 said:

Ok, I'm lost in that documentation, it's just a reference and they don't mention how to use that with C, why do most libraries lack guides for setting up and some basic tutorials (how is anyone even supposed to learn it)?Which library should be used for live encoding?To make things even worse all of these libraries documentation have nothing in them.

In the first link I gave, there's asection called "modules" which points you in the direction that you want to go. In the case of encoding, you should look at Modules -> Encoding section, which says that you would be using the libavcodec.h header, where more info can be found here. There's also an example for transcoding video (which includes a section about encoding) that can be found in the examples page, titled "transcoding.c", or the other example called "decoding_encoding.c".

Link to comment
Share on other sites

Link to post
Share on other sites

17 hours ago, HunterAP said:

In the first link I gave, there's asection called "modules" which points you in the direction that you want to go. In the case of encoding, you should look at Modules -> Encoding section, which says that you would be using the libavcodec.h header, where more info can be found here. There's also an example for transcoding video (which includes a section about encoding) that can be found in the examples page, titled "transcoding.c", or the other example called "decoding_encoding.c".

I've never used libraries/frameworks that have only API reference, most of them were very beginner friendly.They don't explain most of the things (for example, in some encoding program, they don't even mention what is supposed to be encoded, some container or raw video footage).

Link to comment
Share on other sites

Link to post
Share on other sites

So I've decided on making a game in Unreal Engine 4, based on multiple RPG's and following a Dark Souls + For Honor combat system. The combat alone should be a lot of code, so this should work, and I'm passionate enough about this idea that I know I'll work well on it. If worse comes to worst, I'll do something that was suggested here instead. Thanks everybody!

 

On 1/4/2018 at 6:41 AM, MyName13 said:

I've never used libraries/frameworks that have only API reference, most of them were very beginner friendly.They don't explain most of the things (for example, in some encoding program, they don't even mention what is supposed to be encoded, some container or raw video footage).

You might want to make a separate thread to ask for help on this, I'm not the most experienced ffmpeg user out there.

Link to comment
Share on other sites

Link to post
Share on other sites

Make a really good ray tracer or real time opengl renderer/game. The ray tracer I made in about a week is probably around 1000 to 3000 lines of code so if you make it really good with support for all the visually cool effects it should hit the requirement even if the requirement is stupid. Especially if you like functional programming and have a couple of one line functions... Still graphics stuff tend to make it easy to make something "impressive".

 

Edit: Oh you already decided to make a game in UE4, not a bad choice although that'll require more more artwork (models/textures) than something where the main focus is the program itself.

Link to comment
Share on other sites

Link to post
Share on other sites

Build an AI. You know, like one of those chat bots you often see online. I personally have no intention of waiting until my senior years to start building things. The summer after my freshmen year, I had already built and published several android apps on playstore. It is always nice to work on something using what you learn outside the classroom. 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

5000 limit, or 5000 at least? 

Also for your game-No... You have no game making experience. You are wayyyy to ambitious. For a cumulative 5k lines of code for a game you should really have some work under your belt designing games before you blow all your time making nothing. 

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/13/2018 at 9:15 PM, fpo said:

5000 limit, or 5000 at least? 

Also for your game-No... You have no game making experience. You are wayyyy to ambitious. For a cumulative 5k lines of code for a game you should really have some work under your belt designing games before you blow all your time making nothing. 

I've been doing what I can to start the creation of the game, and even though I do have experience in coding and using blueprints in Unreal Engine, I know that this project idea I have would be too hard to do with all the other course work I have, and because I'm a perfectionist when it comes to things I'm passionate about, I definitely won't get it to where I want in time.

 

That being said, I've been thinking of switching my idea to something automation related, like a program that can do multiple things for you than doing those things by hand, although I'm not sure what I want to try to automate.

Link to comment
Share on other sites

Link to post
Share on other sites

Automate a virus scanner. 

Unless it’s too simple. Then make a chat bot. 

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, fpo said:

Automate a virus scanner. 

Unless it’s too simple. Then make a chat bot. 

5000 lines of code for that?

Link to comment
Share on other sites

Link to post
Share on other sites

For my last year at uni project I created a databases management tool which allowed backups and tracking of databases as well as publishing database code to tutors etc.

 

Maybe do some form of management tool to which you see something that you feel technology could improve.

 

if you wanted to pad out the amount of code you need to write you could always take a TDD approach which should count to the line count as well as doing regression testing.

Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, HunterAP said:

I've been doing what I can to start the creation of the game, and even though I do have experience in coding and using blueprints in Unreal Engine, I know that this project idea I have would be too hard to do with all the other course work I have, and because I'm a perfectionist when it comes to things I'm passionate about, I definitely won't get it to where I want in time.

 

That being said, I've been thinking of switching my idea to something automation related, like a program that can do multiple things for you than doing those things by hand, although I'm not sure what I want to try to automate.

Do a program that will search for key words on job boards like indeed.com and and then hunt down the emails and automatically send a resume if the keywords match. I plan to do that as my senior project. I will be job hunting by then so I will be killing two birds with one stone. Hahahahaha

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

19 hours ago, MyName13 said:

5000 lines of code for that?

Deleted by fpo. 

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/6/2018 at 2:18 AM, HunterAP said:

If worse comes to worst, I'll do something that was suggested here instead. Thanks everybody!

If you want to cop out, you could always write a platformer with simple mechaincs, but make it fun by making it play itself.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

11 hours ago, fpo said:

idk, I'm not an expert in these types of applications. 

And yet you suggested him that 9_9

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, MyName13 said:

And yet you suggested him that 9_9

Deleted by fpo

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×